与えられた:
trait Foo {
var foo: Int
}
abstract class Bar(foo: Int) extends Foo
trait Baz {
self: Bar =>
foo = 4
}
次のエラーが表示されます。
value foo in class Bar cannot be accessed in Baz with Bar
foo = 4
^
ただし、 Bar を次のように変更すると:
abstract class Bar(_foo: Int) extends Foo {
foo = _foo
}
それは正常に動作します。コンストラクターから継承されたフィールドを割り当てる方法はありませんか? それはほとんど影を落としているように見えます。