We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent acda88c commit c278af7Copy full SHA for c278af7
compiler/src/dotty/tools/dotc/typer/Synthesizer.scala
@@ -378,7 +378,7 @@ class Synthesizer(typer: Typer)(using @constructorOnly c: Context):
378
// avoid type aliases for tuples
379
Right(MirrorSource.GenericTuple(types))
380
case _ => reduce(tp.underlying)
381
- case tp: MatchType => reduce(tp.normalized)
+ case tp: MatchType => reduce(tp.tryNormalize.orElse(tp.superType))
382
case _ => reduce(tp.superType)
383
case tp @ AndType(l, r) =>
384
for
tests/neg/i19198.scala
@@ -0,0 +1,9 @@
1
+import deriving.Mirror
2
+import compiletime.summonInline
3
+
4
+type DoesNotReduce[T] = T match
5
+ case String => Any
6
7
+class Foo
8
+@main def Test: Unit =
9
+ summonInline[Mirror.Of[DoesNotReduce[Option[Int]]]] // error
0 commit comments