Scala 2.8 ではトレイトの val がオーバーライド可能になった


以下のようにトレイトの val をオーバーライドした場合

trait Tr1 { val hoge = "Trait1" }

class Sample extends Tr1 {
  override val hoge = "Sample"
}

val s = new Sample()
print(s.hoge)


Scala 2.7 で以下のような出力となり正しくオーバーライドできませんでした。

Trait1


Scala 2.8 では

Sample

と望む結果となります。

それだけです。