// 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, }; }