//@ 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); | |
} |