//! Issue: <https://github.com/rust-lang/rust/issues/133979> | |
//! Check that bounds checking are eliminated. | |
//@ compile-flags: -Copt-level=2 | |
#![crate_type = "lib"] | |
// CHECK-LABEL: @test( | |
#[no_mangle] | |
fn test(a: &[&[u8]]) -> u32 { | |
// CHECK-NOT: panic_bounds_check | |
a.iter() | |
.enumerate() | |
.map(|(y, b)| { | |
b.iter() | |
.enumerate() | |
.filter(|(_, c)| **c == b'A') | |
.map(|(x, _)| a[y][x] as u32) | |
.sum::<u32>() | |
}) | |
.sum() | |
} |