[][src]Trait futures::future::FusedFuture

pub trait FusedFuture {
    fn is_terminated(&self) -> bool;
}
[]

A Future or TryFuture which tracks whether or not the underlying future should no longer be polled.

is_terminated will return true if a future should no longer be polled. Usually, this state occurs after poll (or try_poll) returned Poll::Ready. However, is_terminated may also return true if a future has become inactive and can no longer make progress and should be ignored or dropped rather than being polled again.

Required methods

fn is_terminated(&self) -> bool[]

Returns true if the underlying future should no longer be polled.

Implementations on Foreign Types

impl<'_, F> FusedFuture for &'_ mut F where
    F: FusedFuture + ?Sized
[src][]

impl<F> FusedFuture for Box<F> where
    F: FusedFuture + ?Sized
[src][]

impl<F> FusedFuture for AssertUnwindSafe<F> where
    F: FusedFuture
[src][]

impl<P> FusedFuture for Pin<P> where
    P: DerefMut + Unpin,
    <P as Deref>::Target: FusedFuture
[src][]

Implementors

impl<'_, St> FusedFuture for Next<'_, St> where
    St: FusedStream + ?Sized
[src][]

impl<'_, St> FusedFuture for SelectNextSome<'_, St> where
    St: FusedStream + ?Sized
[src][]

impl<'_, St> FusedFuture for TryNext<'_, St> where
    St: Unpin + FusedStream + ?Sized
[src][]

impl<'_, T> FusedFuture for MutexLockFuture<'_, T> where
    T: ?Sized
[src][]

impl<A, B> FusedFuture for Either<A, B> where
    A: FusedFuture,
    B: FusedFuture
[src][]

impl<F> FusedFuture for Lazy<F>[src][]

impl<Fut> FusedFuture for MaybeDone<Fut> where
    Fut: Future
[src][]

impl<Fut> FusedFuture for Flatten<Fut> where
    Fut: Future,
    <Fut as Future>::Output: Future
[src][]

impl<Fut> FusedFuture for Fuse<Fut> where
    Fut: Future
[src][]

impl<Fut> FusedFuture for IntoFuture<Fut> where
    Fut: FusedFuture
[src][]

impl<Fut> FusedFuture for NeverError<Fut> where
    Fut: FusedFuture
[src][]

impl<Fut> FusedFuture for Shared<Fut> where
    Fut: Future
[src][]

impl<Fut> FusedFuture for UnitError<Fut> where
    Fut: FusedFuture
[src][]

impl<Fut, E> FusedFuture for ErrInto<Fut, E> where
    Fut: FusedFuture
[src][]

impl<Fut, F> FusedFuture for Inspect<Fut, F> where
    Fut: Future + FusedFuture
[src][]

impl<Fut, F> FusedFuture for InspectErr<Fut, F> where
    Fut: FusedFuture
[src][]

impl<Fut, F> FusedFuture for InspectOk<Fut, F> where
    Fut: FusedFuture
[src][]

impl<Fut, F> FusedFuture for Map<Fut, F>[src][]

impl<Fut, F> FusedFuture for MapErr<Fut, F>[src][]

impl<Fut, F> FusedFuture for MapOk<Fut, F>[src][]

impl<Fut, F> FusedFuture for UnwrapOrElse<Fut, F>[src][]

impl<Fut1, Fut2, F> FusedFuture for AndThen<Fut1, Fut2, F> where
    F: FnOnce(<Fut1 as TryFuture>::Ok) -> Fut2,
    Fut1: TryFuture,
    Fut2: TryFuture<Error = <Fut1 as TryFuture>::Error>, 
[src][]

impl<Fut1, Fut2, F> FusedFuture for OrElse<Fut1, Fut2, F> where
    F: FnOnce(<Fut1 as TryFuture>::Error) -> Fut2,
    Fut1: TryFuture,
    Fut2: TryFuture<Ok = <Fut1 as TryFuture>::Ok>, 
[src][]

impl<Fut1, Fut2, F> FusedFuture for Then<Fut1, Fut2, F>[src][]

impl<St> FusedFuture for StreamFuture<St>[src][]

impl<St, C> FusedFuture for Collect<St, C> where
    St: FusedStream
[src][]

impl<St, C> FusedFuture for TryCollect<St, C> where
    St: FusedStream
[src][]

impl<St, Fut, F> FusedFuture for ForEach<St, Fut, F> where
    St: FusedStream
[src][]

impl<St, Fut, F> FusedFuture for ForEachConcurrent<St, Fut, F>[src][]

impl<St, Fut, F> FusedFuture for TryForEachConcurrent<St, Fut, F>[src][]

impl<St, Fut, T, F> FusedFuture for Fold<St, Fut, T, F>[src][]

impl<St, Fut, T, F> FusedFuture for TryFold<St, Fut, T, F>[src][]

impl<St, Si> FusedFuture for Forward<St, Si> where
    Si: Unpin + Sink<<St as TryStream>::Ok>,
    St: TryStream
[src][]

impl<T> FusedFuture for Pending<T>[src][]

impl<T> FusedFuture for Ready<T>[src][]

impl<Fut: Future + FusedFuture> FusedFuture for PendingOnce<Fut>

impl<F> FusedFuture for Lazy<F>

impl<T> FusedFuture for Pending<T>

impl<Fut: Future> FusedFuture for MaybeDone<Fut>

impl<T> FusedFuture for Ready<T>

impl<Fut> FusedFuture for Flatten<Fut> where
    Fut: Future,
    Fut::Output: Future

impl<Fut: Future> FusedFuture for Fuse<Fut>

impl<Fut, F> FusedFuture for Map<Fut, F>

impl<Fut1, Fut2, F> FusedFuture for Then<Fut1, Fut2, F>

impl<Fut: Future + FusedFuture, F> FusedFuture for Inspect<Fut, F>

impl<Fut: FusedFuture> FusedFuture for UnitError<Fut>

impl<Fut: FusedFuture> FusedFuture for NeverError<Fut>

impl<A, B> FusedFuture for Either<A, B> where
    A: FusedFuture,
    B: FusedFuture

impl<Fut: Future> FusedFuture for Shared<Fut>

impl<Fut1, Fut2, F> FusedFuture for AndThen<Fut1, Fut2, F> where
    Fut1: TryFuture,
    Fut2: TryFuture<Error = Fut1::Error>,
    F: FnOnce(Fut1::Ok) -> Fut2, 

impl<Fut: FusedFuture, E> FusedFuture for ErrInto<Fut, E>

impl<Fut: FusedFuture, F> FusedFuture for InspectOk<Fut, F>

impl<Fut: FusedFuture, F> FusedFuture for InspectErr<Fut, F>

impl<Fut: FusedFuture> FusedFuture for IntoFuture<Fut>

impl<Fut, F> FusedFuture for MapErr<Fut, F>

impl<Fut, F> FusedFuture for MapOk<Fut, F>

impl<Fut1, Fut2, F> FusedFuture for OrElse<Fut1, Fut2, F> where
    Fut1: TryFuture,
    Fut2: TryFuture<Ok = Fut1::Ok>,
    F: FnOnce(Fut1::Error) -> Fut2, 

impl<Fut, F> FusedFuture for UnwrapOrElse<Fut, F>

impl<St: FusedStream, C> FusedFuture for Collect<St, C>

impl<St, Fut, T, F> FusedFuture for Fold<St, Fut, T, F>

impl<St: TryStream, Si: Sink<St::Ok> + Unpin> FusedFuture for Forward<St, Si>

impl<St: FusedStream, Fut, F> FusedFuture for ForEach<St, Fut, F>

impl<St> FusedFuture for StreamFuture<St>

impl<'_, St: ?Sized + FusedStream> FusedFuture for Next<'_, St>

impl<'_, St: ?Sized + FusedStream> FusedFuture for SelectNextSome<'_, St>

impl<St, Fut, F> FusedFuture for ForEachConcurrent<St, Fut, F>

impl<'_, St: ?Sized + Unpin + FusedStream> FusedFuture for TryNext<'_, St>

impl<St: FusedStream, C> FusedFuture for TryCollect<St, C>

impl<St, Fut, T, F> FusedFuture for TryFold<St, Fut, T, F>

impl<St, Fut, F> FusedFuture for TryForEachConcurrent<St, Fut, F>

impl<'_, T: ?Sized> FusedFuture for MutexLockFuture<'_, T>