Trait hyper::common::Unpin

1.33.0 · source ·
pub(crate) auto trait Unpin { }
Expand description

Types that can be safely moved after being pinned.

Rust itself has no notion of immovable types, and considers moves (e.g., through assignment or mem::replace) to always be safe.

The Pin type is used instead to prevent moves through the type system. Pointers P<T> wrapped in the Pin<P<T>> wrapper can’t be moved out of. See the pin module documentation for more information on pinning.

Implementing the Unpin trait for T lifts the restrictions of pinning off the type, which then allows moving T out of Pin<P<T>> with functions such as mem::replace.

Unpin has no consequence at all for non-pinned data. In particular, mem::replace happily moves !Unpin data (it works for any &mut T, not just when T: Unpin). However, you cannot use mem::replace on data wrapped inside a Pin<P<T>> because you cannot get the &mut T you need for that, and that is what makes this system work.

So this, for example, can only be done on types implementing Unpin:

use std::mem;
use std::pin::Pin;

let mut string = "this".to_string();
let mut pinned_string = Pin::new(&mut string);

// We need a mutable reference to call `mem::replace`.
// We can obtain such a reference by (implicitly) invoking `Pin::deref_mut`,
// but that is only possible because `String` implements `Unpin`.
mem::replace(&mut *pinned_string, "other".to_string());

This trait is automatically implemented for almost every type.

Implementors§

source§

impl !Unpin for PhantomPinned

1.36.0 · source§

impl Unpin for Waker

source§

impl<'__pin> Unpin for Sleepwhere
    __Origin<'__pin>: Unpin,

source§

impl<'__pin> Unpin for WaitForCancellationFutureOwnedwhere
    __Origin<'__pin>: Unpin,

source§

impl<'__pin> Unpin for AddrStreamwhere
    __Origin<'__pin>: Unpin,

source§

impl<'__pin, 'a> Unpin for WaitForCancellationFuture<'a>where
    __Origin<'__pin, 'a>: Unpin,

source§

impl<'__pin, 'a, R, W> Unpin for Copy<'a, R, W>where
    __Origin<'__pin, 'a, R, W>: Unpin,
    W: ?Sized,

source§

impl<'__pin, 'a, R, W> Unpin for CopyBuf<'a, R, W>where
    __Origin<'__pin, 'a, R, W>: Unpin,
    W: ?Sized,

source§

impl<'__pin, 'a, R, W> Unpin for CopyBufAbortable<'a, R, W>where
    __Origin<'__pin, 'a, R, W>: Unpin,
    W: ?Sized,

source§

impl<'__pin, 'a, St> Unpin for Peek<'a, St>where
    St: Stream,
    __Origin<'__pin, 'a, St>: Unpin,

source§

impl<'__pin, 'a, St> Unpin for PeekMut<'a, St>where
    St: Stream,
    __Origin<'__pin, 'a, St>: Unpin,

source§

impl<'__pin, 'a, St, F> Unpin for NextIf<'a, St, F>where
    St: Stream,
    __Origin<'__pin, 'a, St, F>: Unpin,

source§

impl<'__pin, 'a, St, T> Unpin for NextIfEq<'a, St, T>where
    St: Stream,
    __Origin<'__pin, 'a, St, T>: Unpin,
    T: ?Sized,

source§

impl<'__pin, B> Unpin for hyper::proto::h1::dispatch::Client<B>where
    __Origin<'__pin, B>: Unpin,

source§

impl<'__pin, B, F> Unpin for MapData<B, F>where
    __Origin<'__pin, B, F>: Unpin,

source§

impl<'__pin, B, F> Unpin for http_body::combinators::map_err::MapErr<B, F>where
    __Origin<'__pin, B, F>: Unpin,

source§

impl<'__pin, D> Unpin for Full<D>where
    __Origin<'__pin, D>: Unpin,

source§

impl<'__pin, F> Unpin for futures_util::future::future::Flatten<F>where
    __Origin<'__pin, F>: Unpin,
    F: Future,

source§

impl<'__pin, F> Unpin for FlattenStream<F>where
    __Origin<'__pin, F>: Unpin,
    F: Future,

source§

impl<'__pin, F> Unpin for futures_util::future::future::IntoStream<F>where
    __Origin<'__pin, F>: Unpin,

source§

impl<'__pin, F> Unpin for OptionFuture<F>where
    __Origin<'__pin, F>: Unpin,

source§

impl<'__pin, F> Unpin for Unconstrained<F>where
    __Origin<'__pin, F>: Unpin,

source§

impl<'__pin, F, B> Unpin for H2StreamState<F, B>where
    __Origin<'__pin, F, B>: Unpin,
    B: HttpBody,

source§

impl<'__pin, F, B> Unpin for H2Stream<F, B>where
    __Origin<'__pin, F, B>: Unpin,
    B: HttpBody,

source§

impl<'__pin, F, FN> Unpin for Watching<F, FN>where
    __Origin<'__pin, F, FN>: Unpin,

source§

impl<'__pin, F, R> Unpin for Inner<F, R>where
    __Origin<'__pin, F, R>: Unpin,

source§

impl<'__pin, F, R> Unpin for hyper::common::lazy::Lazy<F, R>where
    __Origin<'__pin, F, R>: Unpin,

source§

impl<'__pin, Fut1, Fut2> Unpin for Join<Fut1, Fut2>where
    Fut1: Future,
    Fut2: Future,
    __Origin<'__pin, Fut1, Fut2>: Unpin,

source§

impl<'__pin, Fut1, Fut2> Unpin for futures_util::future::try_future::TryFlatten<Fut1, Fut2>where
    __Origin<'__pin, Fut1, Fut2>: Unpin,

source§

impl<'__pin, Fut1, Fut2> Unpin for TryJoin<Fut1, Fut2>where
    Fut1: TryFuture,
    Fut2: TryFuture,
    __Origin<'__pin, Fut1, Fut2>: Unpin,

source§

impl<'__pin, Fut1, Fut2, F> Unpin for futures_util::future::future::Then<Fut1, Fut2, F>where
    __Origin<'__pin, Fut1, Fut2, F>: Unpin,

source§

impl<'__pin, Fut1, Fut2, F> Unpin for futures_util::future::try_future::AndThen<Fut1, Fut2, F>where
    __Origin<'__pin, Fut1, Fut2, F>: Unpin,

source§

impl<'__pin, Fut1, Fut2, F> Unpin for futures_util::future::try_future::OrElse<Fut1, Fut2, F>where
    __Origin<'__pin, Fut1, Fut2, F>: Unpin,

source§

impl<'__pin, Fut1, Fut2, Fut3> Unpin for Join3<Fut1, Fut2, Fut3>where
    Fut1: Future,
    Fut2: Future,
    Fut3: Future,
    __Origin<'__pin, Fut1, Fut2, Fut3>: Unpin,

source§

impl<'__pin, Fut1, Fut2, Fut3> Unpin for TryJoin3<Fut1, Fut2, Fut3>where
    Fut1: TryFuture,
    Fut2: TryFuture,
    Fut3: TryFuture,
    __Origin<'__pin, Fut1, Fut2, Fut3>: Unpin,

source§

impl<'__pin, Fut1, Fut2, Fut3, Fut4> Unpin for Join4<Fut1, Fut2, Fut3, Fut4>where
    Fut1: Future,
    Fut2: Future,
    Fut3: Future,
    Fut4: Future,
    __Origin<'__pin, Fut1, Fut2, Fut3, Fut4>: Unpin,

source§

impl<'__pin, Fut1, Fut2, Fut3, Fut4> Unpin for TryJoin4<Fut1, Fut2, Fut3, Fut4>where
    Fut1: TryFuture,
    Fut2: TryFuture,
    Fut3: TryFuture,
    Fut4: TryFuture,
    __Origin<'__pin, Fut1, Fut2, Fut3, Fut4>: Unpin,

source§

impl<'__pin, Fut1, Fut2, Fut3, Fut4, Fut5> Unpin for Join5<Fut1, Fut2, Fut3, Fut4, Fut5>where
    Fut1: Future,
    Fut2: Future,
    Fut3: Future,
    Fut4: Future,
    Fut5: Future,
    __Origin<'__pin, Fut1, Fut2, Fut3, Fut4, Fut5>: Unpin,

source§

impl<'__pin, Fut1, Fut2, Fut3, Fut4, Fut5> Unpin for TryJoin5<Fut1, Fut2, Fut3, Fut4, Fut5>where
    Fut1: TryFuture,
    Fut2: TryFuture,
    Fut3: TryFuture,
    Fut4: TryFuture,
    Fut5: TryFuture,
    __Origin<'__pin, Fut1, Fut2, Fut3, Fut4, Fut5>: Unpin,

source§

impl<'__pin, Fut> Unpin for futures_util::future::future::catch_unwind::CatchUnwind<Fut>where
    __Origin<'__pin, Fut>: Unpin,

source§

impl<'__pin, Fut> Unpin for futures_util::future::future::fuse::Fuse<Fut>where
    __Origin<'__pin, Fut>: Unpin,

source§

impl<'__pin, Fut> Unpin for Remote<Fut>where
    Fut: Future,
    __Origin<'__pin, Fut>: Unpin,

source§

impl<'__pin, Fut> Unpin for NeverError<Fut>where
    __Origin<'__pin, Fut>: Unpin,

source§

impl<'__pin, Fut> Unpin for UnitError<Fut>where
    __Origin<'__pin, Fut>: Unpin,

source§

impl<'__pin, Fut> Unpin for IntoFuture<Fut>where
    __Origin<'__pin, Fut>: Unpin,

source§

impl<'__pin, Fut> Unpin for TryFlattenStream<Fut>where
    __Origin<'__pin, Fut>: Unpin,
    Fut: TryFuture,

source§

impl<'__pin, Fut> Unpin for Once<Fut>where
    __Origin<'__pin, Fut>: Unpin,

source§

impl<'__pin, Fut, E> Unpin for futures_util::future::try_future::ErrInto<Fut, E>where
    __Origin<'__pin, Fut, E>: Unpin,

source§

impl<'__pin, Fut, E> Unpin for OkInto<Fut, E>where
    __Origin<'__pin, Fut, E>: Unpin,

source§

impl<'__pin, Fut, F> Unpin for futures_util::future::future::Inspect<Fut, F>where
    __Origin<'__pin, Fut, F>: Unpin,

source§

impl<'__pin, Fut, F> Unpin for futures_util::future::future::Map<Fut, F>where
    __Origin<'__pin, Fut, F>: Unpin,

source§

impl<'__pin, Fut, F> Unpin for futures_util::future::try_future::InspectErr<Fut, F>where
    __Origin<'__pin, Fut, F>: Unpin,

source§

impl<'__pin, Fut, F> Unpin for futures_util::future::try_future::InspectOk<Fut, F>where
    __Origin<'__pin, Fut, F>: Unpin,

source§

impl<'__pin, Fut, F> Unpin for futures_util::future::try_future::MapErr<Fut, F>where
    __Origin<'__pin, Fut, F>: Unpin,

source§

impl<'__pin, Fut, F> Unpin for futures_util::future::try_future::MapOk<Fut, F>where
    __Origin<'__pin, Fut, F>: Unpin,

source§

impl<'__pin, Fut, F> Unpin for UnwrapOrElse<Fut, F>where
    __Origin<'__pin, Fut, F>: Unpin,

source§

impl<'__pin, Fut, F, G> Unpin for MapOkOrElse<Fut, F, G>where
    __Origin<'__pin, Fut, F, G>: Unpin,

source§

impl<'__pin, Fut, Si> Unpin for FlattenSink<Fut, Si>where
    __Origin<'__pin, Fut, Si>: Unpin,

source§

impl<'__pin, Fut, T> Unpin for MapInto<Fut, T>where
    __Origin<'__pin, Fut, T>: Unpin,

source§

impl<'__pin, I, F, E> Unpin for hyper::server::conn::Connecting<I, F, E>where
    __Origin<'__pin, I, F, E>: Unpin,

source§

impl<'__pin, I, N, S: HttpService<Body>, E, W: Watcher<I, S, E>> Unpin for hyper::server::server::new_svc::State<I, N, S, E, W>where
    __Origin<'__pin, I, N, S, E, W>: Unpin,

source§

impl<'__pin, I, N, S: HttpService<Body>, E, W: Watcher<I, S, E>> Unpin for NewSvcTask<I, N, S, E, W>where
    __Origin<'__pin, I, N, S, E, W>: Unpin,

source§

impl<'__pin, I, S, E> Unpin for hyper::server::server::Server<I, S, E>where
    __Origin<'__pin, I, S, E>: Unpin,

source§

impl<'__pin, I, S, F, E> Unpin for hyper::server::shutdown::State<I, S, F, E>where
    __Origin<'__pin, I, S, F, E>: Unpin,

source§

impl<'__pin, I, S, F, E> Unpin for Graceful<I, S, F, E>where
    __Origin<'__pin, I, S, F, E>: Unpin,

source§

impl<'__pin, R> Unpin for futures_util::io::buf_reader::BufReader<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for futures_util::io::lines::Lines<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for futures_util::io::take::Take<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for tokio::io::util::buf_reader::BufReader<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for tokio::io::util::lines::Lines<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for Split<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for tokio::io::util::take::Take<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for ReaderStream<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R> Unpin for HttpConnecting<R>where
    __Origin<'__pin, R>: Unpin,

source§

impl<'__pin, R, F> Unpin for InspectReader<R, F>where
    __Origin<'__pin, R, F>: Unpin,

source§

impl<'__pin, RW> Unpin for BufStream<RW>where
    __Origin<'__pin, RW>: Unpin,

source§

impl<'__pin, S> Unpin for futures_util::stream::poll_immediate::PollImmediate<S>where
    __Origin<'__pin, S>: Unpin,

source§

impl<'__pin, S> Unpin for CopyToBytes<S>where
    __Origin<'__pin, S>: Unpin,

source§

impl<'__pin, S> Unpin for SinkWriter<S>where
    __Origin<'__pin, S>: Unpin,

source§

impl<'__pin, S> Unpin for PipeToSendStream<S>where
    __Origin<'__pin, S>: Unpin,
    S: HttpBody,

source§

impl<'__pin, S: Service<Req>, Req> Unpin for hyper::service::oneshot::State<S, Req>where
    __Origin<'__pin, S, Req>: Unpin,

source§

impl<'__pin, S: Service<Req>, Req> Unpin for Oneshot<S, Req>where
    __Origin<'__pin, S, Req>: Unpin,

source§

impl<'__pin, Si1, Si2> Unpin for Fanout<Si1, Si2>where
    __Origin<'__pin, Si1, Si2>: Unpin,

source§

impl<'__pin, Si, F> Unpin for SinkMapErr<Si, F>where
    __Origin<'__pin, Si, F>: Unpin,

source§

impl<'__pin, Si, Item> Unpin for Buffer<Si, Item>where
    __Origin<'__pin, Si, Item>: Unpin,

source§

impl<'__pin, Si, Item, E> Unpin for SinkErrInto<Si, Item, E>where
    Si: Sink<Item>,
    __Origin<'__pin, Si, Item, E>: Unpin,

source§

impl<'__pin, Si, Item, U, Fut, F> Unpin for With<Si, Item, U, Fut, F>where
    __Origin<'__pin, Si, Item, U, Fut, F>: Unpin,

source§

impl<'__pin, Si, Item, U, St, F> Unpin for WithFlatMap<Si, Item, U, St, F>where
    __Origin<'__pin, Si, Item, U, St, F>: Unpin,

source§

impl<'__pin, St1, St2> Unpin for futures_util::stream::select::Select<St1, St2>where
    __Origin<'__pin, St1, St2>: Unpin,

source§

impl<'__pin, St1, St2> Unpin for futures_util::stream::stream::chain::Chain<St1, St2>where
    __Origin<'__pin, St1, St2>: Unpin,

source§

impl<'__pin, St1, St2> Unpin for Zip<St1, St2>where
    St1: Stream,
    St2: Stream,
    __Origin<'__pin, St1, St2>: Unpin,

source§

impl<'__pin, St1, St2, Clos, State> Unpin for SelectWithStrategy<St1, St2, Clos, State>where
    __Origin<'__pin, St1, St2, Clos, State>: Unpin,

source§

impl<'__pin, St> Unpin for futures_util::stream::select_all::SelectAll<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for BufferUnordered<St>where
    __Origin<'__pin, St>: Unpin,
    St: Stream,

source§

impl<'__pin, St> Unpin for futures_util::stream::stream::buffered::Buffered<St>where
    __Origin<'__pin, St>: Unpin,
    St: Stream,
    <St as Stream>::Item: Future,

source§

impl<'__pin, St> Unpin for futures_util::stream::stream::catch_unwind::CatchUnwind<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for Chunks<St>where
    St: Stream,
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for Concat<St>where
    St: Stream,
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for Count<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for Cycle<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for Enumerate<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for futures_util::stream::stream::fuse::Fuse<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for Peekable<St>where
    St: Stream,
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for ReadyChunks<St>where
    St: Stream,
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for Skip<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for futures_util::stream::stream::Flatten<St>where
    __Origin<'__pin, St>: Unpin,
    St: Stream,

source§

impl<'__pin, St> Unpin for futures_util::stream::stream::take::Take<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for IntoAsyncRead<St>where
    __Origin<'__pin, St>: Unpin,
    St: TryStream<Error = Error>,
    <St as TryStream>::Ok: AsRef<[u8]>,

source§

impl<'__pin, St> Unpin for futures_util::stream::try_stream::into_stream::IntoStream<St>where
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for TryBufferUnordered<St>where
    __Origin<'__pin, St>: Unpin,
    St: TryStream,

source§

impl<'__pin, St> Unpin for TryBuffered<St>where
    __Origin<'__pin, St>: Unpin,
    St: TryStream,
    <St as TryStream>::Ok: TryFuture,

source§

impl<'__pin, St> Unpin for TryChunks<St>where
    St: TryStream,
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for TryConcat<St>where
    St: TryStream,
    __Origin<'__pin, St>: Unpin,

source§

impl<'__pin, St> Unpin for futures_util::stream::try_stream::try_flatten::TryFlatten<St>where
    __Origin<'__pin, St>: Unpin,
    St: TryStream,

source§

impl<'__pin, St> Unpin for TryFlattenUnordered<St>where
    __Origin<'__pin, St>: Unpin,
    St: TryStream,
    <St as TryStream>::Ok: TryStream + Unpin,
    <<St as TryStream>::Ok as TryStream>::Error: From<<St as TryStream>::Error>,

source§

impl<'__pin, St, C> Unpin for Collect<St, C>where
    __Origin<'__pin, St, C>: Unpin,

source§

impl<'__pin, St, C> Unpin for TryCollect<St, C>where
    __Origin<'__pin, St, C>: Unpin,

source§

impl<'__pin, St, E> Unpin for futures_util::stream::try_stream::ErrInto<St, E>where
    __Origin<'__pin, St, E>: Unpin,

source§

impl<'__pin, St, F> Unpin for futures_util::stream::stream::map::Map<St, F>where
    __Origin<'__pin, St, F>: Unpin,

source§

impl<'__pin, St, F> Unpin for futures_util::stream::stream::Inspect<St, F>where
    __Origin<'__pin, St, F>: Unpin,

source§

impl<'__pin, St, F> Unpin for futures_util::stream::try_stream::InspectErr<St, F>where
    __Origin<'__pin, St, F>: Unpin,

source§

impl<'__pin, St, F> Unpin for futures_util::stream::try_stream::InspectOk<St, F>where
    __Origin<'__pin, St, F>: Unpin,

source§

impl<'__pin, St, F> Unpin for futures_util::stream::try_stream::MapErr<St, F>where
    __Origin<'__pin, St, F>: Unpin,

source§

impl<'__pin, St, F> Unpin for futures_util::stream::try_stream::MapOk<St, F>where
    __Origin<'__pin, St, F>: Unpin,

source§

impl<'__pin, St, FromA, FromB> Unpin for Unzip<St, FromA, FromB>where
    __Origin<'__pin, St, FromA, FromB>: Unpin,

source§

impl<'__pin, St, Fut> Unpin for TakeUntil<St, Fut>where
    St: Stream,
    Fut: Future,
    __Origin<'__pin, St, Fut>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for All<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for Any<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for Filter<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,
    St: Stream,

source§

impl<'__pin, St, Fut, F> Unpin for FilterMap<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for ForEach<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for ForEachConcurrent<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for SkipWhile<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,
    St: Stream,

source§

impl<'__pin, St, Fut, F> Unpin for TakeWhile<St, Fut, F>where
    St: Stream,
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for futures_util::stream::stream::then::Then<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for futures_util::stream::try_stream::and_then::AndThen<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for futures_util::stream::try_stream::or_else::OrElse<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for TryFilter<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,
    St: TryStream,

source§

impl<'__pin, St, Fut, F> Unpin for TryFilterMap<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for TryForEach<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for TryForEachConcurrent<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,

source§

impl<'__pin, St, Fut, F> Unpin for TrySkipWhile<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,
    St: TryStream,

source§

impl<'__pin, St, Fut, F> Unpin for TryTakeWhile<St, Fut, F>where
    __Origin<'__pin, St, Fut, F>: Unpin,
    St: TryStream,

source§

impl<'__pin, St, Fut, T, F> Unpin for Fold<St, Fut, T, F>where
    __Origin<'__pin, St, Fut, T, F>: Unpin,

source§

impl<'__pin, St, Fut, T, F> Unpin for TryFold<St, Fut, T, F>where
    __Origin<'__pin, St, Fut, T, F>: Unpin,

source§

impl<'__pin, St, S, Fut, F> Unpin for Scan<St, S, Fut, F>where
    St: Stream,
    __Origin<'__pin, St, S, Fut, F>: Unpin,

source§

impl<'__pin, St, Si> Unpin for Forward<St, Si>where
    __Origin<'__pin, St, Si>: Unpin,
    St: TryStream,

source§

impl<'__pin, St, U, F> Unpin for FlatMap<St, U, F>where
    __Origin<'__pin, St, U, F>: Unpin,

source§

impl<'__pin, St, U, F> Unpin for FlatMapUnordered<St, U, F>where
    __Origin<'__pin, St, U, F>: Unpin,
    St: Stream,
    U: Stream + Unpin,
    F: FnMut(<St as Stream>::Item) -> U,

source§

impl<'__pin, T> Unpin for Abortable<T>where
    __Origin<'__pin, T>: Unpin,

source§

impl<'__pin, T> Unpin for futures_util::future::poll_immediate::PollImmediate<T>where
    __Origin<'__pin, T>: Unpin,

source§

impl<'__pin, T> Unpin for Timeout<T>where
    __Origin<'__pin, T>: Unpin,

source§

impl<'__pin, T> Unpin for Instrumented<T>where
    __Origin<'__pin, T>: Unpin,

source§

impl<'__pin, T> Unpin for WithDispatch<T>where
    __Origin<'__pin, T>: Unpin,

source§

impl<'__pin, T, B> Unpin for ProtoClient<T, B>where
    __Origin<'__pin, T, B>: Unpin,
    B: HttpBody,

source§

impl<'__pin, T, B, S, E> Unpin for ProtoServer<T, B, S, E>where
    __Origin<'__pin, T, B, S, E>: Unpin,
    S: HttpService<Body>,
    B: HttpBody,

source§

impl<'__pin, T, D> Unpin for FramedRead<T, D>where
    __Origin<'__pin, T, D>: Unpin,

source§

impl<'__pin, T, E> Unpin for FramedWrite<T, E>where
    __Origin<'__pin, T, E>: Unpin,

source§

impl<'__pin, T, F, Fut> Unpin for TryUnfold<T, F, Fut>where
    __Origin<'__pin, T, F, Fut>: Unpin,

source§

impl<'__pin, T, F, Fut> Unpin for futures_util::stream::unfold::Unfold<T, F, Fut>where
    __Origin<'__pin, T, F, Fut>: Unpin,

source§

impl<'__pin, T, F, R> Unpin for futures_util::sink::unfold::Unfold<T, F, R>where
    __Origin<'__pin, T, F, R>: Unpin,

source§

impl<'__pin, T, S, B, E> Unpin for hyper::proto::h2::server::Server<T, S, B, E>where
    __Origin<'__pin, T, S, B, E>: Unpin,
    S: HttpService<Body>,
    B: HttpBody,

source§

impl<'__pin, T, S, E> Unpin for hyper::server::conn::Connection<T, S, E>where
    __Origin<'__pin, T, S, E>: Unpin,
    S: HttpService<Body>,

source§

impl<'__pin, T, U> Unpin for futures_util::io::chain::Chain<T, U>where
    __Origin<'__pin, T, U>: Unpin,

source§

impl<'__pin, T, U> Unpin for Framed<T, U>where
    __Origin<'__pin, T, U>: Unpin,

source§

impl<'__pin, W> Unpin for futures_util::io::buf_writer::BufWriter<W>where
    __Origin<'__pin, W>: Unpin,

source§

impl<'__pin, W> Unpin for LineWriter<W>where
    W: AsyncWrite,
    __Origin<'__pin, W>: Unpin,

source§

impl<'__pin, W> Unpin for tokio::io::util::buf_writer::BufWriter<W>where
    __Origin<'__pin, W>: Unpin,

source§

impl<'__pin, W, F> Unpin for InspectWriter<W, F>where
    __Origin<'__pin, W, F>: Unpin,

source§

impl<'__pin, W, Item> Unpin for IntoSink<W, Item>where
    __Origin<'__pin, W, Item>: Unpin,

source§

impl<'a, T> Unpin for &'a Twhere
    T: 'a + ?Sized,

source§

impl<'a, T> Unpin for &'a mut Twhere
    T: 'a + ?Sized,

source§

impl<A, B> Unpin for futures_util::future::select::Select<A, B>where
    A: Unpin,
    B: Unpin,

source§

impl<A, B> Unpin for TrySelect<A, B>where
    A: Unpin,
    B: Unpin,

source§

impl<A, F> Unpin for RepeatWith<F>where
    F: FnMut() -> A,

source§

impl<B: HttpBody> Unpin for FutCtx<B>

source§

impl<Dyn> Unpin for DynMetadata<Dyn>where
    Dyn: ?Sized,

source§

impl<E> Unpin for Fallback<E>

1.64.0 · source§

impl<F> Unpin for core::future::poll_fn::PollFn<F>where
    F: Unpin,

source§

impl<F> Unpin for futures_util::future::lazy::Lazy<F>

source§

impl<F> Unpin for futures_util::future::poll_fn::PollFn<F>

source§

impl<F> Unpin for futures_util::stream::poll_fn::PollFn<F>

source§

impl<Fut> Unpin for MaybeDone<Fut>where
    Fut: Future + Unpin,

source§

impl<Fut> Unpin for TryMaybeDone<Fut>where
    Fut: TryFuture + Unpin,

source§

impl<Fut> Unpin for futures_util::future::future::shared::Shared<Fut>where
    Fut: Future,

source§

impl<Fut> Unpin for futures_util::future::select_all::SelectAll<Fut>where
    Fut: Unpin,

source§

impl<Fut> Unpin for SelectOk<Fut>where
    Fut: Unpin,

source§

impl<Fut> Unpin for FuturesUnordered<Fut>

source§

impl<I> Unpin for FromIter<I>

source§

impl<I> Unpin for futures_util::stream::iter::Iter<I>

source§

impl<I: Unpin, B, T> Unpin for Conn<I, B, T>

source§

impl<R> Unpin for FillBuf<'_, R>where
    R: ?Sized,

source§

impl<R> Unpin for Read<'_, R>where
    R: Unpin + ?Sized,

source§

impl<R> Unpin for ReadExact<'_, R>where
    R: Unpin + ?Sized,

source§

impl<R> Unpin for ReadLine<'_, R>where
    R: Unpin + ?Sized,

source§

impl<R> Unpin for ReadToEnd<'_, R>where
    R: Unpin + ?Sized,

source§

impl<R> Unpin for ReadToString<'_, R>where
    R: Unpin + ?Sized,

source§

impl<R> Unpin for ReadUntil<'_, R>where
    R: Unpin + ?Sized,

source§

impl<R> Unpin for ReadVectored<'_, R>where
    R: Unpin + ?Sized,

source§

impl<S> Unpin for Seek<'_, S>where
    S: Unpin + ?Sized,

source§

impl<S> Unpin for SplitStream<S>

source§

impl<S, B> Unpin for StreamReader<S, B>where
    S: Unpin,

source§

impl<S, Item> Unpin for SplitSink<S, Item>

source§

impl<S: HttpService<B>, B> Unpin for hyper::proto::h1::dispatch::Server<S, B>

source§

impl<Si, Item> Unpin for futures_util::sink::close::Close<'_, Si, Item>where
    Si: Unpin + ?Sized,

source§

impl<Si, Item> Unpin for Feed<'_, Si, Item>where
    Si: Unpin + ?Sized,

source§

impl<Si, Item> Unpin for futures_util::sink::flush::Flush<'_, Si, Item>where
    Si: Unpin + ?Sized,

source§

impl<Si, Item> Unpin for Send<'_, Si, Item>where
    Si: Unpin + ?Sized,

source§

impl<Si, St> Unpin for SendAll<'_, Si, St>where
    Si: Unpin + ?Sized,
    St: TryStream + Unpin + ?Sized,

source§

impl<St> Unpin for Next<'_, St>where
    St: Unpin + ?Sized,

source§

impl<St> Unpin for TryNext<'_, St>where
    St: Unpin + ?Sized,

1.38.0 · source§

impl<T> Unpin for *const Twhere
    T: ?Sized,

1.38.0 · source§

impl<T> Unpin for *mut Twhere
    T: ?Sized,

source§

impl<T> Unpin for Rc<T>where
    T: ?Sized,

source§

impl<T> Unpin for Arc<T>where
    T: ?Sized,

1.48.0 · source§

impl<T> Unpin for core::future::ready::Ready<T>

source§

impl<T> Unpin for futures_channel::mpsc::Receiver<T>

source§

impl<T> Unpin for UnboundedReceiver<T>

source§

impl<T> Unpin for futures_channel::oneshot::Receiver<T>

source§

impl<T> Unpin for futures_channel::oneshot::Sender<T>

source§

impl<T> Unpin for FutureObj<'_, T>

source§

impl<T> Unpin for LocalFutureObj<'_, T>

source§

impl<T> Unpin for futures_util::future::pending::Pending<T>

source§

impl<T> Unpin for futures_util::future::ready::Ready<T>

source§

impl<T> Unpin for AllowStdIo<T>

source§

impl<T> Unpin for futures_util::sink::drain::Drain<T>

source§

impl<T> Unpin for Empty<T>

source§

impl<T> Unpin for FuturesOrdered<T>where
    T: Future,

source§

impl<T> Unpin for futures_util::stream::pending::Pending<T>

source§

impl<T> Unpin for Repeat<T>

source§

impl<T> Unpin for JoinHandle<T>

source§

impl<T> Unpin for tokio::sync::mpsc::bounded::Receiver<T>

source§

impl<T, A> Unpin for Box<T, A>where
    A: Allocator + 'static,
    T: ?Sized,

source§

impl<T: Unpin, B> Unpin for hyper::proto::h1::io::Buffered<T, B>

source§

impl<W> Unpin for futures_util::io::close::Close<'_, W>where
    W: Unpin + ?Sized,

source§

impl<W> Unpin for futures_util::io::flush::Flush<'_, W>where
    W: Unpin + ?Sized,

source§

impl<W> Unpin for Write<'_, W>where
    W: Unpin + ?Sized,

source§

impl<W> Unpin for WriteAll<'_, W>where
    W: Unpin + ?Sized,

source§

impl<W> Unpin for WriteVectored<'_, W>where
    W: Unpin + ?Sized,

Auto implementors§

§

impl !Unpin for ConnectingTcpFallback

§

impl Unpin for DelayEof

§

impl Unpin for hyper::body::body::Kind

§

impl Unpin for ClientConnectError

§

impl Unpin for Ver

§

impl Unpin for Proto

§

impl Unpin for ResponseFutureState

§

impl Unpin for Alpn

§

impl Unpin for Header

§

impl Unpin for hyper::error::Kind

§

impl Unpin for Parse

§

impl Unpin for User

§

impl Unpin for BodyLength

§

impl Unpin for Dispatched

§

impl Unpin for KA

§

impl Unpin for Reading

§

impl Unpin for Writing

§

impl Unpin for ChunkedState

§

impl Unpin for hyper::proto::h1::decode::Kind

§

impl Unpin for hyper::proto::h1::encode::Kind

§

impl Unpin for ReadStrategy

§

impl Unpin for WriteStrategy

§

impl Unpin for hyper::proto::h1::role::Client

§

impl Unpin for hyper::proto::h1::role::Server

§

impl Unpin for Impossible

§

impl Unpin for Ponged

§

impl Unpin for ConnectionMode

§

impl Unpin for CantName

§

impl Unpin for Exec

§

impl Unpin for Never

§

impl Unpin for Body

§

impl Unpin for hyper::body::body::Extra

§

impl Unpin for hyper::body::body::Sender

§

impl Unpin for DecodedLength

§

impl Unpin for Bytes

§

impl Unpin for SizeHint

§

impl Unpin for hyper::client::client::Builder

§

impl Unpin for hyper::client::client::Config

§

impl Unpin for hyper::client::client::ResponseFuture

§

impl Unpin for hyper::client::conn::Builder

§

impl Unpin for hyper::client::conn::ResponseFuture

§

impl Unpin for GaiAddrs

§

impl Unpin for GaiFuture

§

impl Unpin for GaiResolver

§

impl Unpin for InvalidNameError

§

impl Unpin for Name

§

impl Unpin for SocketAddrs

§

impl Unpin for hyper::client::connect::http::Config

§

impl Unpin for ConnectError

§

impl Unpin for ConnectingTcpRemote

§

impl Unpin for HttpInfo

§

impl Unpin for Internal

§

impl Unpin for CaptureConnection

§

impl Unpin for CaptureConnectionExtension

§

impl Unpin for Connected

§

impl Unpin for hyper::client::connect::Extra

§

impl Unpin for PoisonPill

§

impl Unpin for CheckoutIsClosedError

§

impl Unpin for hyper::client::pool::Config

§

impl Unpin for Expiration

§

impl Unpin for Error

§

impl Unpin for ErrorImpl

§

impl Unpin for TimedOut

§

impl Unpin for InvalidReasonPhrase

§

impl Unpin for ReasonPhrase

§

impl Unpin for HeaderCaseMap

§

impl Unpin for Protocol

§

impl Unpin for HeaderName

§

impl Unpin for HeaderValue

§

impl Unpin for InvalidHeaderName

§

impl Unpin for InvalidHeaderValue

§

impl Unpin for ToStrError

§

impl Unpin for hyper::proto::h1::conn::State

§

impl Unpin for Decoder

§

impl Unpin for IncompleteBody

§

impl Unpin for ChunkSize

§

impl Unpin for Encoder

§

impl Unpin for NotEof

§

impl Unpin for HeaderIndices

§

impl Unpin for Wants

§

impl Unpin for hyper::proto::h2::client::Config

§

impl Unpin for Bdp

§

impl Unpin for hyper::proto::h2::ping::Config

§

impl Unpin for Ponger

§

impl Unpin for Recorder

§

impl Unpin for hyper::proto::h2::ping::Shared

§

impl Unpin for hyper::proto::h2::server::Config

§

impl Unpin for ConnectParts

§

impl Unpin for RequestLine

§

impl Unpin for AddrIncoming

§

impl Unpin for NoopWatcher

§

impl Unpin for GracefulWatcher

§

impl Unpin for TcpKeepaliveConfig

§

impl Unpin for Method

§

impl Unpin for StatusCode

§

impl Unpin for Uri

§

impl Unpin for Version

§

impl Unpin for OnUpgrade

§

impl Unpin for hyper::upgrade::Pending

§

impl Unpin for UpgradeExpected

§

impl Unpin for Upgraded

§

impl Unpin for CachedDate

§

impl Unpin for Draining

§

impl Unpin for Signal

§

impl Unpin for Watch

§

impl Unpin for hyper::common::watch::Receiver

§

impl Unpin for hyper::common::watch::Sender

§

impl Unpin for hyper::common::watch::Shared

§

impl<'__pin, F, B> Unpin for H2StreamStateProj<'__pin, F, B>

§

impl<'__pin, F, R> Unpin for InnerProj<'__pin, F, R>

§

impl<'__pin, I, N, S, E, W> Unpin for hyper::server::server::new_svc::StateProj<'__pin, I, N, S, E, W>

§

impl<'__pin, I, S, F, E> Unpin for hyper::server::shutdown::StateProj<'__pin, I, S, F, E>

§

impl<'__pin, S, Req> Unpin for hyper::service::oneshot::StateProj<'__pin, S, Req>

§

impl<'__pin, T, B> Unpin for ProtoClientProj<'__pin, T, B>

§

impl<'__pin, T, B, S, E> Unpin for ProtoServerProj<'__pin, T, B, S, E>

§

impl<'a> !Unpin for ConnectingTcp<'a>

§

impl<'a> Unpin for FastWrite<'a>

§

impl<'a> Unpin for ParseContext<'a>

§

impl<'a> Unpin for Context<'a>

§

impl<'a, T> Unpin for Entry<'a, T>

§

impl<'a, T> Unpin for IdlePopper<'a, T>

§

impl<'a, T> Unpin for hyper::header::Drain<'a, T>

§

impl<'a, T> Unpin for GetAll<'a, T>

§

impl<'a, T> Unpin for hyper::header::Iter<'a, T>

§

impl<'a, T> Unpin for IterMut<'a, T>

§

impl<'a, T> Unpin for Keys<'a, T>

§

impl<'a, T> Unpin for OccupiedEntry<'a, T>

§

impl<'a, T> Unpin for VacantEntry<'a, T>

§

impl<'a, T> Unpin for ValueDrain<'a, T>where
    T: Unpin,

§

impl<'a, T> Unpin for ValueIter<'a, T>

§

impl<'a, T> Unpin for ValueIterMut<'a, T>

§

impl<'a, T> Unpin for Values<'a, T>

§

impl<'a, T> Unpin for ValuesMut<'a, T>

§

impl<'a, T> Unpin for OptGuard<'a, T>

§

impl<'a, T> Unpin for Encode<'a, T>

§

impl<B> Unpin for ClientError<B>where
    B: Unpin,

§

impl<B> Unpin for PoolTx<B>

§

impl<B> Unpin for BufKind<B>where
    B: Unpin,

§

impl<B> Unpin for SendBuf<B>where
    B: Unpin,

§

impl<B> Unpin for PoolClient<B>

§

impl<B> Unpin for Http2SendRequest<B>

§

impl<B> Unpin for SendRequest<B>

§

impl<B> Unpin for EncodedBuf<B>where
    B: Unpin,

§

impl<B> Unpin for WriteBuf<B>where
    B: Unpin,

§

impl<B> Unpin for ClientTask<B>

§

impl<B> Unpin for H2Upgraded<B>

§

impl<B> Unpin for Neutered<B>where
    B: Unpin,

§

impl<B> Unpin for UpgradedSendStream<B>

§

impl<C, B> Unpin for hyper::client::client::Client<C, B>where
    C: Unpin,

§

impl<C, B, T> Unpin for Connect<C, B, T>where
    C: Unpin,

§

impl<D, Bs, I, T> Unpin for Dispatcher<D, Bs, I, T>where
    D: Unpin,
    I: Unpin,

§

impl<E> Unpin for Http<E>where
    E: Unpin,

§

impl<F> Unpin for hyper::common::drain::State<F>where
    F: Unpin,

§

impl<F> Unpin for MakeServiceFn<F>where
    F: Unpin,

§

impl<F, R> Unpin for InnerProjReplace<F, R>where
    F: Unpin,
    R: Unpin,

§

impl<F, R> Unpin for ServiceFn<F, R>where
    F: Unpin,

§

impl<I, E> Unpin for hyper::server::server::Builder<I, E>where
    E: Unpin,
    I: Unpin,

§

impl<P> Unpin for Pin<P>where
    P: Unpin,

§

impl<R> Unpin for HttpConnector<R>where
    R: Unpin,

§

impl<S> Unpin for MessageHead<S>where
    S: Unpin,

§

impl<S, Req> Unpin for StateProjOwn<S, Req>where
    Req: Unpin,
    S: Unpin,
    <S as Service<Req>>::Future: Unpin,

§

impl<T> Unpin for Reservation<T>where
    T: Unpin,

§

impl<T> Unpin for Poll<T>where
    T: Unpin,

§

impl<T> Unpin for hyper::client::conn::Parts<T>where
    T: Unpin,

§

impl<T> Unpin for ExtraChain<T>where
    T: Unpin,

§

impl<T> Unpin for ExtraEnvelope<T>where
    T: Unpin,

§

impl<T> Unpin for Checkout<T>

§

impl<T> Unpin for hyper::client::pool::Connecting<T>

§

impl<T> Unpin for Idle<T>where
    T: Unpin,

§

impl<T> Unpin for Pool<T>

§

impl<T> Unpin for PoolInner<T>where
    T: Unpin,

§

impl<T> Unpin for Pooled<T>

§

impl<T> Unpin for WeakOpt<T>

§

impl<T> Unpin for HeaderMap<T>where
    T: Unpin,

§

impl<T> Unpin for IntoIter<T>where
    T: Unpin,

§

impl<T> Unpin for Cursor<T>where
    T: Unpin,

§

impl<T> Unpin for ParsedMessage<T>where
    T: Unpin,

§

impl<T> Unpin for Request<T>where
    T: Unpin,

§

impl<T> Unpin for Response<T>where
    T: Unpin,

§

impl<T> Unpin for hyper::upgrade::Parts<T>where
    T: Unpin,

§

impl<T> Unpin for BufList<T>where
    T: Unpin,

§

impl<T> Unpin for Rewind<T>where
    T: Unpin,

§

impl<T> Unpin for SyncWrapper<T>where
    T: Unpin,

§

impl<T, B> Unpin for hyper::proto::h2::server::State<T, B>where
    T: Unpin,

§

impl<T, B> Unpin for hyper::client::conn::Connection<T, B>where
    T: Unpin,

§

impl<T, B> Unpin for Serving<T, B>where
    T: Unpin,

§

impl<T, S> Unpin for hyper::server::conn::Parts<T, S>where
    S: Unpin,
    T: Unpin,

§

impl<T, S, E> Unpin for UpgradeableConnection<T, S, E>

§

impl<T, U> Unpin for Callback<T, U>

§

impl<T, U> Unpin for Envelope<T, U>where
    T: Unpin,

§

impl<T, U> Unpin for hyper::client::dispatch::Receiver<T, U>

§

impl<T, U> Unpin for hyper::client::dispatch::Sender<T, U>

§

impl<T, U> Unpin for UnboundedSender<T, U>