[][src]Struct futures::future::OptionFuture

#[must_use = "futures do nothing unless polled"]
pub struct OptionFuture<F> { /* fields omitted */ }
[]

A future representing a value which may or may not be present.

Created by the From implementation for Option.

Examples

#![feature(async_await, await_macro)]
use futures::future::{self, OptionFuture};

let mut a: OptionFuture<_> = Some(future::ready(123)).into();
assert_eq!(await!(a), Some(123));

a = None.into();
assert_eq!(await!(a), None);

Trait Implementations

impl<F> Clone for OptionFuture<F> where
    F: Clone
[src][+]

Performs copy-assignment from source. Read more

impl<F> Debug for OptionFuture<F> where
    F: Debug
[src][+]

impl<F> Future for OptionFuture<F> where
    F: Future
[src][+]

type Output = Option<<F as Future>::Output>

The type of value produced on completion.

impl<T> From<Option<T>> for OptionFuture<T>[src][+]

Auto Trait Implementations

impl<F> Send for OptionFuture<F> where
    F: Send

impl<F> Sync for OptionFuture<F> where
    F: Sync

Blanket Implementations

impl<T> From for T[src][+]

impl<T, U> Into for T where
    U: From<T>, 
[src][+]

impl<T> ToOwned for T where
    T: Clone
[src][+]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src][+]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src][+]

impl<T> Any for T where
    T: 'static + ?Sized
[src][+]

impl<T> BorrowMut for T where
    T: ?Sized
[src][+]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src][+]

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

The type returned in the event of a conversion error.

impl<T> FutureExt for T where
    T: Future + ?Sized
[src][+]

Map this future's output to a different type, returning a new future of the resulting type. Read more

Chain on a computation for when a future finished, passing the result of the future to the provided closure f. Read more

Wrap this future in an Either future, making it the left-hand variant of that Either. Read more

Wrap this future in an Either future, making it the right-hand variant of that Either. Read more

Convert this future into a single element stream. Read more

Flatten the execution of this future when the successful result of this future is itself another future. Read more

Flatten the execution of this future when the successful result of this future is a stream. Read more

Fuse a future such that poll will never again be called once it has completed. This method can be used to turn any Future into a FusedFuture. Read more

Do something with the output of a future before passing it on. Read more

Catches unwinding panics while polling the future. Read more

Create a cloneable handle to this future where all handles will resolve to the same result. Read more

Turn this future into a future that yields () on completion and sends its output to another future on a separate task. Read more

Wrap the future in a Box, pinning it.

Turns a Future<Output = T> into a TryFuture<Ok = T, Error = ()>. Read more

Turns a Future<Output = T> into a TryFuture<Ok = T, Error = !>. Read more

A convenience for calling Future::poll on Unpin future types.