rust/tests/ui/panics/nested_panic_caught.rs
2023-05-27 16:35:16 +02:00

25 lines
375 B
Rust

// run-pass
// needs-unwind
// Checks that nested panics work correctly.
use std::panic::catch_unwind;
fn double() {
struct Double;
impl Drop for Double {
fn drop(&mut self) {
let _ = catch_unwind(|| panic!("twice"));
}
}
let _d = Double;
panic!("once");
}
fn main() {
assert!(catch_unwind(|| double()).is_err());
}