aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/bugs/10970.zig
blob: 539dfaff719a7dbeabd78f92301370bb0e143ad9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
const builtin = @import("builtin");

fn retOpt() ?u32 {
    return null;
}
test "breaking from a loop in an if statement" {
    if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
    if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest;
    if (builtin.zig_backend == .stage2_sparc64) return error.SkipZigTest; // TODO

    var cond = true;
    const opt = while (cond) {
        if (retOpt()) |opt| {
            break opt;
        }
        break 1;
    } else 2;
    _ = opt;
}