v2 / vlib / v / tests / enums / enum_flag_alias_op_test.v
29 lines · 23 sloc · 375 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1fn test_enum_flag_alias_op() {
2 enum_container := EnumContainer{
3 et: .a | .b // works
4 }
5
6 alias_container := AliasContainer{
7 at: .a | .b // fails
8 }
9
10 assert enum_container.et == .a | .b
11 assert alias_container.at == .a | .b
12}
13
14@[flag]
15enum EnumType {
16 a
17 b
18 c
19}
20
21struct EnumContainer {
22 et EnumType
23}
24
25type AliasType = EnumType
26
27struct AliasContainer {
28 at AliasType
29}
30