summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/match_test.rs
blob: 3a21077905b96c8a3856c3ee4505274341f671a7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 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,
    };
}