Aladdin - Scala Bugtracking
[#1181] project: compiler priority: medium category: bug
submitter assigned to status date submitted
Nikolay Martin fixed 2007-06-18 08:38:38.0
subject [contrib #665] Compiler crash on malformed match expression
code
package test;

import scala.collection.immutable.Map

class CompilerTest(val valueList: List[Symbol]) {
	def buildMap(map: Map[Symbol, Symbol], keyList: List[Symbol], valueList: List[Symbol]): Map[Symbol, Symbol] = {
   (keyList, valueList) match {
     case (Nil, Nil) => map
     _ => buildMap(map.update(keyList.head, valueList.head), keyList.tail, valueList.tail)
   }
  }
}
what happened
$ scalac test/CompilerTest.scala
Exception in thread "main" java.lang.AssertionError: assertion failed: (() => )
        at scala.Predef$.assert(Predef.scala:90)
        at scala.tools.nsc.ast.Trees$ValDef.(Trees.scala:299)
        at scala.tools.nsc.ast.parser.Parsers$Parser.convertToParam(Parsers.scala:341)
        at scala.tools.nsc.ast.parser.Parsers$Parser.convertToParams(Parsers.scala:330)
        at scala.tools.nsc.ast.parser.Parsers$Parser.expr(Parsers.scala:1015)
        at scala.tools.nsc.ast.parser.Parsers$Parser.blockStatSeq(Parsers.scala:2328)
        at scala.tools.nsc.ast.parser.Parsers$Parser.block(Parsers.scala:1189)
        at scala.tools.nsc.ast.parser.Parsers$Parser.caseClause(Parsers.scala:1206)
        at scala.tools.nsc.ast.parser.Parsers$Parser.caseClauses(Parsers.scala:1195)
        at scala.tools.nsc.ast.parser.Parsers$Parser.expr(Parsers.scala:1008)
        at scala.tools.nsc.ast.parser.Parsers$Parser.blockStatSeq(Parsers.scala:2328)
        at scala.tools.nsc.ast.parser.Parsers$Parser.block(Parsers.scala:1189)
        at scala.tools.nsc.ast.parser.Parsers$Parser.blockExpr(Parsers.scala:1180)
        at scala.tools.nsc.ast.parser.Parsers$Parser.simpleExpr(Parsers.scala:1119)
        at scala.tools.nsc.ast.parser.Parsers$Parser.prefixExpr(Parsers.scala:1080)
        at scala.tools.nsc.ast.parser.Parsers$Parser.postfixExpr(Parsers.scala:1033)
        at scala.tools.nsc.ast.parser.Parsers$Parser.expr(Parsers.scala:969)
        at scala.tools.nsc.ast.parser.Parsers$Parser.expr(Parsers.scala:878)
        at scala.tools.nsc.ast.parser.Parsers$Parser.equalsExpr(Parsers.scala:834)
        at scala.tools.nsc.ast.parser.Parsers$Parser.funDefOrDcl(Parsers.scala:1964)
        at scala.tools.nsc.ast.parser.Parsers$Parser.defOrDcl(Parsers.scala:1860)
        at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$16.apply(Parsers.scala:2273)
        at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$16.apply(Parsers.scala:2273)
        at scala.tools.nsc.ast.parser.Parsers$Parser.joinComment(Parsers.scala:319)
        at scala.tools.nsc.ast.parser.Parsers$Parser.templateStatSeq(Parsers.scala:2273)
        at scala.tools.nsc.ast.parser.Parsers$Parser.templateBody(Parsers.scala:2170)
        at scala.tools.nsc.ast.parser.Parsers$Parser.templateBodyOpt(Parsers.scala:2178)
        at scala.tools.nsc.ast.parser.Parsers$Parser.templateOpt(Parsers.scala:2155)
        at scala.tools.nsc.ast.parser.Parsers$Parser.classDef(Parsers.scala:2071)
        at scala.tools.nsc.ast.parser.Parsers$Parser.tmplDef(Parsers.scala:2039)
        at scala.tools.nsc.ast.parser.Parsers$Parser.tmplDefHooked(Parsers.scala:2029)
        at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$15.apply(Parsers.scala:2233)
        at scala.tools.nsc.ast.parser.Parsers$Parser$$anonfun$15.apply(Parsers.scala:2233)
        at scala.tools.nsc.ast.parser.Parsers$Parser.joinComment(Parsers.scala:319)
        at scala.tools.nsc.ast.parser.Parsers$Parser.topStatSeq(Parsers.scala:2233)
        at scala.tools.nsc.ast.parser.Parsers$Parser.compilationUnit(Parsers.scala:2360)
        at scala.tools.nsc.ast.parser.Parsers$Parser.parse(Parsers.scala:133)
        at scala.tools.nsc.ast.parser.SyntaxAnalyzer$ParserPhase.apply(SyntaxAnalyzer.scala:20)
        at scala.tools.nsc.Global$GlobalPhase.applyPhase(Global.scala:245)
        at scala.tools.nsc.Global$GlobalPhase$$anonfun$2.apply(Global.scala:234)
        at scala.tools.nsc.Global$GlobalPhase$$anonfun$2.apply(Global.scala:234)
        at scala.Iterator$class.foreach(Iterator.scala:364)
        at scala.collection.mutable.ListBuffer$$anon$0.foreach(ListBuffer.scala:245)
        at scala.tools.nsc.Global$GlobalPhase.run(Global.scala:234)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:502)
        at scala.tools.nsc.Global$Run.compile(Global.scala:580)
        at scala.tools.nsc.Main$.process(Main.scala:61)
        at scala.tools.nsc.Main$.main(Main.scala:81)
        at scala.tools.nsc.Main.main(Main.scala)
what expected The compiler should report an error.
[back to overview]
Changes of this bug report
Nikolay  edited on  2007-06-18 08:43:32.0
Stephane  edited on  2007-06-26 14:58:44.0
reassigned to Martin
Martin  edited on  2007-07-02 15:44:05.0