fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F>
    where
        F: FnMut(Self::Error) -> Fut,
        Fut: TryFuture<Ok = Self::Ok>,
        Self: Sized,
    {
        assert_stream::<Result<Self::Ok, Fut::Error>, _>(OrElse::new(self, f))
    }
/// Chain on a computation for when an error happens, passing the
/// erroneous result to the provided closure `f`.
///
/// This function can be used to run a unit of work and attempt to recover from
/// an error if one happens. The closure provided will be yielded an error
/// when one appears, and the returned future will then be run to completion
/// to produce the next value on this stream.
///
/// Any successful values produced by this stream will not be passed to the
/// closure, and will be passed through.
///
/// The returned value of the closure must implement the [`TryFuture`](futures_core::future::TryFuture) trait
/// and can represent some more work to be done before the composed stream
/// is finished.
///
/// Note that this function consumes the receiving stream and returns a
/// wrapped version of it.
Chain on a computation for when an error happens, passing the
erroneous result to the provided closure `f`.

This function can be used to run a unit of work and attempt to recover from
an error if one happens. The closure provided will be yielded an error
when one appears, and the returned future will then be run to completion
to produce the next value on this stream.

Any successful values produced by this stream will not be passed to the
closure, and will be passed through.

The returned value of the closure must implement the [`TryFuture`](futures_core::future::TryFuture) trait
and can represent some more work to be done before the composed stream
is finished.

Note that this function consumes the receiving stream and returns a
wrapped version of it.
Chain on a computation for when an error happens passing the erroneous result to the provided closure ` f ` . This function can be used to run a unit of work and attempt to recover from an error if one happens . The closure provided will be yielded an error when one appears and the returned future will then be run to completion to produce the next value on this stream . Any successful values produced by this stream will not be passed to the closure and will be passed through . The returned value of the closure must implement the [ ` TryFuture ` ] ( futures_core :: future :: TryFuture ) trait and can represent some more work to be done before the composed stream is finished . Note that this function consumes the receiving stream and returns a wrapped version of it .
fn or_else<Fut, F>(self, f: F) -> OrElse<Self, Fut, F>
    where
        F: FnMut(Self::Error) -> Fut,
        Fut: TryFuture<Ok = Self::Ok>,
        Self: Sized,
    {
        assert_stream::<Result<Self::Ok, Fut::Error>, _>(OrElse::new(self, f))
    }
fn or_else < Fut , F > ( self , f : F ) -> OrElse < Self , Fut , F > where F : FnMut ( Self :: Error ) -> Fut , Fut : TryFuture < Ok = Self :: Ok > , Self : Sized , { assert_stream :: < Result < Self :: Ok , Fut :: Error > , _ > ( OrElse :: new ( self , f ) ) }
Chain on a computation for when an error happens, passing the
erroneous result to the provided closure `f`.
Chain on a computation for when an error happens passing the erroneous result to the provided closure ` f ` .
self
f
F
self
f
F