pub trait FusedFuture: Future {
    // Required method
    fn is_terminated(&self) -> bool;
}
Expand description

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§

source

fn is_terminated(&self) -> bool

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

Implementations on Foreign Types§

source§

impl<F> FusedFuture for &mut F
where F: FusedFuture + Unpin + ?Sized,

source§

impl<F> FusedFuture for Box<F>
where F: FusedFuture + Unpin + ?Sized,

source§

impl<F> FusedFuture for AssertUnwindSafe<F>
where F: FusedFuture,

source§

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

Implementors§

source§

impl<A, B> FusedFuture for Either<A, B>
where A: FusedFuture, B: FusedFuture<Output = <A as Future>::Output>,

source§

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

source§

impl<F> FusedFuture for Flatten<F>
where Flatten<F, <F as Future>::Output>: FusedFuture, F: Future,

source§

impl<F> FusedFuture for OptionFuture<F>
where F: FusedFuture,

source§

impl<F, R> FusedFuture for Lazy<F>
where F: FnOnce(&mut Context<'_>) -> R,

source§

impl<Fut1, Fut2> FusedFuture for Join<Fut1, Fut2>
where Fut1: FusedFuture, Fut2: FusedFuture,

source§

impl<Fut1, Fut2> FusedFuture for TryFlatten<Fut1, Fut2>
where TryFlatten<Fut1, Fut2>: FusedFuture,

source§

impl<Fut1, Fut2, F> FusedFuture for AndThen<Fut1, Fut2, F>
where TryFlatten<MapOk<Fut1, F>, Fut2>: FusedFuture,

source§

impl<Fut1, Fut2, F> FusedFuture for OrElse<Fut1, Fut2, F>
where TryFlattenErr<MapErr<Fut1, F>, Fut2>: FusedFuture,

source§

impl<Fut1, Fut2, F> FusedFuture for Then<Fut1, Fut2, F>
where Flatten<Map<Fut1, F>, Fut2>: FusedFuture,

source§

impl<Fut1, Fut2, Fut3> FusedFuture for Join3<Fut1, Fut2, Fut3>
where Fut1: FusedFuture, Fut2: FusedFuture, Fut3: FusedFuture,

source§

impl<Fut1, Fut2, Fut3, Fut4> FusedFuture for Join4<Fut1, Fut2, Fut3, Fut4>
where Fut1: FusedFuture, Fut2: FusedFuture, Fut3: FusedFuture, Fut4: FusedFuture,

source§

impl<Fut1, Fut2, Fut3, Fut4, Fut5> FusedFuture for Join5<Fut1, Fut2, Fut3, Fut4, Fut5>
where Fut1: FusedFuture, Fut2: FusedFuture, Fut3: FusedFuture, Fut4: FusedFuture, Fut5: FusedFuture,

source§

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

source§

impl<Fut> FusedFuture for TryMaybeDone<Fut>
where Fut: TryFuture,

source§

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

source§

impl<Fut> FusedFuture for IntoFuture<Fut>
where Fut: TryFuture + FusedFuture,

source§

impl<Fut> FusedFuture for NeverError<Fut>
where Map<Fut, OkFn<Infallible>>: FusedFuture,

source§

impl<Fut> FusedFuture for Shared<Fut>
where Fut: Future, <Fut as Future>::Output: Clone,

source§

impl<Fut> FusedFuture for UnitError<Fut>
where Map<Fut, OkFn<()>>: FusedFuture,

source§

impl<Fut, E> FusedFuture for ErrInto<Fut, E>
where MapErr<Fut, IntoFn<E>>: FusedFuture,

source§

impl<Fut, E> FusedFuture for OkInto<Fut, E>
where MapOk<Fut, IntoFn<E>>: FusedFuture,

source§

impl<Fut, F> FusedFuture for Inspect<Fut, F>
where Map<Fut, InspectFn<F>>: FusedFuture,

source§

impl<Fut, F> FusedFuture for InspectErr<Fut, F>
where Inspect<IntoFuture<Fut>, InspectErrFn<F>>: FusedFuture,

source§

impl<Fut, F> FusedFuture for InspectOk<Fut, F>
where Inspect<IntoFuture<Fut>, InspectOkFn<F>>: FusedFuture,

source§

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

source§

impl<Fut, F> FusedFuture for MapErr<Fut, F>
where Map<IntoFuture<Fut>, MapErrFn<F>>: FusedFuture,

source§

impl<Fut, F> FusedFuture for MapOk<Fut, F>
where Map<IntoFuture<Fut>, MapOkFn<F>>: FusedFuture,

source§

impl<Fut, F> FusedFuture for UnwrapOrElse<Fut, F>
where Map<IntoFuture<Fut>, UnwrapOrElseFn<F>>: FusedFuture,

source§

impl<Fut, F, G> FusedFuture for MapOkOrElse<Fut, F, G>
where Map<IntoFuture<Fut>, ChainFn<MapOkFn<F>, ChainFn<MapErrFn<G>, MergeResultFn>>>: FusedFuture,

source§

impl<Fut, T> FusedFuture for MapInto<Fut, T>
where Map<Fut, IntoFn<T>>: FusedFuture,

source§

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

source§

impl<St> FusedFuture for Count<St>
where St: FusedStream,

source§

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

source§

impl<St> FusedFuture for Peek<'_, St>
where St: Stream,

source§

impl<St> FusedFuture for PeekMut<'_, St>
where St: Stream,

source§

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

source§

impl<St> FusedFuture for StreamFuture<St>
where St: Stream + Unpin,

source§

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

source§

impl<St, A, B, FromA, FromB> FusedFuture for Unzip<St, FromA, FromB>
where St: FusedStream<Item = (A, B)>, FromA: Default + Extend<A>, FromB: Default + Extend<B>,

source§

impl<St, C> FusedFuture for Collect<St, C>
where St: FusedStream, C: Default + Extend<<St as Stream>::Item>,

source§

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

source§

impl<St, F> FusedFuture for NextIf<'_, St, F>
where St: Stream, F: for<'a> FnOnce1<&'a <St as Stream>::Item, Output = bool>,

source§

impl<St, Fut, F> FusedFuture for All<St, Fut, F>
where St: Stream, F: FnMut(<St as Stream>::Item) -> Fut, Fut: Future<Output = bool>,

source§

impl<St, Fut, F> FusedFuture for Any<St, Fut, F>
where St: Stream, F: FnMut(<St as Stream>::Item) -> Fut, Fut: Future<Output = bool>,

source§

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

source§

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

source§

impl<St, Fut, F> FusedFuture for TryAll<St, Fut, F>
where St: TryStream, F: FnMut(<St as TryStream>::Ok) -> Fut, Fut: Future<Output = bool>,

source§

impl<St, Fut, F> FusedFuture for TryAny<St, Fut, F>
where St: TryStream, F: FnMut(<St as TryStream>::Ok) -> Fut, Fut: Future<Output = bool>,

source§

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

source§

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

source§

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

source§

impl<St, Si> FusedFuture for Forward<St, Si>
where Forward<St, Si, <St as TryStream>::Ok>: FusedFuture, St: TryStream,

source§

impl<St, T> FusedFuture for NextIfEq<'_, St, T>
where St: Stream, <St as Stream>::Item: PartialEq<T>, T: ?Sized,

source§

impl<T> FusedFuture for Receiver<T>

source§

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

source§

impl<T> FusedFuture for OwnedMutexLockFuture<T>
where T: ?Sized,

source§

impl<T> FusedFuture for Pending<T>

source§

impl<T> FusedFuture for PollImmediate<T>
where T: Future,

source§

impl<T> FusedFuture for Ready<T>