// Regression test for #75525, verifies that no bounds checks are generated. // compile-flags: -O #![crate_type = "lib"] // CHECK-LABEL: @f0 // CHECK-NOT: panic #[no_mangle] pub fn f0(idx: usize, buf: &[u8; 10]) -> u8 { if idx < 8 { buf[idx + 1] } else { 0 } } // CHECK-LABEL: @f1 // CHECK-NOT: panic #[no_mangle] pub fn f1(idx: usize, buf: &[u8; 10]) -> u8 { if idx > 5 && idx < 8 { buf[idx - 1] } else { 0 } } // CHECK-LABEL: @f2 // CHECK-NOT: panic #[no_mangle] pub fn f2(idx: usize, buf: &[u8; 10]) -> u8 { if idx > 5 && idx < 8 { buf[idx] } else { 0 } }