Skip to content

Commit 31025ac

Browse files
committed
Remove CC from tuples for now, Map is not compiling
1 parent cab9e68 commit 31025ac

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

library/src/scala/NamedTuple.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ object NamedTuple:
8989
/** The type of the named tuple `X` mapped with the type-level function `F`.
9090
* If `X = (n1 : T1, ..., ni : Ti)` then `Map[X, F] = `(n1 : F[T1], ..., ni : F[Ti])`.
9191
*/
92-
type Map[X <: AnyNamedTuple, F[_]] =
92+
type Map[X <: AnyNamedTuple, F[_ <: Tuple.Union[DropNames[X]]]] =
9393
NamedTuple[Names[X], Tuple.Map[DropNames[X], F]]
9494

9595
/** A named tuple with the elements of tuple `X` in reversed order */

library/src/scala/Tuple.scala

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

3-
import language.experimental.captureChecking
3+
// import language.experimental.captureChecking
44
import annotation.showAsInfix
55
import compiletime.*
66
import compiletime.ops.int.*
@@ -175,13 +175,13 @@ object Tuple {
175175
case h *: t => F[h, Fold[t, Z, F]]
176176

177177
/** Converts a tuple `(T1, ..., Tn)` to `(F[T1], ..., F[Tn])` */
178-
type Map[Tup <: Tuple, F[_]] <: Tuple = Tup match {
178+
type Map[Tup <: Tuple, F <: [_ <: Union[Tup]] =>> Any] <: Tuple = Tup match {
179179
case EmptyTuple => EmptyTuple
180180
case h *: t => F[h] *: Map[t, F]
181181
}
182182

183183
/** Converts a tuple `(T1, ..., Tn)` to a flattened `(..F[T1], ..., ..F[Tn])` */
184-
type FlatMap[Tup <: Tuple, F[_] <: Tuple] <: Tuple = Tup match {
184+
type FlatMap[Tup <: Tuple, F[_ <: Union[Tup]] <: Tuple] <: Tuple = Tup match {
185185
case EmptyTuple => EmptyTuple
186186
case h *: t => Concat[F[h], FlatMap[t, F]]
187187
}
@@ -197,7 +197,7 @@ object Tuple {
197197
* ```
198198
* @syntax markdown
199199
*/
200-
type Filter[Tup <: Tuple, P[_] <: Boolean] <: Tuple = Tup match {
200+
type Filter[Tup <: Tuple, P[_ <: Union[Tup]] <: Boolean] <: Tuple = Tup match {
201201
case EmptyTuple => EmptyTuple
202202
case h *: t => P[h] match {
203203
case true => h *: Filter[t, P]

0 commit comments

Comments
 (0)