// skip-filecheck | |
enum Empty {} | |
enum S { | |
A(Empty), | |
B, | |
C, | |
} | |
use S::*; | |
// EMIT_MIR uninhabited_fallthrough_elimination.keep_fallthrough.UnreachableEnumBranching.diff | |
fn keep_fallthrough(s: S) -> u32 { | |
match s { | |
A(_) => 1, | |
B => 2, | |
_ => 3, | |
} | |
} | |
// EMIT_MIR uninhabited_fallthrough_elimination.eliminate_fallthrough.UnreachableEnumBranching.diff | |
fn eliminate_fallthrough(s: S) -> u32 { | |
match s { | |
C => 1, | |
B => 2, | |
_ => 3, | |
} | |
} | |
fn main() { | |
keep_fallthrough(B); | |
eliminate_fallthrough(B); | |
} |