@@ -19,8 +19,12 @@ def someTrait3[G, H]: G SomeTrait2 H //expected: def someTrait3[G, H]: SomeTrait
1919
2020trait +++ [A , B ]
2121
22+ trait ++* [A , B ]
23+
2224trait ++: [A , B ]
2325
26+ trait +*: [A , B ]
27+
2428trait *** [A , B ]
2529
2630trait **: [A , B ]
@@ -30,26 +34,44 @@ def foo[A, B, C, D]: (A SomeTrait B) +++ (C SomeTrait2 D) //expected: def foo[A,
3034
3135// left-associative, same precedence
3236
33- def a0 [X , Y , Z ]: X +++ Y +++ Z // expected: def a0[X, Y, Z]: (X +++ Y) +++ Z
37+ def a0 [X , Y , Z ]: X +++ Y +++ Z
3438 = a1
3539
36- def a1 [X , Y , Z ]: (X +++ Y ) +++ Z
40+ def a1 [X , Y , Z ]: (X +++ Y ) +++ Z // expected: def a1[X, Y, Z]: X +++ Y +++ Z
3741 = a0
3842
3943def a2 [X , Y , Z ]: X +++ (Y +++ Z )
4044 = ???
4145
42- // right-associative, same precedence
46+ def a0x [X , Y , Z ]: X +++ Y ++* Z // expected: def a0x[X, Y, Z]: (X +++ Y) ++* Z
47+ = a1x
4348
44- def a3 [X , Y , Z ]: X ++: Y ++: Z // expected: def a3[X, Y, Z]: X ++: (Y ++: Z)
49+ def a1x [X , Y , Z ]: (X +++ Y ) ++* Z
50+ = a0x
51+
52+ def a2x [X , Y , Z ]: X +++ (Y ++* Z )
4553 = ???
4654
55+ // right-associative, same precedence
56+
57+ def a3 [X , Y , Z ]: X ++: Y ++: Z
58+ = a5
59+
4760def a4 [X , Y , Z ]: (X ++: Y ) ++: Z
4861 = ???
4962
50- def a5 [X , Y , Z ]: X ++: (Y ++: Z )
63+ def a5 [X , Y , Z ]: X ++: (Y ++: Z ) // expected: def a5[X, Y, Z]: X ++: Y ++: Z
64+ = a3
65+
66+ def a3x [X , Y , Z ]: X ++: Y +*: Z // expected: def a3x[X, Y, Z]: X ++: (Y +*: Z)
67+ = a5x
68+
69+ def a4x [X , Y , Z ]: (X ++: Y ) +*: Z
5170 = ???
5271
72+ def a5x [X , Y , Z ]: X ++: (Y +*: Z )
73+ = a3x
74+
5375// left and right associative, same precedence
5476
5577def a6 [X , Y , Z ]: (X +++ Y ) ++: Z
0 commit comments