You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The following code crashes the compiler at backend:
package foo {
object A {
inline def f(x: Int) = B.f(x)
}
private[foo] object B {
def f(x: Int) = x * 5
}
}
class Test {
val x = foo.A.f(4)
}
Code generated after frontend:
package <empty> {
package foo {
final lazy module val A: foo.A$ = new foo.A$()
final module class A$() extends Object() { this: foo.A.type =>
inline def f(x: Int): Int = foo.inline$B.f(x)
}
final lazy module val B: foo.B$ = new foo.B$()
final module class B$() extends Object() { this: foo.B.type =>
def f(x: Int): Int = x.*(5)
}
}
class Test() extends Object() {
val x: Int =
/* inlined from foo.A.f(4) */
{
foo.inline$B.f(4)
}
}
}
SI-5604: Cannot use package as value: This(Ident(foo))
Warning: mocking up superclass for module class foo
SI-5604: Cannot use package as value: This(Ident(foo))
java.lang.RuntimeException: SI-5604: Cannot use package as value: This(Ident(foo))
at dotty.tools.backend.jvm.DottyBackendInterface.abort(DottyBackendInterface.scala:398)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadModule(BCodeBodyBuilder.scala:1098)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:355)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:271)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadQualifier(BCodeBodyBuilder.scala:1049)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genNormalMethodCall$1(BCodeBodyBuilder.scala:795)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genApply(BCodeBodyBuilder.scala:827)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:346)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:271)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoadQualifier(BCodeBodyBuilder.scala:1049)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genNormalMethodCall$1(BCodeBodyBuilder.scala:795)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genApply(BCodeBodyBuilder.scala:827)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:346)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genStat(BCodeBodyBuilder.scala:77)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genNormalBlock$2$$anonfun$1(BCodeBodyBuilder.scala:933)
at scala.compat.java8.JProcedure1.apply(JProcedure1.java:18)
at scala.compat.java8.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.immutable.List.foreach(List.scala:388)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genNormalBlock$1(BCodeBodyBuilder.scala:933)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genBlock(BCodeBodyBuilder.scala:965)
at scala.tools.nsc.backend.jvm.BCodeBodyBuilder$PlainBodyBuilder.genLoad(BCodeBodyBuilder.scala:417)
at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.emitNormalMethodBody$1(BCodeSkelBuilder.scala:602)
at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.genDefDef(BCodeSkelBuilder.scala:635)
at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen(BCodeSkelBuilder.scala:506)
at scala.tools.nsc.backend.jvm.BCodeSkelBuilder$PlainSkelBuilder.gen$$anonfun$1(BCodeSkelBuilder.scala:508)
at scala.compat.java8.JProcedure1.apply(JProcedure1.java:18)
at scala.compat.java8.JProcedure1.apply(JProcedure1.java:10)
at scala.collection.immutable.List.foreach(List.scala:388)
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:212)
at dotty.tools.backend.jvm.GenBCodePipeline$Worker1.run(GenBCode.scala:179)
at dotty.tools.backend.jvm.GenBCodePipeline.buildAndSendToDisk(GenBCode.scala:417)
at dotty.tools.backend.jvm.GenBCodePipeline.run(GenBCode.scala:383)
at dotty.tools.backend.jvm.GenBCode.run(GenBCode.scala:53)
at dotty.tools.dotc.core.Phases$Phase.runOn$$anonfun$1(Phases.scala:299)
at scala.collection.immutable.List.map(List.scala:282)
at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:301)
at dotty.tools.backend.jvm.GenBCode.runOn(GenBCode.scala:58)
at dotty.tools.dotc.Run.runPhases$4$$anonfun$4(Run.scala:175)
at scala.compat.java8.JProcedure1.apply(JProcedure1.java:18)
at scala.compat.java8.JProcedure1.apply(JProcedure1.java:10)
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:194)
at dotty.tools.dotc.Run.runPhases$5(Run.scala:187)
at dotty.tools.dotc.Run.compileUnits$$anonfun$1(Run.scala:195)
at scala.compat.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:90)
at dotty.tools.dotc.Run.compileUnits(Run.scala:202)
at dotty.tools.dotc.Run.compileSources(Run.scala:137)
at dotty.tools.dotc.Run.compile(Run.scala:121)
at dotty.tools.dotc.Driver.doCompile(Driver.scala:31)
at dotty.tools.dotc.Driver.process(Driver.scala:134)
at dotty.tools.dotc.Driver.process(Driver.scala:103)
at dotty.tools.dotc.Driver.process(Driver.scala:115)
at dotty.tools.dotc.Driver.main(Driver.scala:142)
at dotty.tools.dotc.Main.main(Main.scala)
Error while emitting inline.scala
SI-5604: Cannot use package as value: This(Ident(foo))
two errors found
The text was updated successfully, but these errors were encountered:
The following code crashes the compiler at backend:
Code generated after frontend:
SI-5604: Cannot use package as value: This(Ident(foo))
The text was updated successfully, but these errors were encountered: