about summary refs log tree commit diff
path: root/tests/codegen-llvm/issues/no-panic-for-pop-after-assert-71257.rs
blob: 68877c28d6cee2976316e2c14e25515e0a787e34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 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()
}