Skip to content

Commit 123a11d

Browse files
committed
Improvements to tuples: Drop experimental
1 parent 97f3799 commit 123a11d

File tree

3 files changed

+1
-15
lines changed

3 files changed

+1
-15
lines changed

library/src/scala/Tuple.scala

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package scala
22

3-
import annotation.{experimental, showAsInfix}
3+
import annotation.showAsInfix
44
import compiletime.*
55
import compiletime.ops.int.*
66

@@ -65,7 +65,6 @@ sealed trait Tuple extends Product {
6565
inline def take[This >: this.type <: Tuple](n: Int): Take[This, n.type] =
6666
runtime.Tuples.take(this, n).asInstanceOf[Take[This, n.type]]
6767

68-
6968
/** Given a tuple `(a1, ..., am)`, returns the tuple `(an+1, ..., am)` consisting
7069
* all its elements except the first n ones.
7170
*/
@@ -82,7 +81,6 @@ sealed trait Tuple extends Product {
8281
/** Given a tuple `(a1, ..., am)`, returns the reversed tuple `(am, ..., a1)`
8382
* consisting all its elements.
8483
*/
85-
@experimental
8684
inline def reverse[This >: this.type <: Tuple]: Reverse[This] =
8785
runtime.Tuples.reverse(this).asInstanceOf[Reverse[This]]
8886
}
@@ -201,14 +199,11 @@ object Tuple {
201199
type IsMappedBy[F[_]] = [X <: Tuple] =>> X =:= Map[InverseMap[X, F], F]
202200

203201
/** Type of the reversed tuple */
204-
@experimental
205202
type Reverse[X <: Tuple] = Helpers.ReverseImpl[EmptyTuple, X]
206203

207-
@experimental
208204
object Helpers:
209205

210206
/** Type of the reversed tuple */
211-
@experimental
212207
type ReverseImpl[Acc <: Tuple, X <: Tuple] <: Tuple = X match
213208
case x *: xs => ReverseImpl[x *: Acc, xs]
214209
case EmptyTuple => Acc

library/src/scala/runtime/Tuples.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,7 +505,6 @@ object Tuples {
505505
}
506506
}
507507

508-
@experimental
509508
def reverse(self: Tuple): Tuple = (self: Any) match {
510509
case xxl: TupleXXL => xxlReverse(xxl)
511510
case _ => specialCaseReverse(self)

tests/run-tasty-inspector/stdlibExperimentalDefinitions.scala

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,14 +90,6 @@ val experimentalDefinitionInLibrary = Set(
9090
"scala.quoted.Quotes.reflectModule.MethodTypeMethods.hasErasedParams",
9191
"scala.quoted.Quotes.reflectModule.TermParamClauseMethods.erasedArgs",
9292
"scala.quoted.Quotes.reflectModule.TermParamClauseMethods.hasErasedArgs",
93-
94-
// New feature: reverse method on Tuple
95-
"scala.Tuple.reverse",
96-
"scala.Tuple$.Helpers",
97-
"scala.Tuple$.Helpers$",
98-
"scala.Tuple$.Helpers$.ReverseImpl",
99-
"scala.Tuple$.Reverse",
100-
"scala.runtime.Tuples$.reverse"
10193
)
10294

10395

0 commit comments

Comments
 (0)