-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Closed
Labels
Description
Here is a more sophisticated crash:
trait I0 {
type I1[_, _]
type I2[_]
type I3[_]
trait I4 { type I5 = I1[I2[Int], I3[Int]] }
val I6: I4
val I7 = new I0 {
type I1[i8] = Int
val I6 = new { def i9[I1[_]](i10: I1[Int]): I1[I5] = i10 }
}
}
Exception in thread "main" java.util.NoSuchElementException: head of empty list
at scala.collection.immutable.Nil$.head(List.scala:428)
at scala.collection.immutable.Nil$.head(List.scala:425)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4435)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4442)
at dotty.tools.dotc.core.Types$$anon$5.apply(Types.scala:2867)
at dotty.tools.dotc.core.Types$$anon$5.apply(Types.scala:2862)
at dotty.tools.dotc.core.Types$$anon$5.apply(Types.scala:2853)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldArgs$1(Types.scala:4438)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4442)
at dotty.tools.dotc.core.Types$$anon$5.apply(Types.scala:2867)
at dotty.tools.dotc.core.Types$$anon$5.apply(Types.scala:2853)
at dotty.tools.dotc.core.Types$TypeAccumulator.foldOver(Types.scala:4450)
at dotty.tools.dotc.core.Types$$anon$5.apply(Types.scala:2867)
at dotty.tools.dotc.core.Types$$anon$5.apply(Types.scala:2853)
at dotty.tools.dotc.core.Types$TermLambda.dotty$tools$dotc$core$Types$TermLambda$$depStatus(Types.scala:2870)
at dotty.tools.dotc.core.Types$TermLambda.dependencyStatus(Types.scala:2884)
at dotty.tools.dotc.core.Types$TermLambda.resultType(Types.scala:2827)
at dotty.tools.dotc.core.Types$MethodType.resultType(Types.scala:2931)
at dotty.tools.dotc.core.Types$TypeMap.mapOverLambda$1(Types.scala:4084)
at dotty.tools.dotc.core.Types$TypeMap.mapOver(Types.scala:4086)
at dotty.tools.dotc.core.Substituters.subst(Substituters.scala:21)
at dotty.tools.dotc.core.Types$Type.subst(Types.scala:1355)
at dotty.tools.dotc.transform.FullParameterization.fullyParameterizedType$$anonfun$2(FullParameterization.scala:129)
at dotty.tools.dotc.core.Types$PolyType.<init>(Types.scala:3127)
at dotty.tools.dotc.core.Types$PolyType$.apply(Types.scala:3196)
at dotty.tools.dotc.transform.FullParameterization.fullyParameterizedType(FullParameterization.scala:129)
at dotty.tools.dotc.transform.TailRec.mkLabel(TailRec.scala:93)
at dotty.tools.dotc.transform.TailRec.transformDefDef(TailRec.scala:107)
at dotty.tools.dotc.transform.MegaPhase.goDefDef(MegaPhase.scala:892)
at dotty.tools.dotc.transform.MegaPhase.goDefDef(MegaPhase.scala:893)
at dotty.tools.dotc.transform.MegaPhase.goDefDef(MegaPhase.scala:893)
at dotty.tools.dotc.transform.MegaPhase.goDefDef(MegaPhase.scala:893)
at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:247)
at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:380)
at dotty.tools.dotc.transform.MegaPhase.transformStat$2(MegaPhase.scala:389)
at dotty.tools.dotc.transform.MegaPhase.$anonfun$1(MegaPhase.scala:394)
NSEE-d80fd1aafed9bbbd31b90a5ad3189cf20ce4aef8