W3cubDocs

/Rust

Struct std::future::FutureObj

pub struct FutureObj<'a, T>(_);
🔬 This is a nightly-only experimental API. (futures_api #50547)futures in libcore are unstable

A custom trait object for polling futures, roughly akin to Box<dyn Future<Output = T> + Send + 'a>.

This custom trait object was introduced for two reasons:

  • Currently it is not possible to take dyn Trait by value and Box<dyn Trait> is not available in no_std contexts.
  • The Future trait is currently not object safe: The Future::poll method makes uses the arbitrary self types feature and traits in which this feature is used are currently not object safe due to current compiler limitations. (See tracking issue for arbitrary self types for more information #44874)

Methods

impl<'a, T> FutureObj<'a, T> [src]

🔬 This is a nightly-only experimental API. (futures_api #50547)futures in libcore are unstable

Create a FutureObj from a custom trait object representation.

Trait Implementations

impl<'a, T> Debug for FutureObj<'a, T> [src]

Formats the value using the given formatter. Read more

impl<'a, T> From<FutureObj<'a, T>> for LocalFutureObj<'a, T> [src]

Performs the conversion.

impl<'a, T> Unpin for FutureObj<'a, T> [src]

impl<'a, T> Future for FutureObj<'a, T> [src]

🔬 This is a nightly-only experimental API. (futures_api #50547)futures in libcore are unstable

The result of the Future.

🔬 This is a nightly-only experimental API. (futures_api #50547)futures in libcore are unstable

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

impl<'a, T> Send for FutureObj<'a, T> [src]

impl<'a, F> From<Box<F>> for FutureObj<'a, ()> where
    F: 'a + Send + Future<Output = ()>, 
[src]

Performs the conversion.

impl<'a, F> From<PinBox<F>> for FutureObj<'a, ()> where
    F: 'a + Send + Future<Output = ()>, 
[src]

Performs the conversion.

Auto Trait Implementations

impl<'a, T> !Sync for FutureObj<'a, T>

Blanket Implementations

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

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from #33417)

Performs the conversion.

impl<T> From for T [src]

Performs the conversion.

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

🔬 This is a nightly-only experimental API. (try_from #33417)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from #33417)

Performs the conversion.

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

Performs the conversion.

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

ⓘImportant traits for &'a mut I
impl<'a, I> Iterator for &'a mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<'a, R: Read + ?Sized> Read for &'a mut R
impl<'a, W: Write + ?Sized> Write for &'a mut W

Immutably borrows from an owned value. Read more

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

ⓘImportant traits for &'a mut I
impl<'a, I> Iterator for &'a mut I where
    I: Iterator + ?Sized, 
    type Item = <I as Iterator>::Item;
impl<'a, R: Read + ?Sized> Read for &'a mut R
impl<'a, W: Write + ?Sized> Write for &'a mut W

Mutably borrows from an owned value. Read more

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

🔬 This is a nightly-only experimental API. (get_type_id #27745)this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/future/struct.FutureObj.html