1
1
package scala
2
2
3
- import annotation .{ experimental , showAsInfix }
3
+ import annotation .showAsInfix
4
4
import compiletime ._
5
5
import compiletime .ops .int ._
6
6
@@ -22,7 +22,6 @@ sealed trait Tuple extends Product {
22
22
runtime.Tuples .toIArray(this )
23
23
24
24
/** Return a copy of `this` tuple with an element appended */
25
- @ experimental
26
25
inline def :* [This >: this .type <: Tuple , L ] (x : L ): Append [This , L ] =
27
26
runtime.Tuples .append(x, this ).asInstanceOf [Append [This , L ]]
28
27
@@ -84,7 +83,6 @@ sealed trait Tuple extends Product {
84
83
object Tuple {
85
84
86
85
/** Type of a tuple with an element appended */
87
- @ experimental
88
86
type Append [X <: Tuple , Y ] <: Tuple = X match {
89
87
case EmptyTuple => Y *: EmptyTuple
90
88
case x *: xs => x *: Append [xs, Y ]
@@ -96,7 +94,6 @@ object Tuple {
96
94
}
97
95
98
96
/** Type of the initial part of the tuple without its last element */
99
- @ experimental
100
97
type Init [X <: Tuple ] <: Tuple = X match {
101
98
case _ *: EmptyTuple => EmptyTuple
102
99
case x *: xs =>
@@ -109,7 +106,6 @@ object Tuple {
109
106
}
110
107
111
108
/** Type of the last element of a tuple */
112
- @ experimental
113
109
type Last [X <: Tuple ] = X match {
114
110
case x *: EmptyTuple => x
115
111
case _ *: xs => Last [xs]
@@ -289,12 +285,10 @@ sealed trait NonEmptyTuple extends Tuple {
289
285
runtime.Tuples .apply(this , 0 ).asInstanceOf [Head [This ]]
290
286
291
287
/** Get the initial part of the tuple without its last element */
292
- @ experimental
293
288
inline def init [This >: this .type <: NonEmptyTuple ]: Init [This ] =
294
289
runtime.Tuples .init(this ).asInstanceOf [Init [This ]]
295
290
296
291
/** Get the last of this tuple */
297
- @ experimental
298
292
inline def last [This >: this .type <: NonEmptyTuple ]: Last [This ] =
299
293
runtime.Tuples .last(this ).asInstanceOf [Last [This ]]
300
294
0 commit comments