//@ run-pass //@ needs-threads use std::thread; struct Foo; impl Drop for Foo { fn drop(&mut self) { println!("test2"); } } thread_local!(static FOO: Foo = Foo); fn main() { // Off the main thread due to #28129, be sure to initialize FOO first before // calling `println!` thread::spawn(|| { FOO.with(|_| {}); println!("test1"); }) .join() .unwrap(); }