AllOf

Struct AllOf 

Source
pub struct AllOf<'s, C: ?Sized + Config, J: Joinable<C>> { /* private fields */ }
Expand description

A combinator for awaiting the completion of multiple futures.

This utility allows you to combine multiple IntoFuture futures into a single future that resolves only after all input futures have completed.

§Safety Warning

  • The ordering of fields in AllOf must not be changed. Specifically, the list of Joinable futures must precede the JoinState. Incorrect ordering can lead to undefined behavior due to dangling pointers.

Implementations§

Source§

impl<'s, C: ?Sized + Config, J: Joinable<C>> AllOf<'s, C, J>

Source

pub fn and<F: IntoFuture>( self, fut: F, ) -> AllOf<'s, C, impl Joinable<C, Output = (J::Output, F::Output)> + use<F, C, J>>

Adds another future to await to the list.

Trait Implementations§

Source§

impl<C: ?Sized + Config, J: Joinable<C>> Future for AllOf<'_, C, J>
where J::Output: Flatten,

Source§

type Output = <<J as Joinable<C>>::Output as Flatten>::Flattened

The type of value produced on completion.
Source§

fn poll(self: Pin<&mut Self>, _: &mut Context<'_>) -> Poll<Self::Output>

Attempts to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more
Source§

impl<'pin, 's, C: ?Sized + Config, J: Joinable<C>> Unpin for AllOf<'s, C, J>
where PinnedFieldsOf<__AllOf<'pin, 's, C, J>>: Unpin,

Auto Trait Implementations§

§

impl<'s, C, J> !Freeze for AllOf<'s, C, J>

§

impl<'s, C, J> !RefUnwindSafe for AllOf<'s, C, J>

§

impl<'s, C, J> !Send for AllOf<'s, C, J>

§

impl<'s, C, J> !Sync for AllOf<'s, C, J>

§

impl<'s, C, J> !UnwindSafe for AllOf<'s, C, J>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<F> IntoFuture for F
where F: Future,

Source§

type Output = <F as Future>::Output

The output that the future will produce on completion.
Source§

type IntoFuture = F

Which kind of future are we turning this into?
Source§

fn into_future(self) -> <F as IntoFuture>::IntoFuture

Creates a future from a value. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more