diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/mir-opt/uninhabited_fallthrough_elimination.rs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/test/mir-opt/uninhabited_fallthrough_elimination.rs b/src/test/mir-opt/uninhabited_fallthrough_elimination.rs new file mode 100644 index 000000000..0853883f8 --- /dev/null +++ b/src/test/mir-opt/uninhabited_fallthrough_elimination.rs @@ -0,0 +1,32 @@ +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); +} |