kvarn_async::prelude::compact_str::core::marker

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'__pin, T, F> Unpin for TaskLocalFuture<T, F>
where __Origin<'__pin, T, F>: Unpin, T: 'static,

§

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

source§

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

1.64.0 · source§

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

source§

impl<I> Unpin for FromIter<I>

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 Ready<T>

1.28.0 · source§

impl<T> Unpin for NonZero<T>

§

impl<T> Unpin for JoinHandle<T>

§

impl<T> Unpin for Receiver<T>

1.33.0 · source§

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

1.33.0 · source§

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

1.33.0 · source§

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

Auto implementors§

§

impl Unpin for IpAddr

§

impl Unpin for SocketAddr

§

impl Unpin for kvarn_async::prelude::fmt::Alignment

§

impl Unpin for ErrorKind

§

impl Unpin for SeekFrom

§

impl Unpin for Ipv6MulticastScope

§

impl Unpin for Shutdown

§

impl Unpin for CacheControlError

§

impl Unpin for kvarn_async::prelude::parse::Error

§

impl Unpin for RequestParseStage

§

impl Unpin for SanitizeError

§

impl Unpin for ToCompactStringError

§

impl Unpin for AsciiChar

§

impl Unpin for kvarn_async::prelude::compact_str::core::cmp::Ordering

§

impl Unpin for Infallible

§

impl Unpin for c_void

§

impl Unpin for BasicBlock

§

impl Unpin for UnwindTerminateReason

§

impl Unpin for FpCategory

§

impl Unpin for IntErrorKind

§

impl Unpin for SearchStep

§

impl Unpin for kvarn_async::prelude::compact_str::core::sync::atomic::Ordering

§

impl Unpin for UninitSlice

§

impl Unpin for PresentArguments

§

impl Unpin for PresentExtensions

§

impl Unpin for PresentExtensionsIter

§

impl Unpin for kvarn_async::prelude::fmt::Error

§

impl Unpin for InvalidHeaderName

§

impl Unpin for InvalidHeaderValue

§

impl Unpin for MaxSizeReached

§

impl Unpin for ToStrError

§

impl Unpin for kvarn_async::prelude::io::Empty

§

impl Unpin for kvarn_async::prelude::io::Error

§

impl Unpin for kvarn_async::prelude::io::Repeat

§

impl Unpin for Sink

§

impl Unpin for Stderr

§

impl Unpin for Stdin

§

impl Unpin for Stdout

§

impl Unpin for WriterPanicked

§

impl Unpin for AddrParseError

§

impl Unpin for IntoIncoming

§

impl Unpin for Ipv4Addr

§

impl Unpin for Ipv6Addr

§

impl Unpin for SocketAddrV4

§

impl Unpin for SocketAddrV6

§

impl Unpin for TcpListener

§

impl Unpin for TcpStream

§

impl Unpin for UdpSocket

§

impl Unpin for CacheControl

§

impl Unpin for CriticalRequestComponents

§

impl Unpin for ParseBoolError

§

impl Unpin for Utf8Error

§

impl Unpin for kvarn_async::prelude::Bytes

§

impl Unpin for BytesMut

§

impl Unpin for CompactString

§

impl Unpin for Duration

§

impl Unpin for HeaderName

§

impl Unpin for HeaderValue

§

impl Unpin for Instant

§

impl Unpin for Method

§

impl Unpin for Path

§

impl Unpin for PathBuf

§

impl Unpin for StatusCode

§

impl Unpin for Uri

§

impl Unpin for Version

§

impl Unpin for WriteableBytes

§

impl Unpin for Authority

§

impl Unpin for Builder

§

impl Unpin for InvalidUri

§

impl Unpin for InvalidUriParts

§

impl Unpin for Parts

§

impl Unpin for PathAndQuery

§

impl Unpin for Scheme

§

impl Unpin for ReserveError

§

impl Unpin for Utf16Error

§

impl Unpin for AllocError

§

impl Unpin for Layout

§

impl Unpin for LayoutError

§

impl Unpin for TypeId

§

impl Unpin for CpuidResult

§

impl Unpin for __m128

§

impl Unpin for __m128bh

§

impl Unpin for __m128d

§

impl Unpin for __m128h

§

impl Unpin for __m128i

§

impl Unpin for __m256

§

impl Unpin for __m256bh

§

impl Unpin for __m256d

§

impl Unpin for __m256h

§

impl Unpin for __m256i

§

impl Unpin for __m512

§

impl Unpin for __m512bh

§

impl Unpin for __m512d

§

impl Unpin for __m512h

§

impl Unpin for __m512i

§

impl Unpin for bf16

§

impl Unpin for TryFromSliceError

§

impl Unpin for kvarn_async::prelude::compact_str::core::ascii::EscapeDefault

§

impl Unpin for BorrowError

§

impl Unpin for BorrowMutError

§

impl Unpin for CharTryFromError

§

impl Unpin for DecodeUtf16Error

§

impl Unpin for kvarn_async::prelude::compact_str::core::char::EscapeDebug

§

impl Unpin for kvarn_async::prelude::compact_str::core::char::EscapeDefault

§

impl Unpin for kvarn_async::prelude::compact_str::core::char::EscapeUnicode

§

impl Unpin for ParseCharError

§

impl Unpin for ToLowercase

§

impl Unpin for ToUppercase

§

impl Unpin for TryFromCharError

§

impl Unpin for CStr

§

impl Unpin for FromBytesUntilNulError

§

impl Unpin for FromBytesWithNulError

§

impl Unpin for SipHasher

§

impl Unpin for ReturnToArg

§

impl Unpin for UnwindActionArg

§

impl Unpin for Assume

§

impl Unpin for ParseFloatError

§

impl Unpin for ParseIntError

§

impl Unpin for TryFromIntError

§

impl Unpin for kvarn_async::prelude::compact_str::core::ptr::Alignment

§

impl Unpin for RangeFull

§

impl Unpin for AtomicBool

§

impl Unpin for AtomicI8

§

impl Unpin for AtomicI16

§

impl Unpin for AtomicI32

§

impl Unpin for AtomicI64

§

impl Unpin for AtomicIsize

§

impl Unpin for AtomicU8

§

impl Unpin for AtomicU16

§

impl Unpin for AtomicU32

§

impl Unpin for AtomicU64

§

impl Unpin for AtomicUsize

§

impl Unpin for RawWaker

§

impl Unpin for RawWakerVTable

§

impl Unpin for TryFromFloatSecsError

§

impl Unpin for Big8x3

§

impl Unpin for Big32x40

§

impl Unpin for Decoded

§

impl Unpin for FullDecoded

§

impl Unpin for Maybe

§

impl Unpin for NoRuntime

§

impl Unpin for Number

§

impl Unpin for Runtime

§

impl Unpin for Sign

§

impl Unpin for TryCaptureWithDebug

§

impl Unpin for TryCaptureWithoutDebug

§

impl<'a> !Unpin for kvarn_async::prelude::compact_str::core::error::Request<'a>

§

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

§

impl<'a> Unpin for PresentArgumentsIter<'a>

§

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

§

impl<'a> Unpin for BorrowedCursor<'a>

§

impl<'a> Unpin for IoSlice<'a>

§

impl<'a> Unpin for IoSliceMut<'a>

§

impl<'a> Unpin for StderrLock<'a>

§

impl<'a> Unpin for StdinLock<'a>

§

impl<'a> Unpin for StdoutLock<'a>

§

impl<'a> Unpin for Incoming<'a>

§

impl<'a> Unpin for Query<'a>

§

impl<'a> Unpin for QueryPair<'a>

§

impl<'a> Unpin for QueryPairIter<'a>

§

impl<'a> Unpin for ValueQualitySet<'a>

§

impl<'a> Unpin for kvarn_async::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 kvarn_async::prelude::str::EscapeDebug<'a>

§

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

§

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

§

impl<'a> Unpin for kvarn_async::prelude::str::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 Formatter<'a>

§

impl<'a> Unpin for ReadBuf<'a>

§

impl<'a> Unpin for kvarn_async::prelude::compact_str::Drain<'a>

§

impl<'a> Unpin for Source<'a>

§

impl<'a> Unpin for kvarn_async::prelude::compact_str::core::ffi::c_str::Bytes<'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 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, const N: usize> Unpin for CharArrayRefSearcher<'a, 'b, N>

§

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

§

impl<'a, A> Unpin for kvarn_async::prelude::compact_str::core::option::Iter<'a, A>

§

impl<'a, A> Unpin for kvarn_async::prelude::compact_str::core::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, 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 kvarn_async::prelude::str::RSplit<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

impl<'a, P> Unpin for kvarn_async::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 kvarn_async::prelude::str::Split<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

§

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

§

impl<'a, P> Unpin for kvarn_async::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 Entry<'a, T>

§

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

§

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

§

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

§

impl<'a, T> Unpin for kvarn_async::prelude::header::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 kvarn_async::prelude::compact_str::core::result::Iter<'a, T>

§

impl<'a, T> Unpin for kvarn_async::prelude::compact_str::core::result::IterMut<'a, T>

§

impl<'a, T> Unpin for 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 kvarn_async::prelude::compact_str::core::slice::Iter<'a, T>

§

impl<'a, T> Unpin for kvarn_async::prelude::compact_str::core::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, 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 kvarn_async::prelude::compact_str::core::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 kvarn_async::prelude::compact_str::core::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 kvarn_async::prelude::compact_str::core::slice::Split<'a, T, P>
where P: Unpin,

§

impl<'a, T, P> Unpin for kvarn_async::prelude::compact_str::core::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 kvarn_async::prelude::compact_str::core::slice::SplitN<'a, T, P>
where P: Unpin,

§

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

§

impl<'a, T, const N: usize> Unpin for kvarn_async::prelude::compact_str::core::slice::ArrayChunks<'a, T, N>

§

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

§

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<'data> Unpin for BorrowedBuf<'data>

§

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

§

impl<A> Unpin for kvarn_async::prelude::compact_str::core::iter::Repeat<A>
where A: Unpin,

§

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

§

impl<A> Unpin for kvarn_async::prelude::compact_str::core::option::IntoIter<A>
where A: Unpin,

§

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

§

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

§

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

§

impl<A, B> Unpin for kvarn_async::prelude::compact_str::core::iter::Chain<A, B>
where A: Unpin, B: Unpin,

§

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

§

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

§

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

§

impl<B> Unpin for kvarn_async::prelude::io::Lines<B>
where B: Unpin,

§

impl<B> Unpin for kvarn_async::prelude::io::Split<B>
where B: Unpin,

§

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

§

impl<E, M> Unpin for Capture<E, M>
where E: Unpin, M: Unpin,

§

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

§

impl<F> Unpin for kvarn_async::prelude::compact_str::core::iter::FromFn<F>
where F: Unpin,

§

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

§

impl<F> Unpin for RepeatWith<F>
where F: 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 Cycle<I>
where I: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<I> Unpin for kvarn_async::prelude::compact_str::core::iter::Take<I>
where I: Unpin,

§

impl<I, F> Unpin for FilterMap<I, F>
where I: Unpin, F: Unpin,

§

impl<I, F> Unpin for Inspect<I, F>
where I: Unpin, F: Unpin,

§

impl<I, F> Unpin for 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 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 SkipWhile<I, P>
where I: Unpin, P: Unpin,

§

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

§

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

§

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

§

impl<I, const N: usize> Unpin for kvarn_async::prelude::compact_str::core::iter::ArrayChunks<I, N>
where I: Unpin, <I as Iterator>::Item: Unpin,

§

impl<Idx> Unpin for kvarn_async::prelude::compact_str::core::range::legacy::Range<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for kvarn_async::prelude::compact_str::core::range::legacy::RangeFrom<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for kvarn_async::prelude::compact_str::core::range::legacy::RangeInclusive<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for kvarn_async::prelude::compact_str::core::range::Range<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for kvarn_async::prelude::compact_str::core::range::RangeFrom<Idx>
where Idx: Unpin,

§

impl<Idx> Unpin for kvarn_async::prelude::compact_str::core::range::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, V, S> Unpin for HashMap<K, V, S>
where S: Unpin, K: Unpin, V: Unpin,

§

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

§

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

§

impl<R> Unpin for kvarn_async::prelude::io::BufReader<R>
where R: Unpin + ?Sized,

§

impl<R> Unpin for kvarn_async::prelude::io::Bytes<R>
where R: 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 kvarn_async::prelude::bytes::buf::IntoIter<T>
where T: Unpin,

§

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

§

impl<T> Unpin for kvarn_async::prelude::bytes::buf::Take<T>
where T: Unpin,

§

impl<T> Unpin for kvarn_async::prelude::header::IntoIter<T>
where T: Unpin,

§

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

§

impl<T> Unpin for kvarn_async::prelude::io::Take<T>
where T: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

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 AsyncDropInPlace<T>
where <T as AsyncDestruct>::AsyncDestructor: Unpin, T: ?Sized,

§

impl<T> Unpin for Pending<T>

§

impl<T> Unpin for kvarn_async::prelude::compact_str::core::iter::Empty<T>

§

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

§

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

§

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 kvarn_async::prelude::compact_str::core::result::IntoIter<T>
where T: Unpin,

§

impl<T> Unpin for AtomicPtr<T>

§

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

§

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

§

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

§

impl<T> Unpin for Wrapper<T>
where T: 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, U> Unpin for kvarn_async::prelude::bytes::buf::Chain<T, U>
where T: Unpin, U: Unpin,

§

impl<T, U> Unpin for kvarn_async::prelude::io::Chain<T, U>
where T: Unpin, U: Unpin,

§

impl<T, const N: usize> Unpin for kvarn_async::prelude::compact_str::core::array::IntoIter<T, N>
where T: Unpin,

§

impl<T, const N: usize> Unpin for Mask<T, N>
where T: Unpin,

§

impl<T, const N: usize> Unpin for Simd<T, N>
where T: Unpin,

§

impl<W> Unpin for kvarn_async::prelude::io::BufWriter<W>
where W: Unpin + ?Sized,

§

impl<W> Unpin for IntoInnerError<W>
where W: Unpin,

§

impl<W> Unpin for LineWriter<W>
where W: Unpin + ?Sized,

§

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

§

impl<const N: usize> Unpin for LaneCount<N>

§

impl<const N: usize> Unpin for GetManyMutError<N>

impl Unpin for Body

impl Unpin for Error

impl Unpin for UriKey

impl Unpin for Value

impl Unpin for Encryption

impl Unpin for Error

impl Unpin for Incoming

impl Unpin for SendKind

impl Unpin for Action

impl Unpin for Error

impl Unpin for ByteBody

impl Unpin for PathQuery

impl Unpin for AllowList

impl Unpin for Rule

impl Unpin for ValueSet

impl Unpin for Arguments

impl Unpin for Plugins

impl Unpin for Extensions

impl Unpin for Id

impl Unpin for Collection

impl Unpin for Host

impl Unpin for Options

impl Unpin for Manager

impl Unpin for Metadata

impl Unpin for Manager

impl Unpin for CacheReply

impl Unpin for RunConfig

impl Unpin for Settings

impl<'a> Unpin for MethodAllowList<'a>

impl<'a> Unpin for WSStream<'a>

impl<'a> Unpin for PresentData<'a>

impl<K, V> Unpin for MokaCache<K, V>

impl<R> Unpin for Http1Body<R>

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

impl<V> Unpin for CacheOut<V>
where V: Unpin,

impl<'a> Unpin for Extendible<'a>

impl<'a> Unpin for Header<'a>

impl<'a> Unpin for IndentIndenter<'a>

impl Unpin for Connection

impl Unpin for SmartPush

impl Unpin for CopyBuffer

impl Unpin for Manager

impl Unpin for Cache

impl Unpin for ViewCount

impl<'a, B> Unpin for ByteProxy<'a, B>

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

impl Unpin for Server

impl Unpin for QuoteType

impl<'a> Unpin for IterItem<'a>

impl<'a> Unpin for LinkIter<'a>