| ... | ... | @@ -1048,6 +1048,22 @@ test "@tagName on enum literals" { |
| 1048 | 1048 | try comptime expect(mem.eql(u8, @tagName(.FooBar), "FooBar")); |
| 1049 | 1049 | } |
| 1050 | 1050 | |
| 1051 | test "tag name with signed enum values" { |
| 1052 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 1053 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |
| 1054 | if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO |
| 1055 | if (builtin.zig_backend == .stage2_spirv64) return error.SkipZigTest; |
| 1056 | |
| 1057 | const LocalFoo = enum(isize) { |
| 1058 | alfa = 62, |
| 1059 | bravo = 63, |
| 1060 | charlie = 64, |
| 1061 | delta = 65, |
| 1062 | }; |
| 1063 | var b = LocalFoo.bravo; |
| 1064 | try expect(mem.eql(u8, @tagName(b), "bravo")); |
| 1065 | } |
| 1066 | |
| 1051 | 1067 | test "enum literal casting to optional" { |
| 1052 | 1068 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 1053 | 1069 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |