pub trait Drain<T> { // Required method fn drain(&mut self) -> T; }
A value that can produce a T by draining its content.
T
After being drained, the value should be ready to be reused.
Drain the Observer, producing a T.
Observer