| //@ run-pass | |
| //@ no-prefer-dynamic | |
| //@ needs-threads | |
| static mut HIT: bool = false; | |
| struct Foo; | |
| impl Drop for Foo { | |
| fn drop(&mut self) { | |
| unsafe { | |
| HIT = true; | |
| } | |
| } | |
| } | |
| thread_local!(static FOO: Foo = Foo); | |
| fn main() { | |
| std::thread::spawn(|| { | |
| FOO.with(|_| {}); | |
| }) | |
| .join() | |
| .unwrap(); | |
| assert!(unsafe { HIT }); | |
| } |