| ... | @@ -1048,6 +1048,22 @@ test "@tagName on enum literals" { | ... | @@ -1048,6 +1048,22 @@ test "@tagName on enum literals" { |
| 1048 | try comptime expect(mem.eql(u8, @tagName(.FooBar), "FooBar")); | 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 | test "enum literal casting to optional" { | 1067 | test "enum literal casting to optional" { |
| 1052 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; | 1068 | if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; |
| 1053 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; | 1069 | if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; |