1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
class Raw_1[T]{ def raw(): Raw_1[_] = { new Raw_1[String] { def t() = "" } } def t(): T } class X extends Raw_1[X] { override def t = this def exxx = 0 } object Test extends App { def c(s: X) = { val raw = s.raw raw.t.exxx } c(new X()) }