diff options
Diffstat (limited to '')
-rw-r--r-- | src/test/ui/closures/closure-move-sync.rs | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/closures/closure-move-sync.rs b/src/test/ui/closures/closure-move-sync.rs new file mode 100644 index 000000000..ea2d1434c --- /dev/null +++ b/src/test/ui/closures/closure-move-sync.rs @@ -0,0 +1,22 @@ +use std::thread; +use std::sync::mpsc::channel; + +fn bar() { + let (send, recv) = channel(); + let t = thread::spawn(|| { + recv.recv().unwrap(); + //~^^ ERROR `std::sync::mpsc::Receiver<()>` cannot be shared between threads safely + }); + + send.send(()); + + t.join().unwrap(); +} + +fn foo() { + let (tx, _rx) = channel(); + thread::spawn(|| tx.send(()).unwrap()); + //~^ ERROR `Sender<()>` cannot be shared between threads safely +} + +fn main() {} |