[−][src]Struct futures_core::stream::StreamObj
A custom trait object for polling streams, roughly akin to
Box<dyn Stream<Item = 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
Stream
trait is currently not object safe: TheStream::poll_next
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> StreamObj<'a, T>
[src]
impl<'a, T> StreamObj<'a, T>
pub fn new<F: UnsafeStreamObj<'a, T> + Send>(f: F) -> StreamObj<'a, T>
[src]
pub fn new<F: UnsafeStreamObj<'a, T> + Send>(f: F) -> StreamObj<'a, T>
Create a StreamObj
from a custom trait object representation.
Trait Implementations
impl<'a, T> Stream for StreamObj<'a, T>
[src]
impl<'a, T> Stream for StreamObj<'a, T>
type Item = T
Values yielded by the stream.
fn poll_next(self: Pin<&mut Self>, lw: &LocalWaker) -> Poll<Option<T>>
[src]
fn poll_next(self: Pin<&mut Self>, lw: &LocalWaker) -> Poll<Option<T>>
impl<'a, T> Send for StreamObj<'a, T>
[src]
impl<'a, T> Send for StreamObj<'a, T>
impl<'a, T> From<StreamObj<'a, T>> for LocalStreamObj<'a, T>
[src]
impl<'a, T> From<StreamObj<'a, T>> for LocalStreamObj<'a, T>
fn from(f: StreamObj<'a, T>) -> LocalStreamObj<'a, T>
[src]
fn from(f: StreamObj<'a, T>) -> LocalStreamObj<'a, T>
impl<'a, F: Stream<Item = ()> + Send + 'a> From<Pin<Box<F>>> for StreamObj<'a, ()>
[src]
impl<'a, F: Stream<Item = ()> + Send + 'a> From<Pin<Box<F>>> for StreamObj<'a, ()>
impl<'a, F: Stream<Item = ()> + Send + 'a> From<Box<F>> for StreamObj<'a, ()>
[src]
impl<'a, F: Stream<Item = ()> + Send + 'a> From<Box<F>> for StreamObj<'a, ()>
impl<'a, T> Debug for StreamObj<'a, T>
[src]
impl<'a, T> Debug for StreamObj<'a, T>
impl<'a, T> Unpin for StreamObj<'a, T>
[src]
impl<'a, T> Unpin for StreamObj<'a, T>
Auto Trait Implementations
Blanket Implementations
impl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>>,
[src]
impl<S, T, E> TryStream for S where
S: Stream<Item = 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_next(
Pin<&mut S>,
&LocalWaker
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
[src]
fn try_poll_next(
Pin<&mut S>,
&LocalWaker
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
impl<T> From for T
[src]
impl<T> From for T
impl<T, U> Into for T where
U: From<T>,
[src]
impl<T, U> Into for T where
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
impl<T, U> TryFrom for T where
T: From<U>,
type Error = !
🔬 This is a nightly-only experimental API. (
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>
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
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
🔬 This is a nightly-only experimental API. (
try_from
)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
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 T