rust/tests/codegen-llvm/issues/no-panic-for-pop-after-assert-71257.rs
okaneco 9e28de2720 Add codegen regression tests
Most of these regressions concern elimination of panics and bounds
checks that were fixed upstream by LLVM.
2025-08-20 22:29:45 -04:00

20 lines
422 B
Rust

// Tests that the `unwrap` branch is optimized out from the `pop` since the
// length has already been validated.
//@ compile-flags: -Copt-level=3
#![crate_type = "lib"]
pub enum Foo {
First(usize),
Second(usize),
}
// CHECK-LABEL: @check_only_one_panic
#[no_mangle]
pub fn check_only_one_panic(v: &mut Vec<Foo>) -> Foo {
// CHECK-COUNT-1: call{{.+}}panic
assert!(v.len() == 1);
v.pop().unwrap()
}