We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 133e709 commit 5d0c47aCopy full SHA for 5d0c47a
compiler/src/dotty/tools/dotc/typer/Synthesizer.scala
@@ -379,7 +379,7 @@ class Synthesizer(typer: Typer)(using @constructorOnly c: Context):
379
// avoid type aliases for tuples
380
Right(MirrorSource.GenericTuple(types))
381
case _ => reduce(tp.underlying)
382
- case tp: MatchType => reduce(tp.normalized)
+ case tp: MatchType => reduce(tp.tryNormalize.orElse(tp.superType))
383
case _ => reduce(tp.superType)
384
case tp @ AndType(l, r) =>
385
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