| // 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() | |
| } |