Closed
Description
Compiler version
3.4.0-RC1-bin-20231113-0dfe593-NIGHTLY
Minimized code
Minimized code from tests/init/neg/secondary-ctor4
test:
class A
class B {
val a = new A
class C(i: Int) {
def this() = {
this(1)
class Inner() {
println(a)
}
}
}
}
Output
Error: Error while emitting /Users/srodziewicz/Projects/dotty/.scala-build/dotty_3200b05eac-ff28374a87/src_generated/main/xd.scala
assertion failed: Cannot emit primitive conversion from Lxd$_$B$C; to Lxd$_$B;
java.lang.AssertionError: assertion failed: Cannot emit primitive conversion from LB$C; to LB;
at scala.runtime.Scala3RunTime$.assertFailed(Scala3RunTime.scala:8)
at dotty.tools.backend.jvm.BCodeIdiomatic$JCodeMethodN.emitT2T(BCodeIdiomatic.scala:268)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.adapt(BCodeBodyBuilder.scala:1117)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genAdaptAndSendToDest(BCodeBodyBuilder.scala:497)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadTo(BCodeBodyBuilder.scala:492)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:305)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genStat(BCodeBodyBuilder.scala:111)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genBlockTo$$anonfun$1(BCodeBodyBuilder.scala:1095)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:15)
at scala.runtime.function.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.immutable.List.foreach(List.scala:333)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genBlockTo(BCodeBodyBuilder.scala:1095)
at dotty.tools.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadTo(BCodeBodyBuilder.scala:459)
at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.emitNormalMethodBody$1(BCodeSkelBuilder.scala:893)
at dotty.tools.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:916)
...