We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 997103d commit 1ec17f6Copy full SHA for 1ec17f6
compiler/src/dotty/tools/dotc/inlines/Inlines.scala
@@ -441,6 +441,9 @@ object Inlines:
441
unrollTupleTypes(tail).map(head :: _)
442
case tpe: TermRef if tpe.symbol == defn.EmptyTupleModule =>
443
Some(Nil)
444
+ case tpRef: TypeRef => tpRef.info match
445
+ case MatchAlias(alias) => unrollTupleTypes(alias.tryNormalize)
446
+ case _ => None
447
case _ =>
448
None
449
tests/pos/i19385.scala
@@ -0,0 +1,8 @@
1
+import scala.compiletime.summonAll
2
+
3
+inline def f[M <: Tuple]: Unit =
4
+ type Alias = Tuple.Map[M, [X] =>> Numeric[X]]
5
+ summonAll[Tuple.Map[M, [X] =>> Numeric[X]]] // compiles
6
+ summonAll[Alias] // error: Tuple element types must be known at compile time
7
8
+val y1 = f[(Int, Int)]
0 commit comments