summaryrefslogtreecommitdiffstats
path: root/tests/mir-opt/slice_filter.rs
blob: 97c18af31de7f9631017b3ad6c57b56f4ffc4af2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fn main() {
    let input = vec![];
    let _variant_a_result = variant_a(&input);
    let _variant_b_result = variant_b(&input);
}

pub fn variant_a(input: &[(usize, usize, usize, usize)]) -> usize {
    input.iter().filter(|(a, b, c, d)| a <= c && d <= b || c <= a && b <= d).count()
}

pub fn variant_b(input: &[(usize, usize, usize, usize)]) -> usize {
    input.iter().filter(|&&(a, b, c, d)| a <= c && d <= b || c <= a && b <= d).count()
}

// EMIT_MIR slice_filter.variant_a-{closure#0}.CopyProp.diff
// EMIT_MIR slice_filter.variant_a-{closure#0}.DestinationPropagation.diff
// EMIT_MIR slice_filter.variant_b-{closure#0}.CopyProp.diff
// EMIT_MIR slice_filter.variant_b-{closure#0}.DestinationPropagation.diff