// The worker trait defines what should be done when provided with input. This
// trait is automatically implemented for any Fn(I) -> O.
pubtraitWorker<I> {typeOutput;fnrun(&self, input: I)->Self::Output;}impl<T, I, O>Worker<I>forTwhere
T: Fn(I) -> O,
{typeOutput= O;fnrun(&self, input: I)-> O{self(input)}}