rust/tests/ui/structs-enums/unit-like-struct-drop-run.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

25 lines
464 B
Rust
Raw Normal View History

// run-pass
// needs-unwind
// ignore-emscripten no threads support
2013-06-01 17:20:48 -05:00
// Make sure the destructor is run for unit-like structs.
2015-02-17 17:10:25 -06:00
use std::thread;
2013-06-01 17:20:48 -05:00
struct Foo;
impl Drop for Foo {
2013-09-16 20:18:07 -05:00
fn drop(&mut self) {
panic!("This panic should happen.");
2013-06-01 17:20:48 -05:00
}
}
pub fn main() {
2015-02-17 17:10:25 -06:00
let x = thread::spawn(move|| {
2013-06-01 17:20:48 -05:00
let _b = Foo;
}).join();
let s = x.unwrap_err().downcast::<&'static str>().unwrap();
assert_eq!(&**s, "This panic should happen.");
2013-06-01 17:20:48 -05:00
}