pub trait Push<T> {
// Required method
fn push(&mut self, element: &mut Option<T>);
// Provided methods
fn send(&mut self, element: T) { ... }
fn done(&mut self) { ... }
}Expand description
Pushing elements of type T.
This trait moves data around using references rather than ownership,
which provides the opportunity for zero-copy operation. In the call
to push(element) the implementor can swap some other value to
replace element, effectively returning the value to the caller.
Conventionally, a sequence of calls to push() should conclude with
a call of push(&mut None) or done() to signal to implementors that
another call to push() may not be coming.