| ... | @@ -30,19 +30,30 @@ test "non-exhaustive enum" { | ... | @@ -30,19 +30,30 @@ test "non-exhaustive enum" { |
| 30 | }; | 30 | }; |
| 31 | fn doTheTest(y: u8) void { | 31 | fn doTheTest(y: u8) void { |
| 32 | var e: E = .b; | 32 | var e: E = .b; |
| 33 | switch (e) { | 33 | expect(switch (e) { |
| 34 | .a => {}, | 34 | .a => false, |
| 35 | .b => {}, | 35 | .b => true, |
| 36 | _ => {}, | 36 | _ => false, |
| 37 | } | 37 | }); |
| | 38 | e = @intToEnum(E, 12); |
| | 39 | expect(switch (e) { |
| | 40 | .a => false, |
| | 41 | .b => false, |
| | 42 | _ => true, |
| | 43 | }); |
| | 44 | |
| | 45 | expect(switch (e) { |
| | 46 | .a => false, |
| | 47 | .b => false, |
| | 48 | else => true, |
| | 49 | }); |
| | 50 | e = .b; |
| | 51 | expect(switch (e) { |
| | 52 | .a => false, |
| | 53 | else => true, |
| | 54 | }); |
| 38 | | 55 | |
| 39 | switch (e) { | | |
| 40 | .a => {}, | | |
| 41 | .b => {}, | | |
| 42 | else => {}, | | |
| 43 | } | | |
| 44 | expect(@typeInfo(E).Enum.fields.len == 2); | 56 | expect(@typeInfo(E).Enum.fields.len == 2); |
| 45 | expect(@enumToInt(e) == 1); | | |
| 46 | e = @intToEnum(E, 12); | 57 | e = @intToEnum(E, 12); |
| 47 | expect(@enumToInt(e) == 12); | 58 | expect(@enumToInt(e) == 12); |
| 48 | e = @intToEnum(E, y); | 59 | e = @intToEnum(E, y); |