[−][src]Trait futures::future::UnsafeFutureObj
A custom implementation of a future trait object for FutureObj
, providing
a vtable with drop support.
This custom representation is typically used only in no_std
contexts,
where the default Box
-based implementation is not available.
Safety
See the safety notes on individual methods for what guarantees an implementor must provide.
Required methods
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[+]
unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)
[+]
Implementations on Foreign Types
impl<'a, T> UnsafeFutureObj<'a, T> for Pin<Box<dyn Future<Output = T> + 'a + Send>> where
T: 'a,
[src][−]
T: 'a,
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[src]
unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)
[src]
impl<'a, T> UnsafeFutureObj<'a, T> for Box<dyn Future<Output = T> + 'a + Send> where
T: 'a,
[src][−]
T: 'a,
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[src]
unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)
[src]
impl<'a, T, F> UnsafeFutureObj<'a, T> for Pin<&'a mut F> where
F: Future<Output = T> + 'a,
[src][−]
F: Future<Output = T> + 'a,
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[src]
unsafe fn drop(_ptr: *mut dyn Future<Output = T> + 'a)
[src]
impl<'a, T, F> UnsafeFutureObj<'a, T> for Pin<Box<F>> where
F: Future<Output = T> + 'a,
[src][−]
F: Future<Output = T> + 'a,
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[src]
unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)
[src]
impl<'a, T, F> UnsafeFutureObj<'a, T> for &'a mut F where
F: Future<Output = T> + Unpin + 'a,
[src][−]
F: Future<Output = T> + Unpin + 'a,
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[src]
unsafe fn drop(_ptr: *mut dyn Future<Output = T> + 'a)
[src]
impl<'a, T> UnsafeFutureObj<'a, T> for Pin<Box<dyn Future<Output = T> + 'a>> where
T: 'a,
[src][−]
T: 'a,
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[src]
unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)
[src]
impl<'a, T, F> UnsafeFutureObj<'a, T> for Box<F> where
F: Future<Output = T> + 'a,
[src][−]
F: Future<Output = T> + 'a,
fn into_raw(self) -> *mut dyn Future<Output = T> + 'a
[src]
unsafe fn drop(ptr: *mut dyn Future<Output = T> + 'a)
[src]
impl<'a, T> UnsafeFutureObj<'a, T> for Box<dyn Future<Output = T> + 'a> where
T: 'a,
[src][−]
T: 'a,