master
1const Enum = enum(u8) { first, second, _ };
2
3export fn invalidFirstProng(enum_value: Enum) u8 {
4 const result: u8 = switch (enum_value) {
5 .first => 256,
6 .second => 0,
7 else => 0,
8 };
9 return result;
10}
11
12export fn invalidSecondProng(enum_value: Enum) u8 {
13 const result: u8 = switch (enum_value) {
14 .first => 0,
15 .second => 256,
16 _ => 0,
17 };
18 return result;
19}
20
21export fn invalidElseProng(enum_value: Enum) u8 {
22 const result: u8 = switch (enum_value) {
23 .first => 0,
24 .second => 0,
25 else => 256,
26 };
27 return result;
28}
29
30export fn invalidNonExhaustiveProng(enum_value: Enum) u8 {
31 const result: u8 = switch (enum_value) {
32 .first => 0,
33 .second => 0,
34 _ => 256,
35 };
36 return result;
37}
38
39// error
40//
41// :5:19: error: type 'u8' cannot represent integer value '256'
42// :15:20: error: type 'u8' cannot represent integer value '256'
43// :25:17: error: type 'u8' cannot represent integer value '256'
44// :34:14: error: type 'u8' cannot represent integer value '256'