diff options
Diffstat (limited to 'tests/ui/threads-sendsync/comm.rs')
-rw-r--r-- | tests/ui/threads-sendsync/comm.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/ui/threads-sendsync/comm.rs b/tests/ui/threads-sendsync/comm.rs new file mode 100644 index 000000000..aa86e174d --- /dev/null +++ b/tests/ui/threads-sendsync/comm.rs @@ -0,0 +1,22 @@ +// run-pass +#![allow(unused_must_use)] +// ignore-emscripten no threads support + +use std::thread; +use std::sync::mpsc::{channel, Sender}; + +pub fn main() { + let (tx, rx) = channel(); + let t = thread::spawn(move|| { child(&tx) }); + let y = rx.recv().unwrap(); + println!("received"); + println!("{}", y); + assert_eq!(y, 10); + t.join(); +} + +fn child(c: &Sender<isize>) { + println!("sending"); + c.send(10).unwrap(); + println!("value sent"); +} |