parail 0.1.1

Easily switch between sequential and parallel.
Documentation
pub struct Receiver<T> {
    receiver: std::sync::mpsc::Receiver<T>,
}
pub struct Sender<T> {
    sender: std::sync::mpsc::Sender<T>,
}

impl<T> Receiver<T> {
    pub fn recv(self) -> Result<T, std::sync::mpsc::RecvError> {
        self.receiver.recv()
    }
}

impl<T> Sender<T> {
    pub fn send(self, item: T) -> Result<(), std::sync::mpsc::SendError<T>> {
        self.sender.send(item)
    }
}

pub fn channel<T>() -> (Sender<T>, Receiver<T>) {
    let (sender, receiver) = std::sync::mpsc::channel();
    (Sender { sender }, Receiver { receiver })
}