aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/eval.zig
diff options
context:
space:
mode:
authorCody Tapscott <topolarity@tapscott.me>2022-10-15 14:45:12 -0700
committerCody Tapscott <topolarity@tapscott.me>2022-10-21 12:40:33 -0700
commit74b9cbd8950f4752c5c80925a8baa5fb2492d99f (patch)
tree8874899e671955a29902823aca84ec1dbac0cf79 /test/behavior/eval.zig
parenta4523a2d4a0fb2b5c660a11aa37718080eebe9d0 (diff)
downloadzig-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.zig38
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);
}