pub fn channel<T>() -> (Sender<T>, Receiver<T>) {
    let inner = Rc::new(RefCell::new(Inner {
        value: None,
        rx_task: LocalWaker::new(),
    }));
    let tx = Sender {
        inner: inner.clone(),
    };
    let rx = Receiver { inner };
    (tx, rx)
}
/// Creates a new futures-aware, one-shot channel.
Creates a new futures-aware, one-shot channel.
Creates a new futures - aware one - shot channel .
pub fn channel<T>() -> (Sender<T>, Receiver<T>) {
    let inner = Rc::new(RefCell::new(Inner {
        value: None,
        rx_task: LocalWaker::new(),
    }));
    let tx = Sender {
        inner: inner.clone(),
    };
    let rx = Receiver { inner };
    (tx, rx)
}
pub fn channel < T > ( ) -> ( Sender < T > , Receiver < T > ) { let inner = Rc :: new ( RefCell :: new ( Inner { value : None , rx_task : LocalWaker :: new ( ) , } ) ) ; let tx = Sender { inner : inner . clone ( ) , } ; let rx = Receiver { inner } ; ( tx , rx ) }
Creates a new futures-aware, one-shot channel.
Creates a new futures - aware one - shot channel .