fn map_init<O, T, S, U>(self, init: S, operation: O) -> MapInit<Self, S, O>
    where
        O: Fn(&mut U, Self::Item) -> T + Send,
        S: Fn() -> U + Send,
        T: Send,
    {
        MapInit::new(self, init, operation)
    }
/// Applies `operation` to a value returned by `init` with each item of this
/// iterator, producing a new iterator with the results.
///
/// The `init` function will be called only as needed for a value to be
/// paired with the group of items in each rayon job.  There is no
/// constraint on that returned type at all!
Applies `operation` to a value returned by `init` with each item of this
iterator, producing a new iterator with the results.

The `init` function will be called only as needed for a value to be
paired with the group of items in each rayon job.  There is no
constraint on that returned type at all!
Applies ` operation ` to a value returned by ` init ` with each item of this iterator producing a new iterator with the results . The ` init ` function will be called only as needed for a value to be paired with the group of items in each rayon job . There is no constraint on that returned type at all!
fn map_init<O, T, S, U>(self, init: S, operation: O) -> MapInit<Self, S, O>
    where
        O: Fn(&mut U, Self::Item) -> T + Send,
        S: Fn() -> U + Send,
        T: Send,
    {
        MapInit::new(self, init, operation)
    }
fn map_init < O , T , S , U > ( self , init : S , operation : O ) -> MapInit < Self , S , O > where O : Fn ( & mut U , Self :: Item ) -> T + Send , S : Fn ( ) -> U + Send , T : Send , { MapInit :: new ( self , init , operation ) }
Applies `operation` to a value returned by `init` with each item of this
iterator, producing a new iterator with the results.
Applies ` operation ` to a value returned by ` init ` with each item of this iterator producing a new iterator with the results .
self
init
S
operation
O
self
init
S
operation
O