| //! Regression test for <https://github.com/rust-lang/rust/issues/30018>. |
| //! This is very similar to the original reported test, except that the |
| //! panic is wrapped in a spawned thread to isolate the expected error |
| //! result from the SIGTRAP injected by the drop-flag consistency checking. |
| |
| //@ run-pass |
| //@ needs-unwind |
| //@ needs-threads |
| //@ ignore-backends: gcc |
| |
| struct Foo; |
| |
| impl Drop for Foo { |
| fn drop(&mut self) {} |
| } |
| |
| fn foo() -> Foo { |
| panic!(); |
| } |
| |
| fn main() { |
| use std::thread; |
| let handle = thread::spawn(|| { |
| let _ = &[foo()]; |
| }); |
| let _ = handle.join(); |
| } |