| [#943] | project: compiler | priority: low | category: bug | |
|---|---|---|---|---|
| submitter | assigned to | status | date submitted | |
| Nikolay | Martin | noise | 2007-02-11 17:27:37.0 | |
| subject | [contrib #325] object inheritance name conflict | |||
| code |
trait X { def x = 1 }
trait Y { def x = 2 }
object Z extends X with Y
|
|||
| what happened | test4.scala:3: error: error overriding method x in trait X of type => scala.Int; method x in trait Y of type => scala.Int needs `override' modifier object Z extends X with Y ^ one error found Addition of 'override' in trait Y is futile. |
|||
| what expected | Silent compilation | |||
| [back to overview] | ||||
| Nikolay edited on 2007-02-11 17:29:20.0 |
| contribution #325 |
| Martin edited on 2007-03-05 23:43:07.0 |
This is required behavior, to prevent accidental overrides.
The override needs to be resolved by hand, as in:
object Z extends X with Y {
override def x = super.x
}
|