Skip to content

Commit 345fcba

Browse files
committed
Add inline-tracked-val test
1 parent f87f72c commit 345fcba

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

tests/neg/inline-tracked-val.scala

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
import language.experimental.modularity
2+
3+
inline val v1 = 3
4+
inline val v2: Short = 3
5+
inline val v3: Int = 3
6+
inline val v4 = 3: Short
7+
inline val v5 = 3: Int
8+
inline val v6: Short = 3: Short
9+
inline val v7: Short = 3: Int // error
10+
inline val v8: Int = 3: Short
11+
inline val v9: Int = 3: Int
12+
13+
// The same tests with `tracked` should behave the same way
14+
15+
tracked inline val v1t = 3
16+
tracked inline val v2t: Short = 3
17+
tracked inline val v3t: Int = 3
18+
tracked inline val v4t = 3: Short
19+
tracked inline val v5t = 3: Int
20+
tracked inline val v6t: Short = 3: Short
21+
tracked inline val v7t: Short = 3: Int // error
22+
tracked inline val v8t: Int = 3: Short
23+
tracked inline val v9t: Int = 3: Int
24+
25+
@main def Test() =
26+
summon[v1.type =:= 3]
27+
summon[v2.type <:< Short]
28+
summon[v3.type =:= 3]
29+
summon[v4.type <:< Short]
30+
summon[v5.type <:< Int]
31+
summon[v5.type <:< 3] // error
32+
summon[v6.type <:< Short]
33+
summon[v7.type <:< Short]
34+
summon[v8.type <:< Int]
35+
summon[v8.type <:< 3] // error
36+
summon[v9.type <:< Int]
37+
summon[v9.type <:< 3] // error
38+
39+
summon[v1t.type =:= 3]
40+
summon[v2t.type <:< Short]
41+
summon[v3t.type =:= 3]
42+
summon[v4t.type <:< Short]
43+
summon[v5t.type <:< Int]
44+
summon[v5t.type <:< 3] // error
45+
summon[v6t.type <:< Short]
46+
summon[v7t.type <:< Short]
47+
summon[v8t.type <:< Int]
48+
summon[v8t.type <:< 3] // error
49+
summon[v9t.type <:< Int]
50+
summon[v9t.type <:< 3] // error

0 commit comments

Comments
 (0)