| //@ run-pass | |
| #![allow(unused_must_use)] | |
| //@ needs-threads | |
| use std::sync::mpsc::channel; | |
| use std::thread; | |
| pub fn main() { | |
| let (tx, rx) = channel::<usize>(); | |
| let x: Box<isize> = Box::new(1); | |
| let x_in_parent = &(*x) as *const isize as usize; | |
| let t = thread::spawn(move || { | |
| let x_in_child = &(*x) as *const isize as usize; | |
| tx.send(x_in_child).unwrap(); | |
| }); | |
| let x_in_child = rx.recv().unwrap(); | |
| assert_eq!(x_in_parent, x_in_child); | |
| t.join(); | |
| } |