futures

Enum Never

Source
pub enum Never {}
Expand description

A type with no possible values.

This is used to indicate values which can never be created, such as the error type of infallible futures.

This type is a stable equivalent to the ! type from std.

Implementations§

Source§

impl Never

Source

pub fn never_into<T>(self) -> T

Convert the Never type into any other type.

Trait Implementations§

Source§

impl Clone for Never

Source§

fn clone(&self) -> Never

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Never

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
Source§

impl Future for Never

Source§

type Item = Never

A successful value
Source§

type Error = Never

An error
Source§

fn poll(&mut self, _: &mut Context<'_>) -> Result<Async<Never>, Never>

Attempt to resolve the future to a final value, registering the current task for wakeup if the value is not yet available. Read more
Source§

impl Ord for Never

Source§

fn cmp(&self, other: &Never) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Never

Source§

fn eq(&self, other: &Never) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Never

Source§

fn partial_cmp(&self, other: &Never) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Stream for Never

Source§

type Item = Never

Values yielded by the stream.
Source§

type Error = Never

Errors yielded by the stream.
Source§

fn poll_next( &mut self, _: &mut Context<'_>, ) -> Result<Async<Option<Never>>, Never>

Attempt to pull out the next value of this stream, registering the current task for wakeup if the value is not yet available, and returning None if the stream is exhausted. Read more
Source§

impl Copy for Never

Source§

impl Eq for Never

Source§

impl StructuralPartialEq for Never

Auto Trait Implementations§

§

impl Freeze for Never

§

impl RefUnwindSafe for Never

§

impl Send for Never

§

impl Sync for Never

§

impl Unpin for Never

§

impl UnwindSafe for Never

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> FutureExt for T
where T: Future + ?Sized,

Source§

fn map<U, F>(self, f: F) -> Map<Self, F>
where F: FnOnce(Self::Item) -> U, Self: Sized,

Map this future’s result to a different type, returning a new future of the resulting type. Read more
Source§

fn map_err<E, F>(self, f: F) -> MapErr<Self, F>
where F: FnOnce(Self::Error) -> E, Self: Sized,

Map this future’s error to a different error, returning a new future. Read more
Source§

fn err_into<E>(self) -> ErrInto<Self, E>
where Self: Sized, Self::Error: Into<E>,

Map this future’s error to a new error type using the Into trait. Read more
Source§

fn then<B, F>(self, f: F) -> Then<Self, B, F>
where F: FnOnce(Result<Self::Item, Self::Error>) -> B, B: IntoFuture, Self: Sized,

Chain on a computation for when a future finished, passing the result of the future to the provided closure f. Read more
Source§

fn and_then<B, F>(self, f: F) -> AndThen<Self, B, F>
where F: FnOnce(Self::Item) -> B, B: IntoFuture<Error = Self::Error>, Self: Sized,

Execute another future after this one has resolved successfully. Read more
Source§

fn or_else<B, F>(self, f: F) -> OrElse<Self, B, F>
where F: FnOnce(Self::Error) -> B, B: IntoFuture<Item = Self::Item>, Self: Sized,

Execute another future if this one resolves with an error. Read more
Source§

fn select<B>(self, other: B) -> Select<Self, <B as IntoFuture>::Future>
where B: IntoFuture, Self: Sized,

Waits for either one of two differently-typed futures to complete. Read more
Source§

fn join<B>(self, other: B) -> Join<Self, <B as IntoFuture>::Future>
where B: IntoFuture<Error = Self::Error>, Self: Sized,

Joins the result of two futures, waiting for them both to complete. Read more
Source§

fn join3<B, C>( self, b: B, c: C, ) -> Join3<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future>
where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>, Self: Sized,

Same as join, but with more futures.
Source§

fn join4<B, C, D>( self, b: B, c: C, d: D, ) -> Join4<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future>
where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>, D: IntoFuture<Error = Self::Error>, Self: Sized,

Same as join, but with more futures.
Source§

fn join5<B, C, D, E>( self, b: B, c: C, d: D, e: E, ) -> Join5<Self, <B as IntoFuture>::Future, <C as IntoFuture>::Future, <D as IntoFuture>::Future, <E as IntoFuture>::Future>
where B: IntoFuture<Error = Self::Error>, C: IntoFuture<Error = Self::Error>, D: IntoFuture<Error = Self::Error>, E: IntoFuture<Error = Self::Error>, Self: Sized,

Same as join, but with more futures.
Source§

fn left<B>(self) -> Either<Self, B>
where B: Future<Item = Self::Item, Error = Self::Error>, Self: Sized,

👎Deprecated: use left_future instead
Wrap this future in an Either future, making it the left-hand variant of that Either. Read more
Source§

fn left_future<B>(self) -> Either<Self, B>
where B: Future<Item = Self::Item, Error = Self::Error>, Self: Sized,

Wrap this future in an Either future, making it the left-hand variant of that Either. Read more
Source§

fn right<A>(self) -> Either<A, Self>
where A: Future<Item = Self::Item, Error = Self::Error>, Self: Sized,

👎Deprecated: use right_future instead
Wrap this future in an Either future, making it the right-hand variant of that Either. Read more
Source§

fn right_future<A>(self) -> Either<A, Self>
where A: Future<Item = Self::Item, Error = Self::Error>, Self: Sized,

Wrap this future in an Either future, making it the right-hand variant of that Either. Read more
Source§

fn into_stream(self) -> IntoStream<Self>
where Self: Sized,

Convert this future into a single element stream. Read more
Source§

fn flatten(self) -> Flatten<Self>
where Self::Item: IntoFuture<Error = Self::Error>, Self: Sized,

Flatten the execution of this future when the successful result of this future is itself another future. Read more
Source§

fn flatten_sink(self) -> FlattenSink<Self>
where Self::Item: Sink<SinkError = Self::Error>, Self: Sized,

Flatten the execution of this future when the successful result of this future is a sink. Read more
Source§

fn flatten_stream(self) -> FlattenStream<Self>
where Self::Item: Stream<Error = Self::Error>, Self: Sized,

Flatten the execution of this future when the successful result of this future is a stream. Read more
Source§

fn fuse(self) -> Fuse<Self>
where Self: Sized,

Fuse a future such that poll will never again be called once it has completed. Read more
Source§

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where F: FnOnce(&Self::Item), Self: Sized,

Do something with the item of a future, passing it on. Read more
Source§

fn inspect_err<F>(self, f: F) -> InspectErr<Self, F>
where F: FnOnce(&Self::Error), Self: Sized,

Do something with the error of a future, passing it on. Read more
Source§

fn catch_unwind(self) -> CatchUnwind<Self>
where Self: Sized + UnwindSafe,

Catches unwinding panics while polling the future. Read more
Source§

fn shared(self) -> Shared<Self>
where Self: Sized,

Create a cloneable handle to this future where all handles will resolve to the same result. Read more
Source§

fn recover<E, F>(self, f: F) -> Recover<Self, E, F>
where Self: Sized, F: FnOnce(Self::Error) -> Self::Item,

Handle errors generated by this future by converting them into Self::Item. Read more
Source§

fn with_executor<E>(self, executor: E) -> WithExecutor<Self, E>
where Self: Sized, E: Executor,

Assigns the provided Executor to be used when spawning tasks from within the future. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<F> IntoFuture for F
where F: Future,

Source§

type Future = F

The future that this type can be converted into.
Source§

type Item = <F as Future>::Item

The item that the future may resolve with.
Source§

type Error = <F as Future>::Error

The error that the future may resolve with.
Source§

fn into_future(self) -> F

Consumes this object and produces a future.
Source§

impl<T> StreamExt for T
where T: Stream + ?Sized,

Source§

fn next(self) -> StreamFuture<Self>
where Self: Sized,

Converts this stream into a Future. Read more
Source§

fn map<U, F>(self, f: F) -> Map<Self, F>
where F: FnMut(Self::Item) -> U, Self: Sized,

Converts a stream of type T to a stream of type U. Read more
Source§

fn map_err<U, F>(self, f: F) -> MapErr<Self, F>
where F: FnMut(Self::Error) -> U, Self: Sized,

Converts a stream of error type T to a stream of error type U. Read more
Source§

fn filter<R, P>(self, pred: P) -> Filter<Self, R, P>
where P: FnMut(&Self::Item) -> R, R: IntoFuture<Item = bool, Error = Self::Error>, Self: Sized,

Filters the values produced by this stream according to the provided predicate. Read more
Source§

fn filter_map<R, B, F>(self, f: F) -> FilterMap<Self, R, F>
where F: FnMut(Self::Item) -> R, R: IntoFuture<Item = Option<B>, Error = Self::Error>, Self: Sized,

Filters the values produced by this stream while simultaneously mapping them to a different type. Read more
Source§

fn then<U, F>(self, f: F) -> Then<Self, U, F>
where F: FnMut(Result<Self::Item, Self::Error>) -> U, U: IntoFuture, Self: Sized,

Chain on a computation for when a value is ready, passing the resulting item to the provided closure f. Read more
Source§

fn and_then<U, F>(self, f: F) -> AndThen<Self, U, F>
where F: FnMut(Self::Item) -> U, U: IntoFuture<Error = Self::Error>, Self: Sized,

Chain on a computation for when a value is ready, passing the successful results to the provided closure f. Read more
Source§

fn or_else<U, F>(self, f: F) -> OrElse<Self, U, F>
where F: FnMut(Self::Error) -> U, U: IntoFuture<Item = Self::Item>, Self: Sized,

Chain on a computation for when an error happens, passing the erroneous result to the provided closure f. Read more
Source§

fn collect<C>(self) -> Collect<Self, C>
where C: Default + Extend<Self::Item>, Self: Sized,

Collect all of the values of this stream into a vector, returning a future representing the result of that computation. Read more
Source§

fn concat(self) -> Concat<Self>
where Self: Sized, Self::Item: Extend<<Self::Item as IntoIterator>::Item> + IntoIterator + Default,

Concatenate all results of a stream into a single extendable destination, returning a future representing the end result. Read more
Source§

fn fold<T, Fut, F>(self, init: T, f: F) -> Fold<Self, Fut, T, F>
where F: FnMut(T, Self::Item) -> Fut, Fut: IntoFuture<Item = T, Error = Self::Error>, Self: Sized,

Execute an accumulating computation over a stream, collecting all the values into one final result. Read more
Source§

fn flatten(self) -> Flatten<Self>
where Self::Item: Stream<Error = Self::Error>, Self: Sized,

Flattens a stream of streams into just one continuous stream. Read more
Source§

fn skip_while<R, P>(self, pred: P) -> SkipWhile<Self, R, P>
where P: FnMut(&Self::Item) -> R, R: IntoFuture<Item = bool, Error = Self::Error>, Self: Sized,

Skip elements on this stream while the predicate provided resolves to true. Read more
Source§

fn take_while<R, P>(self, pred: P) -> TakeWhile<Self, R, P>
where P: FnMut(&Self::Item) -> R, R: IntoFuture<Item = bool, Error = Self::Error>, Self: Sized,

Take elements from this stream while the predicate provided resolves to true. Read more
Source§

fn for_each<U, F>(self, f: F) -> ForEach<Self, U, F>
where F: FnMut(Self::Item) -> U, U: IntoFuture<Item = (), Error = Self::Error>, Self: Sized,

Runs this stream to completion, executing the provided closure for each element on the stream. Read more
Source§

fn for_each_concurrent<U, F>(self, f: F) -> ForEachConcurrent<Self, U, F>
where F: FnMut(Self::Item) -> U, U: IntoFuture<Item = (), Error = Self::Error>, Self: Sized,

Runs this stream to completion, executing the provided closure for each element on the stream. This is similar to for_each but may begin processing an element while previous elements are still being processed. Read more
Source§

fn err_into<E>(self) -> ErrInto<Self, E>
where Self: Sized, Self::Error: Into<E>,

Map this stream’s error to a different type using the Into trait. Read more
Source§

fn take(self, amt: u64) -> Take<Self>
where Self: Sized,

Creates a new stream of at most amt items of the underlying stream. Read more
Source§

fn skip(self, amt: u64) -> Skip<Self>
where Self: Sized,

Creates a new stream which skips amt items of the underlying stream. Read more
Source§

fn fuse(self) -> Fuse<Self>
where Self: Sized,

Fuse a stream such that poll will never again be called once it has finished. Read more
Source§

fn by_ref(&mut self) -> &mut Self
where Self: Sized,

Borrows a stream, rather than consuming it. Read more
Source§

fn catch_unwind(self) -> CatchUnwind<Self>
where Self: Sized + UnwindSafe,

Catches unwinding panics while polling the stream. Read more
Source§

fn buffered(self, amt: usize) -> Buffered<Self>
where Self::Item: IntoFuture<Error = Self::Error>, Self: Sized,

An adaptor for creating a buffered list of pending futures. Read more
Source§

fn buffer_unordered(self, amt: usize) -> BufferUnordered<Self>
where Self::Item: IntoFuture<Error = Self::Error>, Self: Sized,

An adaptor for creating a buffered list of pending futures (unordered). Read more
Source§

fn zip<S>(self, other: S) -> Zip<Self, S>
where S: Stream<Error = Self::Error>, Self: Sized,

An adapter for zipping two streams together. Read more
Source§

fn chain<S>(self, other: S) -> Chain<Self, S>
where S: Stream<Item = Self::Item, Error = Self::Error>, Self: Sized,

Adapter for chaining two stream. Read more
Source§

fn peekable(self) -> Peekable<Self>
where Self: Sized,

Creates a new stream which exposes a peek method. Read more
Source§

fn chunks(self, capacity: usize) -> Chunks<Self>
where Self: Sized,

An adaptor for chunking up items of the stream inside a vector. Read more
Source§

fn select<S>(self, other: S) -> Select<Self, S>
where S: Stream<Item = Self::Item, Error = Self::Error>, Self: Sized,

Creates a stream that selects the next element from either this stream or the provided one, whichever is ready first. Read more
Source§

fn forward<S>(self, sink: S) -> Forward<Self, S>
where S: Sink<SinkItem = Self::Item>, Self::Error: From<<S as Sink>::SinkError>, Self: Sized,

A future that completes after the given stream has been fully processed into the sink, including flushing. Read more
Source§

fn split(self) -> (SplitSink<Self>, SplitStream<Self>)
where Self: Sized + Sink,

Splits this Stream + Sink object into separate Stream and Sink objects. Read more
Source§

fn inspect<F>(self, f: F) -> Inspect<Self, F>
where F: FnMut(&Self::Item), Self: Sized,

Do something with each item of this stream, afterwards passing it on. Read more
Source§

fn inspect_err<F>(self, f: F) -> InspectErr<Self, F>
where F: FnMut(&Self::Error), Self: Sized,

Do something with the error of this stream, afterwards passing it on. Read more
Source§

fn recover<E, F>(self, f: F) -> Recover<Self, E, F>
where F: FnMut(Self::Error) -> Option<Self::Item>, Self: Sized,

Handle errors generated by this stream by converting them into Option<Self::Item>, such that a None value terminates the stream. Read more
Source§

fn left<B>(self) -> Either<Self, B>
where B: Stream<Item = Self::Item, Error = Self::Error>, Self: Sized,

👎Deprecated: use left_stream instead
Wrap this stream in an Either stream, making it the left-hand variant of that Either. Read more
Source§

fn right<B>(self) -> Either<B, Self>
where B: Stream<Item = Self::Item, Error = Self::Error>, Self: Sized,

👎Deprecated: use right_stream instead
Wrap this stream in an Either stream, making it the right-hand variant of that Either. Read more
Source§

fn left_stream<B>(self) -> Either<Self, B>
where B: Stream<Item = Self::Item, Error = Self::Error>, Self: Sized,

Wrap this stream in an Either stream, making it the left-hand variant of that Either. Read more
Source§

fn right_stream<B>(self) -> Either<B, Self>
where B: Stream<Item = Self::Item, Error = Self::Error>, Self: Sized,

Wrap this stream in an Either stream, making it the right-hand variant of that Either. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.