blob: 74a0b38e56895ea775c17d971df8e7100ac6c369 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
object WhatsYourTypeIsMyType {
class TypeCheat[+T] { type MyType = T }
class Foo {
val tc = new TypeCheat[Foo]
var x: tc.MyType = _
def setX() = x = new Foo
}
class Bar extends Foo {
override val tc = new TypeCheat[Bar]
def unsound = this
setX()
println(x.unsound)
}
def main(args: Array[String]): Unit = new Bar
}
|