[−][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]
pub fn new<F: UnsafeStreamObj<'a, T> + Send>(f: F) -> StreamObj<'a, T>
[src]
Create a StreamObj
from a custom trait object representation.
Trait Implementations
impl<'a, T> Stream for StreamObj<'a, T>
[src]
type Item = T
Values yielded by the stream.
fn poll_next(self: Pin<&mut Self>, lw: &LocalWaker) -> Poll<Option<T>>
[src]
impl<'a, T> Unpin for StreamObj<'a, T>
[src]
impl<'a, T> Send for StreamObj<'a, T>
[src]
impl<'a, T> From<StreamObj<'a, T>> for LocalStreamObj<'a, T>
[src]
fn from(f: StreamObj<'a, T>) -> LocalStreamObj<'a, T>
[src]
impl<'a, F: Stream<Item = ()> + Send + 'a> From<Pin<Box<F>>> for StreamObj<'a, ()>
[src]
impl<'a, F: Stream<Item = ()> + Send + 'a> From<Box<F>> for StreamObj<'a, ()>
[src]
impl<'a, T> Debug for StreamObj<'a, T>
[src]
Auto Trait Implementations
Blanket Implementations
impl<S, T, E> TryStream for S where
S: Stream<Item = Result<T, E>>,
[src]
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]
Pin<&mut S>,
&LocalWaker
) -> Poll<Option<Result<<S as TryStream>::Ok, <S as TryStream>::Error>>>
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
T: From<U>,
[src]
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]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
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]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,