| [#83] | project: compiler | priority: medium | category: feature | |
|---|---|---|---|---|
| submitter | assigned to | status | date submitted | |
| Michel | Martin | won't fix | 2003-08-08 11:08:39.0 | |
| subject | it is possible to refer to abstract methods with "super" | |||
| code |
trait A {
def f: Int;
}
abstract class B extends A {
override def f: Int = super.f;
}
|
|||
| what happened | No analyser error (but then AddInterfaces crashes) |
|||
| what expected | An error telling me that the reference to "super.f" in B is illegal, since it refers to an abstract method. | |||
| [back to overview] | ||||
| Michel edited on 2003-08-08 11:13:47.0 |
| According to Matthias, this is actually a feature, sorry for this incorrect report. |
| Martin edited on 2003-08-08 12:13:43.0 |
| No, this is legal behavior. It is possible to refer to an abstract method via super, *provided* the referring method is labelled override. There is another check that methods labelled override and overriding abstract methods in their super class can be used only in abstract classes. |
| Martin edited on 2003-08-13 15:16:32.0 |