| //@ run-pass | |
| #![allow(unused_must_use)] | |
| #![allow(deprecated)] | |
| //@ needs-threads | |
| use std::sync::mpsc::{channel, TryRecvError}; | |
| use std::thread; | |
| pub fn main() { | |
| let (tx, rx) = channel(); | |
| let t = thread::spawn(move || { | |
| thread::sleep_ms(10); | |
| tx.send(()).unwrap(); | |
| }); | |
| loop { | |
| match rx.try_recv() { | |
| Ok(()) => break, | |
| Err(TryRecvError::Empty) => {} | |
| Err(TryRecvError::Disconnected) => unreachable!(), | |
| } | |
| } | |
| t.join(); | |
| } |