// Copyright 2018 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. 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 `std::sync::mpsc::Sender<()>` cannot be shared between threads safely } fn main() {}