diff options
Diffstat (limited to 'src/test/ui/issues/issue-14875.rs')
-rw-r--r-- | src/test/ui/issues/issue-14875.rs | 35 |
1 files changed, 0 insertions, 35 deletions
diff --git a/src/test/ui/issues/issue-14875.rs b/src/test/ui/issues/issue-14875.rs deleted file mode 100644 index fca330915..000000000 --- a/src/test/ui/issues/issue-14875.rs +++ /dev/null @@ -1,35 +0,0 @@ -// run-pass -// needs-unwind - -// Check that values are not leaked when a dtor panics (#14875) - -use std::panic::{self, UnwindSafe}; - -struct SetInnerOnDrop<'a>(&'a mut bool); - -impl<'a> UnwindSafe for SetInnerOnDrop<'a> {} - -impl<'a> Drop for SetInnerOnDrop<'a> { - fn drop(&mut self) { - *self.0 = true; - } -} - -struct PanicOnDrop; -impl Drop for PanicOnDrop { - fn drop(&mut self) { - panic!("test panic"); - } -} - -fn main() { - let mut set_on_drop = false; - { - let set_inner_on_drop = SetInnerOnDrop(&mut set_on_drop); - let _ = panic::catch_unwind(|| { - let _set_inner_on_drop = set_inner_on_drop; - let _panic_on_drop = PanicOnDrop; - }); - } - assert!(set_on_drop); -} |