Skip to content

NoSuchElementException #5042

@sir-wabbit

Description

@sir-wabbit

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions