rust/tests/ui/issues/issue-25089.rs

35 lines
551 B
Rust

// run-pass
// needs-unwind
// ignore-emscripten no threads support
use std::thread;
struct Foo(#[allow(dead_code)] i32);
impl Drop for Foo {
fn drop(&mut self) {
static mut DROPPED: bool = false;
unsafe {
assert!(!DROPPED);
DROPPED = true;
}
}
}
struct Empty;
fn empty() -> Empty { Empty }
fn should_panic(_: Foo, _: Empty) {
panic!("test panic");
}
fn test() {
should_panic(Foo(1), empty());
}
fn main() {
let ret = thread::spawn(test).join();
assert!(ret.is_err());
}