master
 1fn foo(x: u2) void {
 2    const y: Error!u2 = x;
 3    if (y) |_| {} else |e| switch (e) {
 4        error.Foo => {},
 5        error.Bar => {},
 6        error.Baz => {},
 7        else => {},
 8    }
 9}
10
11fn bar(x: u2) void {
12    const y: Error!u2 = x;
13    y catch |e| switch (e) {
14        error.Foo => {},
15        error.Bar => {},
16        error.Baz => {},
17        else => {},
18    };
19}
20
21const Error = error{ Foo, Bar, Baz };
22
23export fn entry() usize {
24    return @sizeOf(@TypeOf(&foo)) + @sizeOf(@TypeOf(&bar));
25}
26
27// error
28//
29// :7:14: error: unreachable else prong; all cases already handled
30// :17:14: error: unreachable else prong; all cases already handled