blob: 24a4e511a6d08989da16481893cad11ba1149a1d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
object Test extends App
{
abstract class Base {
type T
var x: T = _
class Inner {
def set(y: T) = x = y
def get() = x
def print() = println("Hello world")
}
}
object IntBase extends Base { type T = Int }
object StringBase extends Base { type T = String }
val a : Base#Inner = new IntBase.Inner
val b : Base#Inner = new StringBase.Inner
a.print() // OK
b.print() // OK
a.set(b.get()) // Error
}
|