Skip to content

Regression in katrix/perspective (stack overflow with match types) #16706

Closed
@jchyb

Description

@jchyb

Community-build

Compiler version

3.2.2-RC2 (but stopped compiling somewhere between 3.2.0 and 3.2.1)

Minimized code

import scala.deriving.Mirror
import scala.reflect.ClassTag

type TupleUnionLub[T <: Tuple, Lub, Acc <: Lub] <: Lub = T match {
  case (h & Lub) *: t => TupleUnionLub[t, Lub, Acc | h]
  case EmptyTuple     => Acc
}

transparent inline given derived[A](
    using m: Mirror.SumOf[A],
    idClassTag: ClassTag[TupleUnionLub[m.MirroredElemTypes, A, Nothing]]
): Unit = ()

sealed trait Foo
case class FooA(a: Int) extends Foo

val instance = derived[Foo]

Output (click arrow to expand)

Exception in thread "main" java.lang.StackOverflowError
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:17)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)
        at dotty.tools.dotc.core.Substituters$SubstBindingMap.apply(Substituters.scala:167)
        at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5674)
        at dotty.tools.dotc.core.Substituters$.subst(Substituters.scala:25)

Expected outcome

Should compile like it did in 3.2.0

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions