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