とデフ上書き揮発性タイプヴァル私はこだわっているが、Scalaのを理解しようとするには、次のことを許可していません:スカラ:不揮発性
trait WhatsWrong {
type Foo
trait HasFoo {
def foo: Foo
}
type Foo2 = Foo with HasFoo2
trait HasFoo2 extends HasFoo {
override val foo: Foo2 // <-- error here
// override def foo: Foo2 // <-- this works though
}
}
Error: overriding method foo in trait HasFoo of type => WhatsWrong.this.Foo; value foo has a volatile type; cannot override a member with non-volatile type
override val foo: WhatsWrong.this.Foo2
Foo2
は揮発性タイプであるのはなぜ?
私はあなたがタイプミスがあると思います: "Foo ~~ 2 ~~は不揮発性です(1.3-3のどれも適用されないため)"。そうでなければ正しく見えます、ありがとう! – eprst
はい、あなたは正当な理由があります –