Function crossbeam_channel::never 
source · [−]pub fn never<T>() -> Receiver<T>Expand description
Creates a receiver that never delivers messages.
The channel is bounded with capacity of 0 and never gets disconnected.
Examples
Using a never channel to optionally add a timeout to select!:
use std::thread;
use std::time::{Duration, Instant};
use crossbeam_channel::{after, never, unbounded};
let (s, r) = unbounded();
thread::spawn(move || {
    thread::sleep(Duration::from_secs(1));
    s.send(1).unwrap();
});
// Suppose this duration can be a `Some` or a `None`.
let duration = Some(Duration::from_millis(100));
// Create a channel that times out after the specified duration.
let timeout = duration
    .map(|d| after(d))
    .unwrap_or(never());
select! {
    recv(r) -> msg => assert_eq!(msg, Ok(1)),
    recv(timeout) -> _ => println!("timed out"),
}