rust/tests/codegen/bounds-checking/gep-issue-133979.rs

23 lines
528 B
Rust

//! 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()
}