class Test { class C { type T; type Coll } type T1 = C { type T = Int } type T11 = T1 { type Coll = Set[Int] } type T2 = C { type Coll = Set[T] } type T22 = T2 { type T = Int } var x: T11 = _ var y: T22 = _ x = y y = x }