1 2 3 4 5 6 7 8 9 10 11
object Test { class A class B extends A class C extends A class D extends A val b = true val x = if (b) new B else new C val y: B | C = x }