В Scala я могу сделать это:
trait SomeTrait {
protected def foo: String
}
class Wibble extends SomeTrait {
protected var foo = "Hello"
}
Но я не могу сделать то же самое, где я предоставляю определение по умолчанию для foo
trait SomeTrait {
protected def foo: String = "World"
}
class Wibble extends SomeTrait {
protected var foo = "Hello" //complains about lack of override modifier
override protected var foo = "Hello" //complains "method foo_ overrides nothing"
}
Почему я не могу это сделать?
EDIT: после разговора в списке рассылки scala -users у меня поднял это в trac