mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-25 15:04:33 +00:00
33 lines
550 B
Rust
33 lines
550 B
Rust
|
enum Empty {}
|
||
|
|
||
|
enum S {
|
||
|
A(Empty),
|
||
|
B,
|
||
|
C,
|
||
|
}
|
||
|
|
||
|
use S::*;
|
||
|
|
||
|
// EMIT_MIR uninhabited_fallthrough_elimination.keep_fallthrough.UninhabitedEnumBranching.diff
|
||
|
fn keep_fallthrough(s: S) -> u32 {
|
||
|
match s {
|
||
|
A(_) => 1,
|
||
|
B => 2,
|
||
|
_ => 3,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
// EMIT_MIR uninhabited_fallthrough_elimination.eliminate_fallthrough.UninhabitedEnumBranching.diff
|
||
|
fn eliminate_fallthrough(s: S) -> u32 {
|
||
|
match s {
|
||
|
C => 1,
|
||
|
B => 2,
|
||
|
_ => 3,
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fn main() {
|
||
|
keep_fallthrough(B);
|
||
|
eliminate_fallthrough(B);
|
||
|
}
|