[#238] | project: compiler | priority: medium | category: bug | |
---|---|---|---|---|
submitter | assigned to | status | date submitted | |
Stephane | Martin | fixed | 2003-11-26 18:20:51.0 | |
subject | AssertionError in Erasure.java | |||
code |
class Foo { def fun(i: Int): Int = 0; } object Bar { def foo = new Foo { def fun(): Int = 0; }; foo.fun(); } |
|||
what happened | Exception in thread "main" java.lang.AssertionError: Bar#6.foo#7().fun#8 at scalac.transformer.Erasure.transform(Erasure.java:207) at scalac.transformer.Erasure.transform(Erasure.java:177) at scalac.transformer.Erasure.transform(Erasure.java:255) at scalac.transformer.Erasure.transform(Erasure.java:127) at scalac.ast.GenTransformer.transform(Transformer.java:569) at scalac.transformer.Erasure.transform(Erasure.java:114) at scalac.ast.GenTransformer.transform(Transformer.java:569) at scalac.ast.GenTransformer.apply(Transformer.java:402) at scalac.transformer.Erasure.apply(Erasure.java:105) at scalac.ast.GenTransformer.apply(Transformer.java:396) at scalac.transformer.ErasurePhase.apply(ErasurePhase.java:52) at scalac.Global.compile(Global.java:300) at scalac.Global.compile(Global.java:272) at scala.tools.scalac.Main$.main(sources/scala/tools/scalac/Main.scala:33) at scala.tools.scalac.Main.main(sources/scala/tools/scalac/Main.scala) |
|||
what expected | The compiler should signal an error because there is no override flag in the anonymous class or because the fun method does not override Foo.fun. |
|||
[back to overview] |
Philippe edited on 2003-11-27 16:13:09.0 |
Simplified example, updated |
Martin edited on 2004-01-08 15:42:08.0 |