[−][src]Trait futures_core::stream::UnsafeStreamObj  
A custom implementation of a stream trait object for StreamObj, providing
a hand-rolled vtable.
This custom representation is typically used only in no_std contexts,
where the default Box-based implementation is not available.
The implementor must guarantee that it is safe to call poll_next
repeatedly (in a non-concurrent fashion) with the result of into_raw until
drop is called.
Required Methods
fn into_raw(self) -> *mut ()
Convert an owned instance into a (conceptually owned) void pointer.
unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>
Poll the stream represented by the given void pointer.
Safety
The trait implementor must guarantee that it is safe to repeatedly call
poll_next with the result of into_raw until drop is called; such
calls are not, however, allowed to race with each other or with calls to
drop.
unsafe fn drop(ptr: *mut ())
Drops the stream represented by the given void pointer.
Safety
The trait implementor must guarantee that it is safe to call this
function once per into_raw invocation; that call cannot race with
other calls to drop or poll_next.
Implementations on Foreign Types
impl<'a, T, F> UnsafeStreamObj<'a, T> for &'a mut F where
    F: Stream<Item = T> + Unpin + 'a, [src] 
impl<'a, T, F> UnsafeStreamObj<'a, T> for &'a mut F where
    F: Stream<Item = T> + Unpin + 'a, fn into_raw(self) -> *mut ()[src] 
fn into_raw(self) -> *mut ()unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>[src] 
unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>unsafe fn drop(_ptr: *mut ())[src] 
unsafe fn drop(_ptr: *mut ())impl<'a, T, F> UnsafeStreamObj<'a, T> for Pin<&'a mut F> where
    F: Stream<Item = T> + 'a, [src] 
impl<'a, T, F> UnsafeStreamObj<'a, T> for Pin<&'a mut F> where
    F: Stream<Item = T> + 'a, fn into_raw(self) -> *mut ()[src] 
fn into_raw(self) -> *mut ()unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>[src] 
unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>unsafe fn drop(_ptr: *mut ())[src] 
unsafe fn drop(_ptr: *mut ())impl<'a, T, F> UnsafeStreamObj<'a, T> for Box<F> where
    F: Stream<Item = T> + 'a, [src] 
impl<'a, T, F> UnsafeStreamObj<'a, T> for Box<F> where
    F: Stream<Item = T> + 'a, fn into_raw(self) -> *mut ()[src] 
fn into_raw(self) -> *mut ()unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>[src] 
unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>unsafe fn drop(ptr: *mut ())[src] 
unsafe fn drop(ptr: *mut ())impl<'a, T, F> UnsafeStreamObj<'a, T> for Pin<Box<F>> where
    F: Stream<Item = T> + 'a, [src] 
impl<'a, T, F> UnsafeStreamObj<'a, T> for Pin<Box<F>> where
    F: Stream<Item = T> + 'a, fn into_raw(self) -> *mut ()[src] 
fn into_raw(self) -> *mut ()unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>[src] 
unsafe fn poll_next(ptr: *mut (), lw: &LocalWaker) -> Poll<Option<T>>unsafe fn drop(ptr: *mut ())[src] 
unsafe fn drop(ptr: *mut ())