| //@ run-pass | |
| //@ needs-threads | |
| //@ compile-flags: -O | |
| //@ ignore-nto Doesn't work without emulated TLS enabled (in LLVM) | |
| #![feature(thread_local)] | |
| #[thread_local] | |
| static S: u32 = 222; | |
| fn main() { | |
| let local = &S as *const u32 as usize; | |
| let foreign = std::thread::spawn(|| &S as *const u32 as usize).join().unwrap(); | |
| assert_ne!(local, foreign); | |
| } |