Skip to content

Commit 5cfde2e

Browse files
committed
v2: sum type test
1 parent 388caee commit 5cfde2e

1 file changed

Lines changed: 77 additions & 16 deletions

File tree

cmd/v2/test_sumtype_many.v

Lines changed: 77 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,79 @@ struct Pos {
33
y int
44
}
55

6-
struct V0 { pos Pos; a int }
7-
struct V1 { pos Pos; b int }
8-
struct V2 { pos Pos; c int }
9-
struct V3 { pos Pos; d int }
10-
struct V4 { pos Pos; e int }
11-
struct V5 { pos Pos; f int }
12-
struct V6 { pos Pos; g int }
13-
struct V7 { pos Pos; h int }
14-
struct V8 { dummy u8 } // EmptyExpr equivalent (tag 8)
15-
struct V9 { pos Pos; j int }
16-
struct V10 { pos Pos; k int }
17-
struct V11 { pos Pos; l int }
18-
struct V12 { pos Pos; m int }
19-
struct V13 { pos Pos; name string } // Ident equivalent (tag 13)
20-
struct V14 { pos Pos; n int }
6+
struct V0 {
7+
pos Pos
8+
a int
9+
}
10+
11+
struct V1 {
12+
pos Pos
13+
b int
14+
}
15+
16+
struct V2 {
17+
pos Pos
18+
c int
19+
}
20+
21+
struct V3 {
22+
pos Pos
23+
d int
24+
}
25+
26+
struct V4 {
27+
pos Pos
28+
e int
29+
}
30+
31+
struct V5 {
32+
pos Pos
33+
f int
34+
}
35+
36+
struct V6 {
37+
pos Pos
38+
g int
39+
}
40+
41+
struct V7 {
42+
pos Pos
43+
h int
44+
}
45+
46+
struct V8 {
47+
dummy u8
48+
} // EmptyExpr equivalent (tag 8)
49+
50+
struct V9 {
51+
pos Pos
52+
j int
53+
}
54+
55+
struct V10 {
56+
pos Pos
57+
k int
58+
}
59+
60+
struct V11 {
61+
pos Pos
62+
l int
63+
}
64+
65+
struct V12 {
66+
pos Pos
67+
m int
68+
}
69+
70+
struct V13 {
71+
pos Pos
72+
name string
73+
} // Ident equivalent (tag 13)
74+
75+
struct V14 {
76+
pos Pos
77+
n int
78+
}
2179

2280
type Expr = V0 | V1 | V2 | V3 | V4 | V5 | V6 | V7 | V8 | V9 | V10 | V11 | V12 | V13 | V14
2381

@@ -43,7 +101,10 @@ fn (e Expr) get_pos() Pos {
43101

44102
fn make_v13() Expr {
45103
return Expr(V13{
46-
pos: Pos{x: 42, y: 99}
104+
pos: Pos{
105+
x: 42
106+
y: 99
107+
}
47108
name: 'hello'
48109
})
49110
}

0 commit comments

Comments
 (0)