Skip to content

Commit 74349e8

Browse files
Add an infix shorthand for Tuple.Append
Addressing #19175
1 parent 4ae5d61 commit 74349e8

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

library/src/scala/Tuple.scala

+5-2
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ sealed trait Tuple extends Product {
2222
runtime.Tuples.toIArray(this)
2323

2424
/** Return a copy of `this` tuple with an element appended */
25-
inline def :* [This >: this.type <: Tuple, L] (x: L): Append[This, L] =
26-
runtime.Tuples.append(x, this).asInstanceOf[Append[This, L]]
25+
inline def :* [This >: this.type <: Tuple, L] (x: L): This :* L =
26+
runtime.Tuples.append(x, this).asInstanceOf[This :* L]
2727

2828
/** Return a new tuple by prepending the element to `this` tuple.
2929
* This operation is O(this.size)
@@ -94,6 +94,9 @@ object Tuple {
9494
case x *: xs => x *: Append[xs, Y]
9595
}
9696

97+
/** An infix shorthand for `Append[X, Y]` */
98+
infix type :*[X <: Tuple, Y] = Append[X, Y]
99+
97100
/** Type of the head of a tuple */
98101
type Head[X <: Tuple] = X match {
99102
case x *: _ => x

0 commit comments

Comments
 (0)