Skip to content

Nil$.head in backend #4248

Closed
Closed
@sir-wabbit

Description

@sir-wabbit
class Foo[U](val u: Array[Int] & Array[U]) {
  val x = u(0)
}
object App {
  def main(args: Array[String]): Unit = {
    val a = new Foo[Int](Array(0, 1))
    println(a.x)
  }
}
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.transform.GenericSignatures$.$anonfun$intersectionDominator$3(GenericSignatures.scala:320)
	at scala.collection.immutable.List.map(List.scala:283)
	at dotty.tools.dotc.transform.GenericSignatures$.intersectionDominator(GenericSignatures.scala:320)
	at dotty.tools.dotc.transform.GenericSignatures$.jsig$1(GenericSignatures.scala:257)
	at dotty.tools.dotc.transform.GenericSignatures$.$anonfun$javaSig0$11(GenericSignatures.scala:251)
	at dotty.tools.dotc.transform.GenericSignatures$.$anonfun$javaSig0$11$adapted(GenericSignatures.scala:250)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at dotty.tools.dotc.transform.GenericSignatures$.jsig$1(GenericSignatures.scala:250)
	at dotty.tools.dotc.transform.GenericSignatures$.javaSig0(GenericSignatures.scala:288)
	at dotty.tools.dotc.transform.GenericSignatures$.javaSig(GenericSignatures.scala:31)
	at dotty.tools.backend.jvm.DottyBackendInterface.getGenericSignature(DottyBackendInterface.scala:570)
	at dotty.tools.backend.jvm.DottyBackendInterface.$anonfun$getGenericSignature$1(DottyBackendInterface.scala:546)
	at dotty.tools.dotc.core.Periods.atPhase(Periods.scala:26)
	at dotty.tools.dotc.core.Phases.atPhase(Phases.scala:36)
	at dotty.tools.dotc.core.Phases.atPhase$(Phases.scala:35)
	at dotty.tools.dotc.core.Contexts$Context.atPhase(Contexts.scala:71)
	at dotty.tools.backend.jvm.DottyBackendInterface.getGenericSignature(DottyBackendInterface.scala:542)
	at dotty.tools.backend.jvm.DottyBackendInterface.getGenericSignature(DottyBackendInterface.scala:42)
	at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.getGenericSignature(BCodeHelpers.scala:314)
	at scala.tools.nsc.backend.jvm.BCodeHelpers$BCJGenSigGen.getGenericSignature$(BCodeHelpers.scala:314)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.getGenericSignature(BCodeSkelBuilder.scala:50)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.initJMethod(BCodeSkelBuilder.scala:519)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:580)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:506)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.$anonfun$gen$1(BCodeSkelBuilder.scala:508)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.$anonfun$gen$1$adapted(BCodeSkelBuilder.scala:508)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:508)
	at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genPlainClass(BCodeSkelBuilder.scala:116)
	at dotty.tools.backend.jvm.GenBCodePipeline$Worker1.visit(GenBCode.scala:229)
	at dotty.tools.backend.jvm.GenBCodePipeline$Worker1.run(GenBCode.scala:172)
	at dotty.tools.backend.jvm.GenBCodePipeline.buildAndSendToDisk(GenBCode.scala:389)
	at dotty.tools.backend.jvm.GenBCodePipeline.run(GenBCode.scala:355)
	at dotty.tools.backend.jvm.GenBCode.run(GenBCode.scala:68)
	at dotty.tools.dotc.core.Phases$Phase.$anonfun$runOn$1(Phases.scala:292)
	at scala.collection.immutable.List.map(List.scala:283)
	at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:290)
	at dotty.tools.dotc.core.Phases$Phase.runOn$(Phases.scala:289)
	at dotty.tools.backend.jvm.GenBCode.runOn(GenBCode.scala:73)
	at dotty.tools.dotc.Run.$anonfun$compileUnits$3(Run.scala:174)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
	at dotty.tools.dotc.util.Stats$.trackTime(Stats.scala:47)
	at dotty.tools.dotc.Run.$anonfun$compileUnits$2(Run.scala:171)
	at dotty.tools.dotc.Run.$anonfun$compileUnits$2$adapted(Run.scala:169)
	at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:32)
	at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:29)
	at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:191)
	at dotty.tools.dotc.Run.runPhases$1(Run.scala:169)
	at dotty.tools.dotc.Run.$anonfun$compileUnits$1(Run.scala:194)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions