Unpin

Trait Unpin 

1.33.0 · Source
pub auto trait Unpin { }
Expand description

Types that do not require any pinning guarantees.

For information on what “pinning” is, see the pin module documentation.

Implementing the Unpin trait for T expresses the fact that T is pinning-agnostic: it shall not expose nor rely on any pinning guarantees. This, in turn, means that a Pin-wrapped pointer to such a type can feature a fully unrestricted API. In other words, if T: Unpin, a value of type T will not be bound by the invariants which pinning otherwise offers, even when “pinned” by a Pin<Ptr> pointing at it. When a value of type T is pointed at by a Pin<Ptr>, Pin will not restrict access to the pointee value like it normally would, thus allowing the user to do anything that they normally could with a non-Pin-wrapped Ptr to that value.

The idea of this trait is to alleviate the reduced ergonomics of APIs that require the use of Pin for soundness for some types, but which also want to be used by other types that don’t care about pinning. The prime example of such an API is Future::poll. There are many Future types that don’t care about pinning. These futures can implement Unpin and therefore get around the pinning related restrictions in the API, while still allowing the subset of Futures which do require pinning to be implemented soundly.

For more discussion on the consequences of Unpin within the wider scope of the pinning system, see the section about Unpin in the pin module.

Unpin has no consequence at all for non-pinned data. In particular, mem::replace happily moves !Unpin data, which would be immovable when pinned (mem::replace works for any &mut T, not just when T: Unpin).

However, you cannot use mem::replace on !Unpin data which is pinned by being wrapped inside a Pin<Ptr> pointing at it. This is because you cannot (safely) use a Pin<Ptr> to get a &mut T to its pointee value, which you would need to call mem::replace, 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. The compiler is free to take the conservative stance of marking types as Unpin so long as all of the types that compose its fields are also Unpin. This is because if a type implements Unpin, then it is unsound for that type’s implementation to rely on pinning-related guarantees for soundness, even when viewed through a “pinning” pointer! It is the responsibility of the implementor of a type that relies upon pinning for soundness to ensure that type is not marked as Unpin by adding PhantomPinned field. For more details, see the pin module docs.

Implementors§

1.33.0 · Source§

impl !Unpin for PhantomPinned

Source§

impl Unpin for LocalWaker

1.36.0 · Source§

impl Unpin for Waker

Source§

impl<'__pin, 'a, St> Unpin for Peek<'a, St>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, 'a, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, 'a, St> Unpin for futures_util::stream::stream::peek::PeekMut<'a, St>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, 'a, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, F> Unpin for FlattenStream<F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, F: Future,

Source§

impl<'__pin, F> Unpin for futures_util::future::future::IntoStream<F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, F> Unpin for OptionFuture<F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Fut1, Fut2> Unpin for Join<Fut1, Fut2>
where Fut1: Future, Fut2: Future, <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut1, Fut2>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, Fut1, Fut2> Unpin for TryJoin<Fut1, Fut2>
where Fut1: TryFuture, Fut2: TryFuture, <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut1, Fut2>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, Fut1, Fut2, Fut3, Fut4> Unpin for TryJoin4<Fut1, Fut2, Fut3, Fut4>
where Fut1: TryFuture, Fut2: TryFuture, Fut3: TryFuture, Fut4: TryFuture, <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut1, Fut2, Fut3, Fut4>> as PinnedFieldsOfHelperTrait>::Actual: 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, <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut1, Fut2, Fut3, Fut4, Fut5>> as PinnedFieldsOfHelperTrait>::Actual: 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, <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut1, Fut2, Fut3, Fut4, Fut5>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, Fut> Unpin for NeverError<Fut>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Fut> Unpin for UnitError<Fut>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Fut> Unpin for IntoFuture<Fut>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Fut> Unpin for TryFlattenStream<Fut>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, Fut: TryFuture,

Source§

impl<'__pin, Fut> Unpin for futures_util::stream::once::Once<Fut>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, Fut, E> Unpin for OkInto<Fut, E>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut, E>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, Fut, F> Unpin for UnwrapOrElse<Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Fut, F, G> Unpin for MapOkOrElse<Fut, F, G>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut, F, G>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Fut, Si> Unpin for FlattenSink<Fut, Si>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut, Si>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Fut, T> Unpin for MapInto<Fut, T>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Fut, T>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, Si1, Si2> Unpin for Fanout<Si1, Si2>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Si1, Si2>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Si, F> Unpin for SinkMapErr<Si, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Si, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, Si, Item> Unpin for Buffer<Si, Item>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, Si, Item>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, St1, St2> Unpin for futures_util::stream::stream::zip::Zip<St1, St2>
where St1: Stream, St2: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St1, St2>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, St> Unpin for BufferUnordered<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, St: Stream,

Source§

impl<'__pin, St> Unpin for Buffered<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, St: Stream, <St as Stream>::Item: Future,

Source§

impl<'__pin, St> Unpin for futures_util::stream::stream::chunks::Chunks<St>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St> Unpin for Concat<St>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St> Unpin for Count<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St> Unpin for futures_util::stream::stream::cycle::Cycle<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St> Unpin for futures_util::stream::stream::enumerate::Enumerate<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, St> Unpin for futures_util::stream::stream::peek::Peekable<St>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St> Unpin for ReadyChunks<St>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St> Unpin for futures_util::stream::stream::skip::Skip<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, St> Unpin for TryBufferUnordered<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, St: TryStream,

Source§

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

Source§

impl<'__pin, St> Unpin for TryChunks<St>
where St: TryStream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St> Unpin for TryConcat<St>
where St: TryStream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, St> Unpin for TryFlattenUnordered<St>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: 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> Unpin for TryReadyChunks<St>
where St: TryStream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, C> Unpin for Collect<St, C>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, C>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, C> Unpin for TryCollect<St, C>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, C>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, St, FromA, FromB> Unpin for Unzip<St, FromA, FromB>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, FromA, FromB>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, St, Fut, F> Unpin for All<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for Any<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for futures_util::stream::stream::filter::Filter<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, St: Stream,

Source§

impl<'__pin, St, Fut, F> Unpin for futures_util::stream::stream::filter_map::FilterMap<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for ForEach<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for ForEachConcurrent<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for futures_util::stream::stream::skip_while::SkipWhile<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, St: Stream,

Source§

impl<'__pin, St, Fut, F> Unpin for futures_util::stream::stream::take_while::TakeWhile<St, Fut, F>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, St, Fut, F> Unpin for TryAll<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for TryAny<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, St, Fut, F> Unpin for TryFilterMap<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for TryForEach<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Fut, F> Unpin for TryForEachConcurrent<St, Fut, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'__pin, St, S, Fut, F> Unpin for futures_util::stream::stream::scan::Scan<St, S, Fut, F>
where St: Stream, <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, S, Fut, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

impl<'__pin, St, Si> Unpin for Forward<St, Si>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, Si>> as PinnedFieldsOfHelperTrait>::Actual: Unpin, St: TryStream,

Source§

impl<'__pin, St, U, F> Unpin for futures_util::stream::stream::FlatMap<St, U, F>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, St, U, F>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, T> Unpin for Abortable<T>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, T>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

impl<'__pin, T, F, Fut> Unpin for TryUnfold<T, F, Fut>
where <PinnedFieldsOfHelperStruct<__Origin<'__pin, T, F, Fut>> as PinnedFieldsOfHelperTrait>::Actual: Unpin,

Source§

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

Source§

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

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 futures_util::stream::repeat_with::RepeatWith<F>
where F: FnMut() -> A,

Source§

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

1.64.0 · Source§

impl<F> Unpin for sails_rs::prelude::future::PollFn<F>
where F: Unpin,

Source§

impl<F> Unpin for 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 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<S> Unpin for SplitStream<S>

Source§

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

Source§

impl<Si, Item> Unpin for 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 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,

Source§

impl<T> !Unpin for UnsafePinned<T>
where T: ?Sized,

When this type is used, that almost certainly means safe APIs need to use pinning to avoid the aliases from becoming invalidated. Therefore let’s mark this as !Unpin. You can always opt back in to Unpin with an impl block, provided your API is still sound while unpinned.

1.38.0 · Source§

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

1.38.0 · Source§

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

1.33.0 · Source§

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

1.33.0 · Source§

impl<T> Unpin for &mut T
where T: ?Sized,

1.48.0 · Source§

impl<T> Unpin for sails_rs::prelude::future::Ready<T>

Source§

impl<T> Unpin for Receiver<T>

Source§

impl<T> Unpin for 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 futures_util::sink::drain::Drain<T>

Source§

impl<T> Unpin for futures_util::stream::empty::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 futures_util::stream::repeat::Repeat<T>

1.28.0 · Source§

impl<T> Unpin for NonZero<T>

1.33.0 · Source§

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

Source§

impl<T, A> Unpin for UniqueArc<T, A>
where A: Allocator, T: ?Sized,

Source§

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

1.33.0 · Source§

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

Source§

impl<T, A> Unpin for UniqueRc<T, A>
where A: Allocator, T: ?Sized,

1.33.0 · Source§

impl<T, A> Unpin for sails_rs::prelude::Box<T, A>
where A: Allocator, T: ?Sized,

Source§

impl<T, F> Unpin for AlwaysReady<T, F>
where F: Fn() -> T,

Auto implementors§

§

impl Unpin for sails_rs::errors::Error

§

impl Unpin for RtlError

§

impl Unpin for AsciiChar

§

impl Unpin for Ordering

§

impl Unpin for TryReserveErrorKind

§

impl Unpin for sails_rs::prelude::collections::hashbrown::TryReserveError

§

impl Unpin for Infallible

§

impl Unpin for ErrorReplyReason

§

impl Unpin for ReplyCode

§

impl Unpin for SignalCode

§

impl Unpin for SimpleExecutionError

§

impl Unpin for SimpleUnavailableActorError

§

impl Unpin for SuccessReplyReason

§

impl Unpin for FromBytesWithNulError

§

impl Unpin for c_void

§

impl Unpin for sails_rs::prelude::fmt::Alignment

§

impl Unpin for DebugAsHex

§

impl Unpin for sails_rs::prelude::fmt::Sign

§

impl Unpin for FpCategory

§

impl Unpin for IntErrorKind

§

impl Unpin for OneSidedRangeBound

§

impl Unpin for GetDisjointMutError

§

impl Unpin for SearchStep

§

impl Unpin for GStdArgs

§

impl Unpin for GStdRemoting

§

impl Unpin for CreateProgramFuture

§

impl Unpin for MessageFuture

§

impl Unpin for MessageHandle

§

impl Unpin for Syscall

§

impl Unpin for TypeId

§

impl Unpin for TryFromSliceError

§

impl Unpin for sails_rs::prelude::ascii::EscapeDefault

§

impl Unpin for BorrowError

§

impl Unpin for BorrowMutError

§

impl Unpin for CharTryFromError

§

impl Unpin for DecodeUtf16Error

§

impl Unpin for sails_rs::prelude::char::EscapeDebug

§

impl Unpin for sails_rs::prelude::char::EscapeDefault

§

impl Unpin for sails_rs::prelude::char::EscapeUnicode

§

impl Unpin for ParseCharError

§

impl Unpin for ToLowercase

§

impl Unpin for ToUppercase

§

impl Unpin for TryFromCharError

§

impl Unpin for UnorderedKeyError

§

impl Unpin for sails_rs::prelude::collections::TryReserveError

§

impl Unpin for CStr

§

impl Unpin for CString

§

impl Unpin for FromBytesUntilNulError

§

impl Unpin for FromVecWithNulError

§

impl Unpin for IntoStringError

§

impl Unpin for NulError

§

impl Unpin for sails_rs::prelude::fmt::Error

§

impl Unpin for FormattingOptions

§

impl Unpin for SipHasher

§

impl Unpin for Assume

§

impl Unpin for ParseFloatError

§

impl Unpin for ParseIntError

§

impl Unpin for TryFromIntError

§

impl Unpin for RangeFull

§

impl Unpin for sails_rs::prelude::ptr::Alignment

§

impl Unpin for ParseBoolError

§

impl Unpin for Utf8Error

§

impl Unpin for FromUtf8Error

§

impl Unpin for FromUtf16Error

§

impl Unpin for IntoChars

§

impl Unpin for ActorId

§

impl Unpin for CodeId

§

impl Unpin for H160

§

impl Unpin for H256

§

impl Unpin for MessageId

§

impl Unpin for NonZeroU256

§

impl Unpin for String

§

impl Unpin for U256

§

impl Unpin for RawWaker

§

impl Unpin for RawWakerVTable

§

impl Unpin for Duration

§

impl Unpin for TryFromFloatSecsError

§

impl Unpin for Big8x3

§

impl Unpin for Big32x40

§

impl Unpin for CodePointInner

§

impl Unpin for Decimal

§

impl Unpin for DecimalSeq

§

impl Unpin for Decoded

§

impl Unpin for FullDecoded

§

impl Unpin for I32NotAllOnes

§

impl Unpin for I64NotAllOnes

§

impl Unpin for Nanoseconds

§

impl Unpin for NonZeroCharInner

§

impl Unpin for NonZeroI8Inner

§

impl Unpin for NonZeroI16Inner

§

impl Unpin for NonZeroI32Inner

§

impl Unpin for NonZeroI64Inner

§

impl Unpin for NonZeroI128Inner

§

impl Unpin for NonZeroIsizeInner

§

impl Unpin for NonZeroU8Inner

§

impl Unpin for NonZeroU16Inner

§

impl Unpin for NonZeroU32Inner

§

impl Unpin for NonZeroU64Inner

§

impl Unpin for NonZeroU128Inner

§

impl Unpin for NonZeroUsizeInner

§

impl Unpin for Sign

§

impl Unpin for U32NotAllOnes

§

impl Unpin for U64NotAllOnes

§

impl Unpin for UsizeNoHighBit

§

impl<'a> Unpin for Utf8Pattern<'a>

§

impl<'a> Unpin for sails_rs::prelude::ffi::c_str::Bytes<'a>

§

impl<'a> Unpin for Arguments<'a>

§

impl<'a> Unpin for Formatter<'a>

§

impl<'a> Unpin for PhantomContravariantLifetime<'a>

§

impl<'a> Unpin for PhantomCovariantLifetime<'a>

§

impl<'a> Unpin for PhantomInvariantLifetime<'a>

§

impl<'a> Unpin for Location<'a>

§

impl<'a> Unpin for PanicInfo<'a>

§

impl<'a> Unpin for PanicMessage<'a>

§

impl<'a> Unpin for EscapeAscii<'a>

§

impl<'a> Unpin for CharSearcher<'a>

§

impl<'a> Unpin for sails_rs::prelude::str::Bytes<'a>

§

impl<'a> Unpin for CharIndices<'a>

§

impl<'a> Unpin for Chars<'a>

§

impl<'a> Unpin for EncodeUtf16<'a>

§

impl<'a> Unpin for sails_rs::prelude::str::EscapeDebug<'a>

§

impl<'a> Unpin for sails_rs::prelude::str::EscapeDefault<'a>

§

impl<'a> Unpin for sails_rs::prelude::str::EscapeUnicode<'a>

§

impl<'a> Unpin for Lines<'a>

§

impl<'a> Unpin for LinesAny<'a>

§

impl<'a> Unpin for SplitAsciiWhitespace<'a>

§

impl<'a> Unpin for SplitWhitespace<'a>

§

impl<'a> Unpin for Utf8Chunk<'a>

§

impl<'a> Unpin for Utf8Chunks<'a>

§

impl<'a> Unpin for sails_rs::prelude::string::Drain<'a>

§

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

§

impl<'a> Unpin for ContextBuilder<'a>

§

impl<'a> Unpin for Formatted<'a>

§

impl<'a> Unpin for Part<'a>

§

impl<'a, 'b> Unpin for DebugList<'a, 'b>

§

impl<'a, 'b> Unpin for DebugMap<'a, 'b>

§

impl<'a, 'b> Unpin for DebugSet<'a, 'b>

§

impl<'a, 'b> Unpin for DebugStruct<'a, 'b>

§

impl<'a, 'b> Unpin for DebugTuple<'a, 'b>

§

impl<'a, 'b> Unpin for CharSliceSearcher<'a, 'b>

§

impl<'a, 'b> Unpin for StrSearcher<'a, 'b>

§

impl<'a, 'b, K, Q, V, S, A> Unpin for EntryRef<'a, 'b, K, Q, V, S, A>
where Q: ?Sized,

§

impl<'a, 'b, K, Q, V, S, A> Unpin for VacantEntryRef<'a, 'b, K, Q, V, S, A>
where Q: ?Sized,

§

impl<'a, 'b, const N: usize> Unpin for CharArrayRefSearcher<'a, 'b, N>

§

impl<'a, 'f> Unpin for VaList<'a, 'f>

§

impl<'a, A> Unpin for sails_rs::prelude::option::Iter<'a, A>

§

impl<'a, A> Unpin for sails_rs::prelude::option::IterMut<'a, A>

§

impl<'a, B> Unpin for Cow<'a, B>
where <B as ToOwned>::Owned: Unpin, B: ?Sized,

§

impl<'a, F> Unpin for CharPredicateSearcher<'a, F>
where F: Unpin,

§

impl<'a, I> Unpin for ByRefSized<'a, I>

§

impl<'a, I, A> Unpin for Splice<'a, I, A>
where I: Unpin,

§

impl<'a, K> Unpin for sails_rs::prelude::collections::btree_set::Cursor<'a, K>

§

impl<'a, K> Unpin for sails_rs::prelude::collections::hash_set::Iter<'a, K>

§

impl<'a, K, A> Unpin for sails_rs::prelude::collections::btree_set::CursorMut<'a, K, A>

§

impl<'a, K, A> Unpin for sails_rs::prelude::collections::btree_set::CursorMutKey<'a, K, A>

§

impl<'a, K, A> Unpin for sails_rs::prelude::collections::hash_set::Drain<'a, K, A>

§

impl<'a, K, F, A> Unpin for sails_rs::prelude::collections::hash_set::ExtractIf<'a, K, F, A>
where F: Unpin,

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::btree_map::Cursor<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::btree_map::Iter<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::btree_map::IterMut<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::btree_map::Keys<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::btree_map::Range<'a, K, V>

§

impl<'a, K, V> Unpin for RangeMut<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::btree_map::Values<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::btree_map::ValuesMut<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::hash_map::Iter<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::hash_map::IterMut<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::hash_map::Keys<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::hash_map::Values<'a, K, V>

§

impl<'a, K, V> Unpin for sails_rs::prelude::collections::hash_map::ValuesMut<'a, K, V>

§

impl<'a, K, V, A> Unpin for sails_rs::prelude::collections::btree_map::Entry<'a, K, V, A>
where K: Unpin, A: Unpin,

§

impl<'a, K, V, A> Unpin for sails_rs::prelude::collections::btree_map::CursorMut<'a, K, V, A>

§

impl<'a, K, V, A> Unpin for sails_rs::prelude::collections::btree_map::CursorMutKey<'a, K, V, A>

§

impl<'a, K, V, A> Unpin for sails_rs::prelude::collections::btree_map::OccupiedEntry<'a, K, V, A>
where A: Unpin,

§

impl<'a, K, V, A> Unpin for sails_rs::prelude::collections::btree_map::OccupiedError<'a, K, V, A>
where V: Unpin, A: Unpin,

§

impl<'a, K, V, A> Unpin for sails_rs::prelude::collections::btree_map::VacantEntry<'a, K, V, A>
where K: Unpin, A: Unpin,

§

impl<'a, K, V, A> Unpin for sails_rs::prelude::collections::hash_map::Drain<'a, K, V, A>

§

impl<'a, K, V, F, A> Unpin for sails_rs::prelude::collections::hash_map::ExtractIf<'a, K, V, F, A>
where F: Unpin,

§

impl<'a, K, V, R, F, A> Unpin for sails_rs::prelude::collections::btree_map::ExtractIf<'a, K, V, R, F, A>
where F: Unpin, A: Unpin, R: Unpin,

§

impl<'a, K, V, S, A> Unpin for sails_rs::prelude::collections::hash_map::Entry<'a, K, V, S, A>
where K: Unpin,

§

impl<'a, K, V, S, A> Unpin for RawEntryMut<'a, K, V, S, A>

§

impl<'a, K, V, S, A> Unpin for sails_rs::prelude::collections::hash_map::OccupiedEntry<'a, K, V, S, A>

§

impl<'a, K, V, S, A> Unpin for sails_rs::prelude::collections::hash_map::OccupiedError<'a, K, V, S, A>
where V: Unpin,

§

impl<'a, K, V, S, A> Unpin for RawEntryBuilder<'a, K, V, S, A>

§

impl<'a, K, V, S, A> Unpin for RawEntryBuilderMut<'a, K, V, S, A>

§

impl<'a, K, V, S, A> Unpin for RawOccupiedEntryMut<'a, K, V, S, A>

§

impl<'a, K, V, S, A> Unpin for RawVacantEntryMut<'a, K, V, S, A>

§

impl<'a, K, V, S, A> Unpin for sails_rs::prelude::collections::hash_map::VacantEntry<'a, K, V, S, A>
where K: Unpin,

§

impl<'a, P> Unpin for MatchIndices<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for Matches<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for RMatchIndices<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for RMatches<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for sails_rs::prelude::str::RSplit<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for sails_rs::prelude::str::RSplitN<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for RSplitTerminator<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for sails_rs::prelude::str::Split<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for sails_rs::prelude::str::SplitInclusive<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for sails_rs::prelude::str::SplitN<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for SplitTerminator<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, T> Unpin for sails_rs::prelude::collections::binary_heap::Iter<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::btree_set::Iter<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::btree_set::Range<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::btree_set::SymmetricDifference<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::btree_set::Union<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::linked_list::Iter<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::linked_list::IterMut<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::vec_deque::Iter<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::collections::vec_deque::IterMut<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::result::Iter<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::result::IterMut<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::slice::Chunks<'a, T>

§

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

§

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

§

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

§

impl<'a, T> Unpin for sails_rs::prelude::slice::Iter<'a, T>

§

impl<'a, T> Unpin for sails_rs::prelude::slice::IterMut<'a, T>

§

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

§

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

§

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

§

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

§

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

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::btree_set::Entry<'a, T, A>
where A: Unpin, T: Unpin,

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::binary_heap::Drain<'a, T, A>

§

impl<'a, T, A> Unpin for DrainSorted<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::binary_heap::PeekMut<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::btree_set::Difference<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::btree_set::Intersection<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::btree_set::OccupiedEntry<'a, T, A>
where A: Unpin,

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::btree_set::VacantEntry<'a, T, A>
where T: Unpin, A: Unpin,

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::linked_list::Cursor<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::linked_list::CursorMut<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::collections::vec_deque::Drain<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::vec::Drain<'a, T, A>

§

impl<'a, T, A> Unpin for sails_rs::prelude::vec::PeekMut<'a, T, A>

§

impl<'a, T, F, A> Unpin for sails_rs::prelude::collections::linked_list::ExtractIf<'a, T, F, A>
where F: Unpin,

§

impl<'a, T, F, A> Unpin for sails_rs::prelude::vec::ExtractIf<'a, T, F, A>
where F: Unpin,

§

impl<'a, T, P> Unpin for ChunkBy<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for ChunkByMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for sails_rs::prelude::slice::RSplit<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for RSplitMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for sails_rs::prelude::slice::RSplitN<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for RSplitNMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for sails_rs::prelude::slice::Split<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for sails_rs::prelude::slice::SplitInclusive<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for SplitInclusiveMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for SplitMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for sails_rs::prelude::slice::SplitN<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for SplitNMut<'a, T, P>
where P: Unpin,

§

impl<'a, T, R, F, A> Unpin for sails_rs::prelude::collections::btree_set::ExtractIf<'a, T, R, F, A>
where F: Unpin, A: Unpin, R: Unpin,

§

impl<'a, T, S, A> Unpin for sails_rs::prelude::collections::hash_set::Entry<'a, T, S, A>
where T: Unpin,

§

impl<'a, T, S, A> Unpin for sails_rs::prelude::collections::hash_set::Difference<'a, T, S, A>

§

impl<'a, T, S, A> Unpin for sails_rs::prelude::collections::hash_set::Intersection<'a, T, S, A>

§

impl<'a, T, S, A> Unpin for sails_rs::prelude::collections::hash_set::OccupiedEntry<'a, T, S, A>

§

impl<'a, T, S, A> Unpin for sails_rs::prelude::collections::hash_set::SymmetricDifference<'a, T, S, A>

§

impl<'a, T, S, A> Unpin for sails_rs::prelude::collections::hash_set::Union<'a, T, S, A>

§

impl<'a, T, S, A> Unpin for sails_rs::prelude::collections::hash_set::VacantEntry<'a, T, S, A>
where T: Unpin,

§

impl<'a, T, const N: usize> Unpin for ArrayWindows<'a, T, N>

§

impl<'a, const N: usize> Unpin for CharArraySearcher<'a, N>

§

impl<'b, T> Unpin for Ref<'b, T>
where T: ?Sized,

§

impl<'b, T> Unpin for RefMut<'b, T>
where T: ?Sized,

§

impl<'f> Unpin for VaListImpl<'f>

§

impl<A> Unpin for sails_rs::prelude::iter::Repeat<A>
where A: Unpin,

§

impl<A> Unpin for RepeatN<A>
where A: Unpin,

§

impl<A> Unpin for sails_rs::prelude::option::IntoIter<A>
where A: Unpin,

§

impl<A, B> Unpin for sails_rs::prelude::iter::Chain<A, B>
where A: Unpin, B: Unpin,

§

impl<A, B> Unpin for sails_rs::prelude::iter::Zip<A, B>
where A: Unpin, B: Unpin,

§

impl<B, C> Unpin for ControlFlow<B, C>
where C: Unpin, B: Unpin,

§

impl<F> Unpin for sails_rs::prelude::fmt::FromFn<F>
where F: Unpin,

§

impl<F> Unpin for sails_rs::prelude::iter::FromFn<F>
where F: Unpin,

§

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

§

impl<F> Unpin for sails_rs::prelude::iter::RepeatWith<F>
where F: Unpin,

§

impl<G> Unpin for FromCoroutine<G>
where G: Unpin,

§

impl<H> Unpin for BuildHasherDefault<H>

§

impl<I> Unpin for DecodeUtf16<I>
where I: Unpin,

§

impl<I> Unpin for Cloned<I>
where I: Unpin,

§

impl<I> Unpin for Copied<I>
where I: Unpin,

§

impl<I> Unpin for sails_rs::prelude::iter::Cycle<I>
where I: Unpin,

§

impl<I> Unpin for sails_rs::prelude::iter::Enumerate<I>
where I: Unpin,

§

impl<I> Unpin for sails_rs::prelude::iter::Flatten<I>
where <<I as Iterator>::Item as IntoIterator>::IntoIter: Unpin, I: Unpin,

§

impl<I> Unpin for sails_rs::prelude::iter::Fuse<I>
where I: Unpin,

§

impl<I> Unpin for Intersperse<I>
where <I as Iterator>::Item: Sized + Unpin, I: Unpin,

§

impl<I> Unpin for sails_rs::prelude::iter::Peekable<I>
where I: Unpin, <I as Iterator>::Item: Unpin,

§

impl<I> Unpin for sails_rs::prelude::iter::Skip<I>
where I: Unpin,

§

impl<I> Unpin for StepBy<I>
where I: Unpin,

§

impl<I> Unpin for sails_rs::prelude::iter::Take<I>
where I: Unpin,

§

impl<I, F> Unpin for sails_rs::prelude::iter::FilterMap<I, F>
where I: Unpin, F: Unpin,

§

impl<I, F> Unpin for sails_rs::prelude::iter::Inspect<I, F>
where I: Unpin, F: Unpin,

§

impl<I, F> Unpin for sails_rs::prelude::iter::Map<I, F>
where I: Unpin, F: Unpin,

§

impl<I, F, const N: usize> Unpin for MapWindows<I, F, N>
where F: Unpin, I: Unpin, <I as Iterator>::Item: Unpin,

§

impl<I, G> Unpin for IntersperseWith<I, G>
where G: Unpin, <I as Iterator>::Item: Unpin, I: Unpin,

§

impl<I, P> Unpin for sails_rs::prelude::iter::Filter<I, P>
where I: Unpin, P: Unpin,

§

impl<I, P> Unpin for MapWhile<I, P>
where I: Unpin, P: Unpin,

§

impl<I, P> Unpin for sails_rs::prelude::iter::SkipWhile<I, P>
where I: Unpin, P: Unpin,

§

impl<I, P> Unpin for sails_rs::prelude::iter::TakeWhile<I, P>
where I: Unpin, P: Unpin,

§

impl<I, St, F> Unpin for sails_rs::prelude::iter::Scan<I, St, F>
where I: Unpin, F: Unpin, St: Unpin,

§

impl<I, U, F> Unpin for sails_rs::prelude::iter::FlatMap<I, U, F>
where <U as IntoIterator>::IntoIter: Unpin, I: Unpin, F: Unpin,

§

impl<I, const N: usize> Unpin for ArrayChunks<I, N>
where I: Unpin, <I as Iterator>::Item: Unpin,

§

impl<Idx> Unpin for sails_rs::prelude::ops::Range<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeFrom<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeInclusive<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeTo<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for RangeToInclusive<Idx>
where Idx: Unpin,

§

impl<K, A> Unpin for sails_rs::prelude::collections::hash_set::IntoIter<K, A>
where A: Unpin, K: Unpin,

§

impl<K, V, A> Unpin for sails_rs::prelude::collections::btree_map::IntoIter<K, V, A>
where A: Unpin,

§

impl<K, V, A> Unpin for sails_rs::prelude::collections::btree_map::IntoKeys<K, V, A>
where A: Unpin,

§

impl<K, V, A> Unpin for sails_rs::prelude::collections::btree_map::IntoValues<K, V, A>
where A: Unpin,

§

impl<K, V, A> Unpin for sails_rs::prelude::collections::hash_map::IntoIter<K, V, A>
where A: Unpin, K: Unpin, V: Unpin,

§

impl<K, V, A> Unpin for sails_rs::prelude::collections::hash_map::IntoKeys<K, V, A>
where A: Unpin, K: Unpin, V: Unpin,

§

impl<K, V, A> Unpin for sails_rs::prelude::collections::hash_map::IntoValues<K, V, A>
where A: Unpin, K: Unpin, V: Unpin,

§

impl<K, V, A> Unpin for BTreeMap<K, V, A>
where A: Unpin,

§

impl<K, V, S, A> Unpin for HashMap<K, V, S, A>
where S: Unpin, A: Unpin, K: Unpin, V: Unpin,

§

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

§

impl<R, E> Unpin for RemotingListener<R, E>
where R: Unpin, E: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> Unpin for ThinBox<T>
where T: Unpin + ?Sized,

§

impl<T> Unpin for Cell<T>
where T: Unpin + ?Sized,

§

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

§

impl<T> Unpin for RefCell<T>
where T: Unpin + ?Sized,

§

impl<T> Unpin for SyncUnsafeCell<T>
where T: Unpin + ?Sized,

§

impl<T> Unpin for UnsafeCell<T>
where T: Unpin + ?Sized,

§

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

§

impl<T> Unpin for sails_rs::prelude::future::Pending<T>

§

impl<T> Unpin for sails_rs::prelude::iter::Empty<T>

§

impl<T> Unpin for sails_rs::prelude::iter::Once<T>
where T: Unpin,

§

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

§

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

§

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

§

impl<T> Unpin for PhantomData<T>
where T: Unpin + ?Sized,

§

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

§

impl<T> Unpin for Discriminant<T>

§

impl<T> Unpin for ManuallyDrop<T>
where T: Unpin + ?Sized,

§

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

§

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

§

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

§

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

§

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

§

impl<T> Unpin for sails_rs::prelude::result::IntoIter<T>
where T: Unpin,

§

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

§

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

§

impl<T, A> Unpin for sails_rs::prelude::collections::binary_heap::IntoIter<T, A>
where T: Unpin, A: Unpin,

§

impl<T, A> Unpin for IntoIterSorted<T, A>
where A: Unpin, T: Unpin,

§

impl<T, A> Unpin for sails_rs::prelude::collections::btree_set::IntoIter<T, A>
where A: Unpin,

§

impl<T, A> Unpin for sails_rs::prelude::collections::linked_list::IntoIter<T, A>
where A: Unpin,

§

impl<T, A> Unpin for BTreeSet<T, A>
where A: Unpin,

§

impl<T, A> Unpin for BinaryHeap<T, A>
where A: Unpin, T: Unpin,

§

impl<T, A> Unpin for LinkedList<T, A>
where A: Unpin,

§

impl<T, A> Unpin for VecDeque<T, A>
where A: Unpin, T: Unpin,

§

impl<T, A> Unpin for sails_rs::prelude::collections::vec_deque::IntoIter<T, A>
where A: Unpin, T: Unpin,

§

impl<T, A> Unpin for Weak<T, A>
where A: Unpin, T: ?Sized,

§

impl<T, A> Unpin for Vec<T, A>
where A: Unpin, T: Unpin,

§

impl<T, A> Unpin for sails_rs::prelude::vec::IntoIter<T, A>
where T: Unpin, A: Unpin,

§

impl<T, E> Unpin for Result<T, E>
where T: Unpin, E: Unpin,

§

impl<T, F> Unpin for LazyCell<T, F>
where F: Unpin, T: Unpin,

§

impl<T, F> Unpin for Successors<T, F>
where F: Unpin, T: Unpin,

§

impl<T, F> Unpin for DropGuard<T, F>
where T: Unpin, F: Unpin,

§

impl<T, S, A> Unpin for HashSet<T, S, A>
where S: Unpin, A: Unpin, T: Unpin,

§

impl<T, const N: usize> Unpin for sails_rs::prelude::array::IntoIter<T, N>
where T: Unpin,

§

impl<TRemoting, TActionIo> Unpin for RemotingAction<TRemoting, TActionIo>
where TRemoting: Unpin, <TActionIo as ActionIo>::Params: Unpin, <TRemoting as Remoting>::Args: Unpin,

§

impl<Y, R> Unpin for CoroutineState<Y, R>
where Y: Unpin, R: Unpin,