@@ -10,8 +10,8 @@ object approximateUnion {
10
10
trait B extends C [B ] with D
11
11
12
12
val coin = true
13
- val x = if (coin) new A else new B
14
- val y = Some (if (coin) new A else new B )
13
+ val x = if (coin) new A {} else new B {}
14
+ val y = Some (if (coin) new A {} else new B {} )
15
15
16
16
val xtest : C [A | B ] & D = x
17
17
val ytest : Some [C [A | B ] & D ] = y
@@ -22,8 +22,8 @@ object approximateUnion {
22
22
trait B extends C [X [B ]] with D with E
23
23
24
24
val coin = true
25
- val x = if (coin) new A else new B
26
- val y = Some (if (coin) new A else new B )
25
+ val x = if (coin) new A {} else new B {}
26
+ val y = Some (if (coin) new A {} else new B {} )
27
27
28
28
val xtest : C [X [A & B ]] & D = x
29
29
val ytest : Some [C [X [A & B ]] & D ] = y
@@ -42,8 +42,8 @@ object approximateUnion2 {
42
42
trait B extends C [B ] with D
43
43
44
44
val coin = true
45
- val x = if (coin) new A else new B
46
- val y = Some (if (coin) new A else new B )
45
+ val x = if (coin) new A {} else new B {}
46
+ val y = Some (if (coin) new A {} else new B {} )
47
47
48
48
val xtest : C [_ >: A & B <: A | B ] & D = x
49
49
val ytest : Some [C [_ >: A & B <: A | B ] & D ] = y
@@ -54,8 +54,8 @@ object approximateUnion2 {
54
54
trait B extends C [X [B ]] with D with E
55
55
56
56
val coin = true
57
- val x = if (coin) new A else new B
58
- val y = Some (if (coin) new A else new B )
57
+ val x = if (coin) new A {} else new B {}
58
+ val y = Some (if (coin) new A {} else new B {} )
59
59
60
60
val xtest : C [_ >: X [A | B ] <: X [A & B ]] & D = x
61
61
val ytest : Some [C [_ >: X [A | B ] <: X [A & B ]]] = y
@@ -74,8 +74,8 @@ object approximateUnion3 {
74
74
trait B extends C [B ] with D
75
75
76
76
val coin = true
77
- val x = if (coin) new A else new B
78
- val y = Some (if (coin) new A else new B )
77
+ val x = if (coin) new A {} else new B {}
78
+ val y = Some (if (coin) new A {} else new B {} )
79
79
80
80
val xtest : C [A & B ] & D = x
81
81
val ytest : Some [C [A & B ] & D ] = y
@@ -86,8 +86,8 @@ object approximateUnion3 {
86
86
trait B extends C [X [B ]] with D with E
87
87
88
88
val coin = true
89
- val x = if (coin) new A else new B
90
- val y = Some (if (coin) new A else new B )
89
+ val x = if (coin) new A {} else new B {}
90
+ val y = Some (if (coin) new A {} else new B {} )
91
91
92
92
val xtest : C [X [A | B ]] & D = x
93
93
val ytest2 : Some [C [X [A | B ]] & D ] = y
0 commit comments