Struct futures::future::FutureObj [−][src]
🔬 This is a nightly-only experimental API. (futures_api
)
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 andBox<dyn Trait>
is not available in no_std contexts. - The
Future
trait is currently not object safe: TheFuture::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 arbitray self types for more information #44874)
Methods
impl<'a, T> FutureObj<'a, T>
[src]
[−]
impl<'a, T> FutureObj<'a, T>
pub fn new<F>(f: F) -> FutureObj<'a, T> where
F: Send + UnsafeFutureObj<'a, T>,
[src]
[−]
pub fn new<F>(f: F) -> FutureObj<'a, T> where
F: Send + UnsafeFutureObj<'a, T>,
🔬 This is a nightly-only experimental API. (futures_api
)
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]
[+]
impl<'a, T> Debug for FutureObj<'a, T>
impl<'a, T> Future for FutureObj<'a, T>
[src]
[+]
impl<'a, T> Future for FutureObj<'a, T>
impl<'a, T> From<FutureObj<'a, T>> for LocalFutureObj<'a, T>
[src]
[+]
impl<'a, T> From<FutureObj<'a, T>> for LocalFutureObj<'a, T>
impl<'a, T> Send for FutureObj<'a, T>
[src]
impl<'a, T> Send for FutureObj<'a, T>
impl<'a, F> From<Box<F>> for FutureObj<'a, ()> where
F: 'a + Send + Future<Output = ()>,
[src]
[+]
impl<'a, F> From<Box<F>> for FutureObj<'a, ()> where
F: 'a + Send + Future<Output = ()>,
impl<'a, F> From<PinBox<F>> for FutureObj<'a, ()> where
F: 'a + Send + Future<Output = ()>,
[src]
[+]
impl<'a, F> From<PinBox<F>> for FutureObj<'a, ()> where
F: 'a + Send + Future<Output = ()>,