Closed
Description
class Test {
val Constant = 'Q' // OK if final
def tokenMe(ch: Char) = (ch: @annotation.switch) match {
case ' ' => 1
case 'A' => 2
case '5' | Constant => 3
}
}
Stacktrace
[info] Running dotty.tools.dotc.Main -classpath /Users/renucci/projects/dotty/library/target/scala-2.12/dotty-library_2.12-0.5.0-bin-SNAPSHOT-nonbootstrapped.jar -d out tests/allan/Test.scala exception occurred while compiling tests/allan/Test.scala Exception in thread "main" scala.MatchError: List() (of class scala.collection.immutable.Nil$) at dotty.tools.dotc.transform.PatternMatcher$Translator.emitSwitchCases(PatternMatcher.scala:818) at dotty.tools.dotc.transform.PatternMatcher$Translator.emitSwitchCases(PatternMatcher.scala:820) at dotty.tools.dotc.transform.PatternMatcher$Translator.emitSwitchCases(PatternMatcher.scala:820) at dotty.tools.dotc.transform.PatternMatcher$Translator.emitSwitchCases(PatternMatcher.scala:820) at dotty.tools.dotc.transform.PatternMatcher$Translator.emitSwitchCases(PatternMatcher.scala:820) at dotty.tools.dotc.transform.PatternMatcher$Translator.emit(PatternMatcher.scala:838) at dotty.tools.dotc.transform.PatternMatcher$Translator.emit(PatternMatcher.scala:846) at dotty.tools.dotc.transform.PatternMatcher$Translator.emit(PatternMatcher.scala:842) at dotty.tools.dotc.transform.PatternMatcher$Translator.translateMatch(PatternMatcher.scala:932) at dotty.tools.dotc.transform.PatternMatcher.transformMatch(PatternMatcher.scala:31) at dotty.tools.dotc.transform.MegaPhase.goMatch(MegaPhase.scala:711) at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:323) at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:365) at dotty.tools.dotc.transform.MegaPhase.mapDefDef$1(MegaPhase.scala:228) at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:231) at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:364) at dotty.tools.dotc.transform.MegaPhase.transformStat$1(MegaPhase.scala:373) at dotty.tools.dotc.transform.MegaPhase.$anonfun$transformStats$2(MegaPhase.scala:378) at scala.collection.immutable.List.mapConserve(List.scala:176) at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:378) at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:317) at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:365) at dotty.tools.dotc.transform.MegaPhase.transformNamed$1(MegaPhase.scala:234) at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:364) at dotty.tools.dotc.transform.MegaPhase.transformStat$1(MegaPhase.scala:373) at dotty.tools.dotc.transform.MegaPhase.$anonfun$transformStats$2(MegaPhase.scala:378) at scala.collection.immutable.List.mapConserve(List.scala:176) at dotty.tools.dotc.transform.MegaPhase.transformStats(MegaPhase.scala:378) at dotty.tools.dotc.transform.MegaPhase.mapPackage$1(MegaPhase.scala:334) at dotty.tools.dotc.transform.MegaPhase.transformUnnamed$1(MegaPhase.scala:337) at dotty.tools.dotc.transform.MegaPhase.transformTree(MegaPhase.scala:365) at dotty.tools.dotc.transform.MegaPhase.transformUnit(MegaPhase.scala:384) at dotty.tools.dotc.transform.MegaPhase.run(MegaPhase.scala:396) at dotty.tools.dotc.core.Phases$Phase.$anonfun$runOn$1(Phases.scala:289) at scala.collection.immutable.List.map(List.scala:283) at dotty.tools.dotc.core.Phases$Phase.runOn(Phases.scala:287) at dotty.tools.dotc.core.Phases$Phase.runOn$(Phases.scala:286) at dotty.tools.dotc.transform.MegaPhase.runOn(MegaPhase.scala:138) at dotty.tools.dotc.Run.$anonfun$compileUnits$3(Run.scala:125) 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:123) at dotty.tools.dotc.Run.$anonfun$compileUnits$2$adapted(Run.scala:121) 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:121) at dotty.tools.dotc.Run.$anonfun$compileUnits$1(Run.scala:141) at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12) at dotty.tools.dotc.util.Stats$.maybeMonitored(Stats.scala:86) at dotty.tools.dotc.Run.compileUnits(Run.scala:107) at dotty.tools.dotc.Run.compileSources(Run.scala:94) at dotty.tools.dotc.Run.compile(Run.scala:78) at dotty.tools.dotc.Driver.doCompile(Driver.scala:29) at dotty.tools.dotc.Driver.process(Driver.scala:127) at dotty.tools.dotc.Driver.process(Driver.scala:96) at dotty.tools.dotc.Driver.process(Driver.scala:108) at dotty.tools.dotc.Driver.main(Driver.scala:135) at dotty.tools.dotc.Main.main(Main.scala)