| // Make sure redundant testing paths in `match` expressions are sorted out. | |
| #![feature(exclusive_range_pattern)] | |
| // EMIT_MIR match_test.main.SimplifyCfg-initial.after.mir | |
| fn main() { | |
| let x = 3; | |
| let b = true; | |
| // When `(0..=10).contains(x) && !b`, we should jump to the last arm | |
| // without testing two other candidates. | |
| match x { | |
| 0..10 if b => 0, | |
| 10..=20 => 1, | |
| -1 => 2, | |
| _ => 3, | |
| }; | |
| } |