aboutsummaryrefslogtreecommitdiff
path: root/test/cases/compile_errors/switch_expression-unreachable_else_prong_enum.zig
blob: e7bb8d392f0de73aa48acd334945d4b1a5f5ef19 (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
25
26
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
// backend=llvm
// target=native
//
// :14:14: error: unreachable else prong; all cases already handled