diff options
| author | Cody Tapscott <topolarity@tapscott.me> | 2022-10-15 14:45:12 -0700 |
|---|---|---|
| committer | Cody Tapscott <topolarity@tapscott.me> | 2022-10-21 12:40:33 -0700 |
| commit | 74b9cbd8950f4752c5c80925a8baa5fb2492d99f (patch) | |
| tree | 8874899e671955a29902823aca84ec1dbac0cf79 /test/behavior/eval.zig | |
| parent | a4523a2d4a0fb2b5c660a11aa37718080eebe9d0 (diff) | |
| download | zig-74b9cbd8950f4752c5c80925a8baa5fb2492d99f.tar.gz zig-74b9cbd8950f4752c5c80925a8baa5fb2492d99f.zip | |
stage2: Skip test exposing #13175
This PR (#12873) in combination with this particular test exposed
a pre-existing bug (#13175).
This means that the test for #13038 has regressed
Diffstat (limited to 'test/behavior/eval.zig')
| -rw-r--r-- | test/behavior/eval.zig | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig index aa92f42e24..2fa07d0de7 100644 --- a/test/behavior/eval.zig +++ b/test/behavior/eval.zig @@ -1401,7 +1401,21 @@ test "continue in inline for inside a comptime switch" { try expect(count == 4); } +test "length of global array is determinable at comptime" { + const S = struct { + var bytes: [1024]u8 = undefined; + + fn foo() !void { + try std.testing.expect(bytes.len == 1024); + } + }; + comptime try S.foo(); +} + test "continue nested inline for loop" { + // TODO: https://github.com/ziglang/zig/issues/13175 + if (builtin.zig_backend != .stage1) return error.SkipZigTest; + var a: u8 = 0; loop: inline for ([_]u8{ 1, 2 }) |x| { inline for ([_]u8{1}) |y| { @@ -1415,13 +1429,21 @@ test "continue nested inline for loop" { try expect(a == 2); } -test "length of global array is determinable at comptime" { - const S = struct { - var bytes: [1024]u8 = undefined; +test "continue nested inline for loop in named block expr" { + // TODO: https://github.com/ziglang/zig/issues/13175 + if (builtin.zig_backend != .stage1) return error.SkipZigTest; - fn foo() !void { - try std.testing.expect(bytes.len == 1024); - } - }; - comptime try S.foo(); + var a: u8 = 0; + loop: inline for ([_]u8{ 1, 2 }) |x| { + a = b: { + inline for ([_]u8{1}) |y| { + if (x == y) { + continue :loop; + } + } + break :b x; + }; + try expect(x == 2); + } + try expect(a == 2); } |
