23 lines
528 B
Rust
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()
|
||
|
}
|