1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
//@ 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 }); }