[][src]Trait futures_util::future::FusedFuture

pub trait FusedFuture: Future {
    fn is_terminated(&self) -> bool;
}

A future 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.

Loading content...

Implementations on Foreign Types

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

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

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

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

Loading content...

Implementors

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

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

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

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

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

impl<A, B> FusedFuture for Select<A, B> where
    A: Future + Unpin,
    B: Future + Unpin
[src]

impl<F, R> FusedFuture for Lazy<F> where
    F: FnOnce(&mut Context) -> R, 
[src]

impl<F: FusedFuture> FusedFuture for OptionFuture<F>[src]

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

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

impl<Fut, E> FusedFuture for ErrInto<Fut, E> where
    Fut: TryFuture + FusedFuture,
    Fut::Error: Into<E>, 
[src]

impl<Fut, F> FusedFuture for Inspect<Fut, F> where
    Fut: FusedFuture,
    F: FnOnce(&Fut::Output), 
[src]

impl<Fut, F> FusedFuture for InspectErr<Fut, F> where
    Fut: TryFuture + FusedFuture,
    F: FnOnce(&Fut::Error), 
[src]

impl<Fut, F> FusedFuture for InspectOk<Fut, F> where
    Fut: TryFuture + FusedFuture,
    F: FnOnce(&Fut::Ok), 
[src]

impl<Fut, F> FusedFuture for UnwrapOrElse<Fut, F> where
    Fut: TryFuture,
    F: FnOnce(Fut::Error) -> Fut::Ok
[src]

impl<Fut, F, E> FusedFuture for MapErr<Fut, F> where
    Fut: TryFuture,
    F: FnOnce(Fut::Error) -> E, 
[src]

impl<Fut, F, T> FusedFuture for Map<Fut, F> where
    Fut: Future,
    F: FnOnce(Fut::Output) -> T, 
[src]

impl<Fut, F, T> FusedFuture for MapOk<Fut, F> where
    Fut: TryFuture,
    F: FnOnce(Fut::Ok) -> T, 
[src]

impl<Fut1, Fut2, F> FusedFuture for Then<Fut1, Fut2, F> where
    Fut1: Future,
    Fut2: Future,
    F: FnOnce(Fut1::Output) -> Fut2, 
[src]

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

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

impl<Fut1: FusedFuture, Fut2: FusedFuture> FusedFuture for Join<Fut1, Fut2>[src]

impl<Fut1: FusedFuture, Fut2: FusedFuture, Fut3: FusedFuture> FusedFuture for Join3<Fut1, Fut2, Fut3>[src]

impl<Fut1: FusedFuture, Fut2: FusedFuture, Fut3: FusedFuture, Fut4: FusedFuture> FusedFuture for Join4<Fut1, Fut2, Fut3, Fut4>[src]

impl<Fut1: FusedFuture, Fut2: FusedFuture, Fut3: FusedFuture, Fut4: FusedFuture, Fut5: FusedFuture> FusedFuture for Join5<Fut1, Fut2, Fut3, Fut4, Fut5>[src]

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

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

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

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

impl<Fut: TryFuture + FusedFuture> FusedFuture for IntoFuture<Fut>[src]

impl<St> FusedFuture for Concat<St> where
    St: FusedStream,
    St::Item: Extend<<St::Item as IntoIterator>::Item> + IntoIterator + Default
[src]

impl<St, C> FusedFuture for Collect<St, C> where
    St: FusedStream,
    C: Default + Extend<St::Item>, 
[src]

impl<St, C> FusedFuture for TryCollect<St, C> where
    St: TryStream + FusedStream,
    C: Default + Extend<St::Ok>, 
[src]

impl<St, Fut, F> FusedFuture for ForEach<St, Fut, F> where
    St: FusedStream,
    F: FnMut(St::Item) -> Fut,
    Fut: Future<Output = ()>, 
[src]

impl<St, Fut, F> FusedFuture for ForEachConcurrent<St, Fut, F> where
    St: Stream,
    F: FnMut(St::Item) -> Fut,
    Fut: Future<Output = ()>, 
[src]

impl<St, Fut, F> FusedFuture for TryForEachConcurrent<St, Fut, F> where
    St: TryStream,
    F: FnMut(St::Ok) -> Fut,
    Fut: Future<Output = Result<(), St::Error>>, 
[src]

impl<St, Fut, T, F> FusedFuture for Fold<St, Fut, T, F> where
    St: Stream,
    F: FnMut(T, St::Item) -> Fut,
    Fut: Future<Output = T>, 
[src]

impl<St, Fut, T, F> FusedFuture for TryFold<St, Fut, T, F> where
    St: TryStream,
    F: FnMut(T, St::Ok) -> Fut,
    Fut: TryFuture<Ok = T, Error = St::Error>, 
[src]

impl<St, Si, Item, E> FusedFuture for Forward<St, Si> where
    Si: Sink<Item, Error = E>,
    St: Stream<Item = Result<Item, E>>, 
[src]

impl<St: Stream + Unpin> FusedFuture for StreamFuture<St>[src]

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

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

Loading content...