pub fn send_once<T>() -> (SendOnce<T>, ReceiveOnce<T>) {
    let channel = BoxPtr::new(Box::new(Channel::new()));
    (
        SendOnce { channel },
        ReceiveOnce {
            channel: channel.into(),
        },
    )
}
/// Create a channel for sending a single value between a producer and consumer.
Create a channel for sending a single value between a producer and consumer.
Create a channel for sending a single value between a producer and consumer .
pub fn send_once<T>() -> (SendOnce<T>, ReceiveOnce<T>) {
    let channel = BoxPtr::new(Box::new(Channel::new()));
    (
        SendOnce { channel },
        ReceiveOnce {
            channel: channel.into(),
        },
    )
}
pub fn send_once < T > ( ) -> ( SendOnce < T > , ReceiveOnce < T > ) { let channel = BoxPtr :: new ( Box :: new ( Channel :: new ( ) ) ) ; ( SendOnce { channel } , ReceiveOnce { channel : channel . into ( ) , } , ) }
Create a channel for sending a single value between a producer and consumer.
Create a channel for sending a single value between a producer and consumer .