[][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

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

Implementations on Foreign Types

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

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

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

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

Implementors

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

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

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

impl<'_, T> FusedFuture for MutexLockFuture<'_, T>[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 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 Empty<T>[src][]

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

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

impl<T> FusedFuture for Empty<T>

impl<F> FusedFuture for Lazy<F>

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<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> 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: FusedStream, '_> FusedFuture for Next<'_, St>

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

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

impl<St: 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, '_> FusedFuture for MutexLockFuture<'_, T>