[−][src]Struct futures_core::future::LocalFutureObj
A custom trait object for polling futures, roughly akin to
Box<dyn Future<Output = T> + 'a>.
This custom trait object was introduced for two reasons:
- Currently it is not possible to take
dyn Traitby value andBox<dyn Trait>is not available in no_std contexts. - The
Futuretrait is currently not object safe: TheFuture::pollmethod 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> LocalFutureObj<'a, T>[src]
impl<'a, T> LocalFutureObj<'a, T>pub fn new<F: UnsafeFutureObj<'a, T> + 'a>(f: F) -> LocalFutureObj<'a, T>[src]
pub fn new<F: UnsafeFutureObj<'a, T> + 'a>(f: F) -> LocalFutureObj<'a, T>Create a LocalFutureObj from a custom trait object representation.
pub unsafe fn into_future_obj(self) -> FutureObj<'a, T>[src]
pub unsafe fn into_future_obj(self) -> FutureObj<'a, T>Converts the LocalFutureObj into a FutureObj
To make this operation safe one has to ensure that the UnsafeFutureObj
instance from which this LocalFutureObj was created actually
implements Send.
Trait Implementations
impl<'a, T> From<FutureObj<'a, T>> for LocalFutureObj<'a, T>[src]
impl<'a, T> From<FutureObj<'a, T>> for LocalFutureObj<'a, T>fn from(f: FutureObj<'a, T>) -> LocalFutureObj<'a, T>[src]
fn from(f: FutureObj<'a, T>) -> LocalFutureObj<'a, T>Performs the conversion.
impl<'a, F: Future<Output = ()> + 'a> From<Pin<Box<F>>> for LocalFutureObj<'a, ()>[src]
impl<'a, F: Future<Output = ()> + 'a> From<Pin<Box<F>>> for LocalFutureObj<'a, ()>impl<'a, F: Future<Output = ()> + 'a> From<Box<F>> for LocalFutureObj<'a, ()>[src]
impl<'a, F: Future<Output = ()> + 'a> From<Box<F>> for LocalFutureObj<'a, ()>impl<'a, T> Drop for LocalFutureObj<'a, T>[src]
impl<'a, T> Drop for LocalFutureObj<'a, T>impl<'a, T> Debug for LocalFutureObj<'a, T>[src]
impl<'a, T> Debug for LocalFutureObj<'a, T>fn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl<'a, T> Unpin for LocalFutureObj<'a, T>[src]
impl<'a, T> Unpin for LocalFutureObj<'a, T>impl<'a, T> Future for LocalFutureObj<'a, T>[src]
impl<'a, T> Future for LocalFutureObj<'a, T>type Output = T
🔬 This is a nightly-only experimental API. (futures_api)
futures in libcore are unstable
The result of the Future.
fn poll(self: Pin<&mut Self>, lw: &LocalWaker) -> Poll<T>[src]
fn poll(self: Pin<&mut Self>, lw: &LocalWaker) -> Poll<T>🔬 This is a nightly-only experimental API. (futures_api)
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
Auto Trait Implementations
impl<'a, T> !Send for LocalFutureObj<'a, T>
impl<'a, T> !Send for LocalFutureObj<'a, T>impl<'a, T> !Sync for LocalFutureObj<'a, T>
impl<'a, T> !Sync for LocalFutureObj<'a, T>Blanket Implementations
impl<F, T, E> TryFuture for F where
F: Future<Output = Result<T, E>>, [src]
impl<F, T, E> TryFuture for F where
F: Future<Output = Result<T, E>>, type Ok = T
The type of successful values yielded by this future
type Error = E
The type of failures yielded by this future
fn try_poll(Pin<&mut F>, &LocalWaker) -> Poll<<F as Future>::Output>[src]
fn try_poll(Pin<&mut F>, &LocalWaker) -> Poll<<F as Future>::Output>Poll this TryFuture as if it were a Future. Read more
impl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T> From for T[src]
impl<T> From for Timpl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>try_from)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more
impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, fn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>,