Aladdin - Scala Bugtracking
[#1282] project: compiler priority: high category: bug
submitter assigned to status date submitted
Sean Burak fixed 2007-08-21 12:18:56.0
subject outer values used in patterns very flaky
code
trait Outer {
  object No
  trait File {
    (null:AnyRef) match {
    case No => false
    }
  }
}
what happened
java.lang.AssertionError: assertion failed: Cannot use package as value: test.this
	at scala.Predef$.assert(Predef.scala:96)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad\
(GenICode.scala:863)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1062)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad\
(GenICode.scala:602)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1062)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad\
(GenICode.scala:833)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genLoadQualifier(GenICode.scala:1062)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad\
(GenICode.scala:833)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genEqEqPrimitive(GenICode.scala:1466)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genCond(GenICode.scala:1367)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad\
(GenICode.scala:420)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad\
(GenICode.scala:948)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genStat\
(GenICode.scala:179)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$1.apply(GenICode.scala:142)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$1.apply(GenICode.scala:141)
	at scala.List.foreach(List.scala:712)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.genStat(GenICode.scala:141)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.scala$tools$nsc$backend$icode$GenICode$ICodePhase$$genLoad\
(GenICode.scala:947)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:110)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$0.apply(GenICode.scala:68)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$0.apply(GenICode.scala:68)
	at scala.List.foreach(List.scala:712)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:68)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:132)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:86)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$0.apply(GenICode.scala:68)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase$$anonfun$0.apply(GenICode.scala:68)
	at scala.List.foreach(List.scala:712)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:68)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:78)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.gen(GenICode.scala:64)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.apply(GenICode.scala:60)
	at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:260)
	at scala.tools.nsc.Global$GlobalPhase$$anonfun$2.apply(Global.scala:248)
	at scala.tools.nsc.Global$GlobalPhase$$anonfun$2.apply(Global.scala:248)
	at scala.Iterator$class.foreach(Iterator.scala:375)
	at scala.collection.mutable.ListBuffer$$anon$0.foreach(ListBuffer.scala:255)
	at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:248)
	at scala.tools.nsc.backend.icode.GenICode$ICodePhase.run(GenICode.scala:53)
	at scala.tools.nsc.Global$Run.compileSources(Global.scala:555)
	at scala.tools.nsc.Global$Run.compile(Global.scala:640)
	at ch.epfl.lamp.sdt.build.ScalaCompilerManager$ScalaCompiler.compile(ScalaCompilerManager.java:263)
	at ch.epfl.lamp.sdt.build.ScalaProjectBuilder.build(ScalaProjectBuilder.java:153)
	at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:624)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:166)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:197)
	at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:246)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:249)
	at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:302)
	at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:334)
	at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:137)
	at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:235)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)


I noticed similar code where the compiler doesn't crash, and instead I get a VerifyError at runtime. Can provide\
 testcase if necessary.
what expected
[back to overview]
Changes of this bug report
Burak  edited on  2007-08-21 17:45:59.0