]>
git.proxmox.com Git - rustc.git/blob - src/test/run-pass/task-spawn-move-and-copy.rs
1 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
11 // ignore-emscripten no threads support
13 #![allow(unknown_features)]
14 #![feature(box_syntax, std_misc)]
17 use std
::sync
::mpsc
::channel
;
20 let (tx
, rx
) = channel
::<usize>();
22 let x
: Box
<isize> = box 1;
23 let x_in_parent
= &(*x
) as *const isize as usize;
25 let t
= thread
::spawn(move || {
26 let x_in_child
= &(*x
) as *const isize as usize;
27 tx
.send(x_in_child
).unwrap();
30 let x_in_child
= rx
.recv().unwrap();
31 assert_eq
!(x_in_parent
, x_in_child
);