Enum MaybeDone
pub enum MaybeDone<F: Future>
Future used by join! that stores it's output to
be later taken and doesn't panic when polled after ready.
This type is public in a private module for use by the macro.
Variants
-
Future(F) -
Done(F::Output) -
Taken
Implementations
impl<F: Future> MaybeDone<F>
fn take_output(&mut self) -> Option<F::Output>
Trait Implementations
impl<F: Future> Future for MaybeDone<F>
type Output = ();fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>
Auto Trait Implementations
impl<F> Freeze for MaybeDone<F>
where
F: Freeze,
<F as Future>::Output: Freeze,
impl<F> RefUnwindSafe for MaybeDone<F>
where
F: RefUnwindSafe,
<F as Future>::Output: RefUnwindSafe,
impl<F> Send for MaybeDone<F>
where
F: Send,
<F as Future>::Output: Send,
impl<F> Sync for MaybeDone<F>
where
F: Sync,
<F as Future>::Output: Sync,
impl<F> Unpin for MaybeDone<F>
where
F: Unpin,
<F as Future>::Output: Unpin,
impl<F> UnsafeUnpin for MaybeDone<F>
where
F: UnsafeUnpin,
<F as Future>::Output: UnsafeUnpin,
impl<F> UnwindSafe for MaybeDone<F>
where
F: UnwindSafe,
<F as Future>::Output: UnwindSafe,
Blanket Implementations
impl<F> IntoFuture for MaybeDone<F>
where
F: Future,
type Output = <F as Future>::Output;type IntoFuture = F;fn into_future(self) -> <F as IntoFuture>::IntoFuture
impl<T> Any for MaybeDone<F>
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for MaybeDone<F>
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for MaybeDone<F>
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> From<T> for MaybeDone<F>
fn from(t: T) -> TReturns the argument unchanged.
impl<T> SizeHint for MaybeDone<F>
where
T: ?Sized,
fn lower_bound(&self) -> usizefn upper_bound(&self) -> Option<usize>
impl<T> SizedTypeProperties for MaybeDone<F>
impl<T, U> Into<U> for MaybeDone<F>
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for MaybeDone<F>
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for MaybeDone<F>
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>