diff options
Diffstat (limited to 'src/test/codegen/issue-45964-bounds-check-slice-pos.rs')
-rw-r--r-- | src/test/codegen/issue-45964-bounds-check-slice-pos.rs | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/src/test/codegen/issue-45964-bounds-check-slice-pos.rs b/src/test/codegen/issue-45964-bounds-check-slice-pos.rs deleted file mode 100644 index aa59c713b..000000000 --- a/src/test/codegen/issue-45964-bounds-check-slice-pos.rs +++ /dev/null @@ -1,38 +0,0 @@ -// This test case checks that slice::{r}position functions do not -// prevent optimizing away bounds checks - -// compile-flags: -O - -#![crate_type="rlib"] - -// CHECK-LABEL: @test -#[no_mangle] -pub fn test(y: &[u32], x: &u32, z: &u32) -> bool { - let result = match y.iter().position(|a| a == x) { - Some(p) => Ok(p), - None => Err(()), - }; - - if let Ok(p) = result { - // CHECK-NOT: panic - y[p] == *z - } else { - false - } -} - -// CHECK-LABEL: @rtest -#[no_mangle] -pub fn rtest(y: &[u32], x: &u32, z: &u32) -> bool { - let result = match y.iter().rposition(|a| a == x) { - Some(p) => Ok(p), - None => Err(()), - }; - - if let Ok(p) = result { - // CHECK-NOT: panic - y[p] == *z - } else { - false - } -} |