16 lines
440 B
Rust
16 lines
440 B
Rust
// ignore-windows: Concurrency on Windows is not supported yet.
|
|
|
|
//! Ensure that thread-local statics get deallocated when the thread dies.
|
|
|
|
#![feature(thread_local)]
|
|
|
|
#[thread_local]
|
|
static mut TLS: u8 = 0;
|
|
|
|
fn main() {
|
|
unsafe {
|
|
let dangling_ptr = std::thread::spawn(|| &TLS as *const u8 as usize).join().unwrap();
|
|
let _val = *(dangling_ptr as *const u8); //~ ERROR dereferenced after this allocation got freed
|
|
}
|
|
}
|