question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Infinite loop during typing match types

See original GitHub issue

Compiler version

3.0.1

Reproducer

Try to compile code from this commit:

https://github.com/sirthias/parboiled2/commit/3cc460f0bfc05eb8683036b4deca8e11355391c3

with parboiledCoreJVM/Test/compile runs into an infinite loop.

Expectation

There’s probably some error here leading to the infinite loop but it’s hard to debug without any error message. The documentation seems to imply that these situations are caught and somehow handled but that doesn’t seem to be the case here.

I can try to minimize further if needed.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
griggtcommented, Sep 15, 2021

Here’s a self-contained reproducer:

object Test:
  summon[TailSwitch[Nothing, HNil, HNil]]

sealed trait HList
sealed trait HNil extends HList
case object HNil extends HNil
final case class ::[+H, +T <: HList](head: H, tail: T) extends HList

sealed trait TailSwitch[L <: HList, T <: HList, R <: HList]:
  type Out <: HList

object TailSwitch:
  implicit def tailSwitch[L <: HList, T <: HList, R <: HList]
      : TailSwitch[L, T, R] { type Out = TailSwitch0[L, L, T, T, R, HNil] } = ???

  type Reverse0[Acc <: HList, L <: HList] <: HList = L match
    case HNil     => Acc
    case ::[h, t] => Reverse0[h :: Acc, t]

  type Reverse1[L <: HList] <: HList = L match
    case HNil     => HNil
    case ::[h, t] => Reverse0[h :: HNil, t]

  type Prepend0[A <: HList, B <: HList] <: HList = A match
    case HNil     => B
    case ::[h, t] => ::[h, Prepend0[t, B]]

  type TailSwitch0[L <: HList, LI <: HList, T <: HList, TI <: HList, R <: HList, RI <: HList] <: HList = TI match
    case L => R
    case _ =>
      LI match
        case T => Prepend0[Reverse1[RI], R]
        case HNil =>
          TI match
            case ::[_, t] => TailSwitch0[L, HNil, T, t, R, RI]
        case ::[h, t] =>
          TI match
            case HNil      => TailSwitch0[L, t, T, HNil, R, h :: RI]
            case ::[_, tt] => TailSwitch0[L, t, T, tt, R, h :: RI]

and a stack trace while it was running with 3.0.2:

	at dotty.tools.dotc.core.OrderingConstraint.entry(OrderingConstraint.scala:148)
	at dotty.tools.dotc.core.Types$MatchType.contextInfo$1(Types.scala:4674)
	at dotty.tools.dotc.core.Types$MatchType.updateReductionContext$1$$anonfun$1(Types.scala:4686)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$661/1196200241.applyVoid(Unknown Source)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
	at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
	at scala.collection.mutable.HashSet$Node.foreach(HashSet.scala:435)
	at scala.collection.mutable.HashSet.foreach(HashSet.scala:361)
	at dotty.tools.dotc.core.Types$MatchType.updateReductionContext$2(Types.scala:4686)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4710)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:145)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCases(TypeComparer.scala:2926)
	at dotty.tools.dotc.core.Types$MatchType.liftedTree1$2(Types.scala:4706)
	at dotty.tools.dotc.core.Types$MatchType.matchCases$1(Types.scala:4711)
	at dotty.tools.dotc.core.Types$MatchType.reduced$$anonfun$1(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType$$Lambda$659/1512822728.apply(Unknown Source)
	at dotty.tools.dotc.core.TypeComparer.inSubComparer(TypeComparer.scala:2637)
	at dotty.tools.dotc.core.TypeComparer.tracked(TypeComparer.scala:2647)
	at dotty.tools.dotc.core.TypeComparer$.tracked(TypeComparer.scala:2800)
	at dotty.tools.dotc.core.Types$MatchType.reduced(Types.scala:4715)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$2$$anonfun$1(Types.scala:4146)
	at dotty.tools.dotc.core.Types$AppliedType$$Lambda$672/1878454236.apply(Unknown Source)
	at dotty.tools.dotc.core.MatchTypeTrace$.recurseWith(MatchTypeTrace.scala:76)
	at dotty.tools.dotc.core.Types$AppliedType.tryMatchAlias$1(Types.scala:4147)
	at dotty.tools.dotc.core.Types$AppliedType.tryNormalize(Types.scala:4152)
	at dotty.tools.dotc.core.Types$Type.normalized(Types.scala:1399)
	at dotty.tools.dotc.core.Types$MatchType.tryNormalize(Types.scala:4664)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:169)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.mapArgs$1(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:146)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda(Types.scala:5375)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5400)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:178)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at dotty.tools.dotc.core.TypeOps$SimplifyMap.apply(TypeOps.scala:183)
	at scala.collection.immutable.List.mapConserve(List.scala:472)
	at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:5466)
	at dotty.tools.dotc.core.TypeOps$.mapOver$1(TypeOps.scala:129)
	at dotty.tools.dotc.core.TypeOps$.simplify(TypeOps.scala:170)
	at dotty.tools.dotc.core.Types$Type.simplified(Types.scala:1866)
	at dotty.tools.dotc.core.TrackingTypeComparer.matchCase$1(TypeComparer.scala:2882)
	at dotty.tools.dotc.core.TrackingTypeComparer.recur$1(TypeComparer.scala:2897)
	at dotty.tools.dotc.core.TrackingTypeComparer.op$proxy62$1(TypeComparer.scala:2925)
0reactions
smartercommented, Dec 21, 2021

The good news is that since #12768 was merged to master yesterday, the above reproducer no longer hangs.

I assume this can be closed then?

Read more comments on GitHub >

github_iconTop Results From Across the Web

Match Types - Scala 3 - EPFL
Match type definitions can be recursive, which means that it's possible to run into an infinite loop while reducing match types.
Read more >
Infinite loop with cin when typing string while a number is ...
When we use cin , if the input is not a number, then are there ways to detect this to avoid abovementioned problems?...
Read more >
Match Types in Dotty | by Knoldus Inc. - Medium
Match types can also detect infinite loop if it is defined as an endless recursion. The compiler internally detects it by stack overflows....
Read more >
Top 4 Types of Statements in Python Infinite Loop - eduCBA
A few types of Infinite Loop in Python include the While statement, the If statement, the Continue statement, and the Break statement.
Read more >
Match Types in Scala 3 - Baeldung
Recursive Match Types. Since match types can be recursive, there's nothing preventing us from writing an infinite loop. Luckily, the Scala ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found