Add test batch 4
This commit is contained in:
parent
fa3155a644
commit
6ca69812cd
48 changed files with 91 additions and 64 deletions
28
tests/ui/panic-handler/catch-unwind-during-unwind-68696.rs
Normal file
28
tests/ui/panic-handler/catch-unwind-during-unwind-68696.rs
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
// https://github.com/rust-lang/rust/issues/68696
|
||||
// Checks that catch_unwind can be used if unwinding is already in progress.
|
||||
// Used to fail when standard library had been compiled with debug assertions,
|
||||
// due to incorrect assumption that a current thread is not panicking when
|
||||
// entering the catch_unwind.
|
||||
//
|
||||
//@ run-pass
|
||||
//@ ignore-backends: gcc
|
||||
|
||||
use std::panic::catch_unwind;
|
||||
|
||||
#[allow(dead_code)]
|
||||
#[derive(Default)]
|
||||
struct Guard;
|
||||
|
||||
impl Drop for Guard {
|
||||
fn drop(&mut self) {
|
||||
let _ = catch_unwind(|| {});
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
#[cfg(panic = "unwind")]
|
||||
let _ = catch_unwind(|| {
|
||||
let _guard = Guard::default();
|
||||
panic!();
|
||||
});
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue