| [#339] | project: compiler | priority: medium | category: bug | |
|---|---|---|---|---|
| submitter | assigned to | status | date submitted | |
| Burak | Martin | fixed | 2004-06-04 14:17:04.0 | |
| subject | Inference does not handle List() correctly | |||
| code |
object testList {
List() match {case _ =>}
}
|
|||
| what happened | Exception in thread "main" java.lang.AssertionError: type A in method apply at scalac.transformer.LambdaLift$FreeVars.markFree(LambdaLift.java:178) ...This is because there is a type variable that "falls from the sky": |
|||
| what expected | analyzer to output scala.List.apply[All]. Strangely, here it works:
object testList {
val a = List();
}
[[syntax trees at lambdalift (after transmatch)]]
// Scala source: testList.scala
final class testList() extends java.lang.Object() with scala.ScalaObject() {
private val a$: scala.List[scala.All] = scala.List.apply[scala.All](scala.Nil);
final def a(): scala.List[scala.All] = testList.this.a$;
override def $tag(): scala.Int = 0
};
|
|||
| [back to overview] | ||||
| Philippe edited on 2004-06-04 15:47:16.0 |
| Same bug as 338 |
| Martin edited on 2004-07-02 14:16:36.0 |