25a98964b5 ^
1 2 3 4 5 6 7 8 9 10 11 12 13
abstract class A() { val y: A; } class B() extends A() { val x = this; val y: x.type = x; } abstract class C() { val b: B = new B(); val a: A { val y: b.type }; }