aboutsummaryrefslogtreecommitdiff
path: root/test/cases/nested_blocks.zig
blob: 9c5415a667399bb1235c649ae0f72a68386342d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
fn assert(ok: bool) void {
    if (!ok) unreachable;
}

fn foo(ok: bool) i32 {
    var val: i32 = blk: {
        const val2: i32 = another: {
            if (!ok) break :blk 10;
            break :another 10;
        };
        break :blk val2 + 10;
    };
    return (&val).*;
}

pub fn main() void {
    assert(foo(false) == 10);
    assert(foo(true) == 20);
}

// run
// backend=selfhosted,llvm
// target=x86_64-linux,x86_64-macos
//