[][src]Struct futures_core::stream::StreamObj

pub struct StreamObj<'a, T>(_);

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 and Box<dyn Trait> is not available in no_std contexts.
  • The Stream trait is currently not object safe: The Stream::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.

impl<'a, T> Send for StreamObj<'a, T>[src]

impl<'a, T> Unpin for StreamObj<'a, T>[src]

impl<'a, T> From<StreamObj<'a, T>> for 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

impl<'a, T> !Sync for StreamObj<'a, T>

Blanket Implementations

impl<S, T, E> TryStream for S where
    S: Stream<Item = Result<T, E>>, 
[src]

type Ok = T

The type of successful values yielded by this future

type Error = E

The type of failures yielded by this future

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]