[#380] | project: compiler | priority: medium | category: bug | |
---|---|---|---|---|
submitter | assigned to | status | date submitted | |
Burak | Martin | fixed | 2004-11-25 14:53:32.0 | |
subject | inheriting overridden methods + interfaces from Java | |||
code |
// file foo/Aint.java package foo; public interface Aint { void a(int i); void a(int i, int j); void a(int i, int j, int k); } // file foo/Aclass.java package foo; public abstract class Aclass implements Aint { final public void a(int i) { System.out.println(i); } public abstract void a(int i, int k); } // file Bclass.scala package foo; class Bclass extends Aclass { def a(i:Int, j:Int, k:Int): Unit = { a(i,j); a(j,k); } def a(i:Int, j:Int): Unit = { super.a(i); super.a(j); } } |
|||
what happened | /tmp> scalac -classpath . Bclass.scala Bclass.scala:3: class Bclass needs to be abstract, since method a in trait Aint is not defined class Bclass extends Aclass { ^ one error found |
|||
what expected | proper compilation of Bclass.scala, given that a(int) is inherited from Aclass. | |||
[back to overview] |
Lex edited on 2006-03-28 14:23:37.0 |
This compiles fine in 2.1.0 |