aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig
blob: 1bad3787c5b904ce449c34b8d26ad30ad2a248bd (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
const TestEnum = enum { T1, T2 };

fn err(x: u8) TestEnum {
    switch (x) {
        0 => return TestEnum.T1,
        else => return TestEnum.T2,
    }
}

fn foo(x: u8) void {
    switch (err(x)) {
        TestEnum.T1 => {},
        TestEnum.T2 => {},
        else => {},
    }
}

export fn entry() usize {
    return @sizeOf(@TypeOf(&foo));
}

// error
//
// :14:14: error: unreachable else prong; all cases already handled