Skip to main content

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.

Dyn Compatibilityยง

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementorsยง

1.33.0 ยท Sourceยง

impl !Unpin for PhantomPinned

Sourceยง

impl Unpin for LocalWaker

1.36.0 ยท Sourceยง

impl Unpin for Waker

Sourceยง

impl<Dyn: PointeeSized> Unpin for DynMetadata<Dyn>

1.64.0 ยท Sourceยง

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

Sourceยง

impl<I> Unpin for FromIter<I>

Sourceยง

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

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.33.0 ยท Sourceยง

impl<T: PointeeSized> Unpin for &T

1.33.0 ยท Sourceยง

impl<T: PointeeSized> Unpin for &mut T

1.38.0 ยท Sourceยง

impl<T: PointeeSized> Unpin for *const T

Sourceยง

impl<T: PointeeSized> Unpin for *const T is !null

1.38.0 ยท Sourceยง

impl<T: PointeeSized> Unpin for *mut T

1.28.0 ยท Sourceยง

impl<T> Unpin for NonZero<T>

1.48.0 ยท Sourceยง

impl<T> Unpin for Ready<T>

Auto implementorsยง

ยง

impl Unpin for !

ยง

impl Unpin for ()

ยง

impl Unpin for Abi

ยง

impl Unpin for AddrParseError

ยง

impl Unpin for core::mem::Alignment

ยง

impl Unpin for core::fmt::Alignment

ยง

impl Unpin for AllocError

ยง

impl Unpin for Array

ยง

impl Unpin for AsciiChar

ยง

impl Unpin for Assume

ยง

impl Unpin for AtomicOrdering

ยง

impl Unpin for BasicBlock

ยง

impl Unpin for Bool

ยง

impl Unpin for BorrowError

ยง

impl Unpin for BorrowMutError

ยง

impl Unpin for ByteStr

ยง

impl Unpin for CStr

ยง

impl Unpin for Char

ยง

impl Unpin for CharCase

ยง

impl Unpin for CharTryFromError

ยง

impl Unpin for Const

ยง

impl Unpin for CpuidResult

ยง

impl Unpin for DebugAsHex

ยง

impl Unpin for DecodeUtf16Error

ยง

impl Unpin for Duration

ยง

impl Unpin for DynTrait

ยง

impl Unpin for DynTraitPredicate

ยง

impl Unpin for core::io::Empty

ยง

impl Unpin for Enum

ยง

impl Unpin for core::io::Error

ยง

impl Unpin for core::fmt::Error

ยง

impl Unpin for ErrorKind

ยง

impl Unpin for core::char::EscapeDebug

ยง

impl Unpin for core::ascii::EscapeDefault

ยง

impl Unpin for core::char::EscapeDefault

ยง

impl Unpin for core::char::EscapeUnicode

ยง

impl Unpin for Field

ยง

impl Unpin for FieldId

ยง

impl Unpin for Float

ยง

impl Unpin for FnPtr

ยง

impl Unpin for FormattingOptions

ยง

impl Unpin for FpCategory

ยง

impl Unpin for FromBytesUntilNulError

ยง

impl Unpin for FromBytesWithNulError

ยง

impl Unpin for Generic

ยง

impl Unpin for GenericType

ยง

impl Unpin for GetDisjointMutError

ยง

impl Unpin for core::arch::hexagon::v64::HvxVector

ยง

impl Unpin for core::arch::hexagon::v128::HvxVector

ยง

impl Unpin for core::arch::hexagon::v64::HvxVectorPair

ยง

impl Unpin for core::arch::hexagon::v128::HvxVectorPair

ยง

impl Unpin for core::arch::hexagon::v64::HvxVectorPred

ยง

impl Unpin for core::arch::hexagon::v128::HvxVectorPred

ยง

impl Unpin for Infallible

ยง

impl Unpin for Int

ยง

impl Unpin for IntErrorKind

ยง

impl Unpin for IpAddr

ยง

impl Unpin for Ipv4Addr

ยง

impl Unpin for Ipv6Addr

ยง

impl Unpin for Ipv6MulticastScope

ยง

impl Unpin for Last

ยง

impl Unpin for Layout

ยง

impl Unpin for LayoutError

ยง

impl Unpin for Lifetime

ยง

impl Unpin for Locality

ยง

impl Unpin for OneSidedRangeBound

ยง

impl Unpin for core::cmp::Ordering

ยง

impl Unpin for core::sync::atomic::Ordering

ยง

impl Unpin for ParseBoolError

ยง

impl Unpin for ParseCharError

ยง

impl Unpin for ParseFloatError

ยง

impl Unpin for ParseIntError

ยง

impl Unpin for Pointer

ยง

impl Unpin for RangeFull

ยง

impl Unpin for RawWaker

ยง

impl Unpin for RawWakerVTable

ยง

impl Unpin for Reference

ยง

impl Unpin for core::io::Repeat

ยง

impl Unpin for ReturnToArg

ยง

impl Unpin for SY

ยง

impl Unpin for SearchStep

ยง

impl Unpin for Sign

ยง

impl Unpin for SimdAlign

ยง

impl Unpin for Sink

ยง

impl Unpin for SipHasher

ยง

impl Unpin for Slice

ยง

impl Unpin for SocketAddr

ยง

impl Unpin for SocketAddrV4

ยง

impl Unpin for SocketAddrV6

ยง

impl Unpin for Str

ยง

impl Unpin for Struct

ยง

impl Unpin for ToCasefold

ยง

impl Unpin for ToLowercase

ยง

impl Unpin for ToTitlecase

ยง

impl Unpin for ToUppercase

ยง

impl Unpin for Trait

ยง

impl Unpin for TryFromCharError

ยง

impl Unpin for TryFromFloatSecsError

ยง

impl Unpin for TryFromIntError

ยง

impl Unpin for TryFromSliceError

ยง

impl Unpin for Tuple

ยง

impl Unpin for Type

ยง

impl Unpin for TypeId

ยง

impl Unpin for TypeKind

ยง

impl Unpin for Union

ยง

impl Unpin for UnwindActionArg

ยง

impl Unpin for UnwindTerminateReason

ยง

impl Unpin for Utf8Error

ยง

impl Unpin for Variant

ยง

impl Unpin for __m128

ยง

impl Unpin for __m256

ยง

impl Unpin for __m512

ยง

impl Unpin for __m128bh

ยง

impl Unpin for __m128d

ยง

impl Unpin for __m128h

ยง

impl Unpin for __m128i

ยง

impl Unpin for __m256bh

ยง

impl Unpin for __m256d

ยง

impl Unpin for __m256h

ยง

impl Unpin for __m256i

ยง

impl Unpin for __m512bh

ยง

impl Unpin for __m512d

ยง

impl Unpin for __m512h

ยง

impl Unpin for __m512i

ยง

impl Unpin for __tile1024i

ยง

impl Unpin for bf16

ยง

impl Unpin for bool

ยง

impl Unpin for c_void

ยง

impl Unpin for char

ยง

impl Unpin for f16

ยง

impl Unpin for f32

ยง

impl Unpin for f64

ยง

impl Unpin for f16x2

ยง

impl Unpin for f128

ยง

impl Unpin for float16x4_t

ยง

impl Unpin for float16x4x2_t

ยง

impl Unpin for float16x4x3_t

ยง

impl Unpin for float16x4x4_t

ยง

impl Unpin for float16x8_t

ยง

impl Unpin for float16x8x2_t

ยง

impl Unpin for float16x8x3_t

ยง

impl Unpin for float16x8x4_t

ยง

impl Unpin for float32x2_t

ยง

impl Unpin for float32x2x2_t

ยง

impl Unpin for float32x2x3_t

ยง

impl Unpin for float32x2x4_t

ยง

impl Unpin for float32x4_t

ยง

impl Unpin for float32x4x2_t

ยง

impl Unpin for float32x4x3_t

ยง

impl Unpin for float32x4x4_t

ยง

impl Unpin for float64x1_t

ยง

impl Unpin for float64x1x2_t

ยง

impl Unpin for float64x1x3_t

ยง

impl Unpin for float64x1x4_t

ยง

impl Unpin for float64x2_t

ยง

impl Unpin for float64x2x2_t

ยง

impl Unpin for float64x2x3_t

ยง

impl Unpin for float64x2x4_t

ยง

impl Unpin for i8

ยง

impl Unpin for i16

ยง

impl Unpin for i32

ยง

impl Unpin for i64

ยง

impl Unpin for i128

ยง

impl Unpin for int8x8_t

ยง

impl Unpin for int8x8x2_t

ยง

impl Unpin for int8x8x3_t

ยง

impl Unpin for int8x8x4_t

ยง

impl Unpin for int8x16_t

ยง

impl Unpin for int8x16x2_t

ยง

impl Unpin for int8x16x3_t

ยง

impl Unpin for int8x16x4_t

ยง

impl Unpin for int16x4_t

ยง

impl Unpin for int16x4x2_t

ยง

impl Unpin for int16x4x3_t

ยง

impl Unpin for int16x4x4_t

ยง

impl Unpin for int16x8_t

ยง

impl Unpin for int16x8x2_t

ยง

impl Unpin for int16x8x3_t

ยง

impl Unpin for int16x8x4_t

ยง

impl Unpin for int32x2_t

ยง

impl Unpin for int32x2x2_t

ยง

impl Unpin for int32x2x3_t

ยง

impl Unpin for int32x2x4_t

ยง

impl Unpin for int32x4_t

ยง

impl Unpin for int32x4x2_t

ยง

impl Unpin for int32x4x3_t

ยง

impl Unpin for int32x4x4_t

ยง

impl Unpin for int64x1_t

ยง

impl Unpin for int64x1x2_t

ยง

impl Unpin for int64x1x3_t

ยง

impl Unpin for int64x1x4_t

ยง

impl Unpin for int64x2_t

ยง

impl Unpin for int64x2x2_t

ยง

impl Unpin for int64x2x3_t

ยง

impl Unpin for int64x2x4_t

ยง

impl Unpin for isize

ยง

impl Unpin for m128

ยง

impl Unpin for m256

ยง

impl Unpin for m128d

ยง

impl Unpin for m128i

ยง

impl Unpin for m256d

ยง

impl Unpin for m256i

ยง

impl Unpin for objc_class

ยง

impl Unpin for objc_selector

ยง

impl Unpin for poly8x8_t

ยง

impl Unpin for poly8x8x2_t

ยง

impl Unpin for poly8x8x3_t

ยง

impl Unpin for poly8x8x4_t

ยง

impl Unpin for poly8x16_t

ยง

impl Unpin for poly8x16x2_t

ยง

impl Unpin for poly8x16x3_t

ยง

impl Unpin for poly8x16x4_t

ยง

impl Unpin for poly16x4_t

ยง

impl Unpin for poly16x4x2_t

ยง

impl Unpin for poly16x4x3_t

ยง

impl Unpin for poly16x4x4_t

ยง

impl Unpin for poly16x8_t

ยง

impl Unpin for poly16x8x2_t

ยง

impl Unpin for poly16x8x3_t

ยง

impl Unpin for poly16x8x4_t

ยง

impl Unpin for poly64x1_t

ยง

impl Unpin for poly64x1x2_t

ยง

impl Unpin for poly64x1x3_t

ยง

impl Unpin for poly64x1x4_t

ยง

impl Unpin for poly64x2_t

ยง

impl Unpin for poly64x2x2_t

ยง

impl Unpin for poly64x2x3_t

ยง

impl Unpin for poly64x2x4_t

ยง

impl Unpin for str

ยง

impl Unpin for svbool_t

ยง

impl Unpin for svfloat32_t

ยง

impl Unpin for svfloat32x2_t

ยง

impl Unpin for svfloat32x3_t

ยง

impl Unpin for svfloat32x4_t

ยง

impl Unpin for svfloat64_t

ยง

impl Unpin for svfloat64x2_t

ยง

impl Unpin for svfloat64x3_t

ยง

impl Unpin for svfloat64x4_t

ยง

impl Unpin for svint8_t

ยง

impl Unpin for svint8x2_t

ยง

impl Unpin for svint8x3_t

ยง

impl Unpin for svint8x4_t

ยง

impl Unpin for svint16_t

ยง

impl Unpin for svint16x2_t

ยง

impl Unpin for svint16x3_t

ยง

impl Unpin for svint16x4_t

ยง

impl Unpin for svint32_t

ยง

impl Unpin for svint32x2_t

ยง

impl Unpin for svint32x3_t

ยง

impl Unpin for svint32x4_t

ยง

impl Unpin for svint64_t

ยง

impl Unpin for svint64x2_t

ยง

impl Unpin for svint64x3_t

ยง

impl Unpin for svint64x4_t

ยง

impl Unpin for svpattern

ยง

impl Unpin for svprfop

ยง

impl Unpin for svuint8_t

ยง

impl Unpin for svuint8x2_t

ยง

impl Unpin for svuint8x3_t

ยง

impl Unpin for svuint8x4_t

ยง

impl Unpin for svuint16_t

ยง

impl Unpin for svuint16x2_t

ยง

impl Unpin for svuint16x3_t

ยง

impl Unpin for svuint16x4_t

ยง

impl Unpin for svuint32_t

ยง

impl Unpin for svuint32x2_t

ยง

impl Unpin for svuint32x3_t

ยง

impl Unpin for svuint32x4_t

ยง

impl Unpin for svuint64_t

ยง

impl Unpin for svuint64x2_t

ยง

impl Unpin for svuint64x3_t

ยง

impl Unpin for svuint64x4_t

ยง

impl Unpin for u8

ยง

impl Unpin for u16

ยง

impl Unpin for u32

ยง

impl Unpin for u64

ยง

impl Unpin for u128

ยง

impl Unpin for uint8x8_t

ยง

impl Unpin for uint8x8x2_t

ยง

impl Unpin for uint8x8x3_t

ยง

impl Unpin for uint8x8x4_t

ยง

impl Unpin for uint8x16_t

ยง

impl Unpin for uint8x16x2_t

ยง

impl Unpin for uint8x16x3_t

ยง

impl Unpin for uint8x16x4_t

ยง

impl Unpin for uint16x4_t

ยง

impl Unpin for uint16x4x2_t

ยง

impl Unpin for uint16x4x3_t

ยง

impl Unpin for uint16x4x4_t

ยง

impl Unpin for uint16x8_t

ยง

impl Unpin for uint16x8x2_t

ยง

impl Unpin for uint16x8x3_t

ยง

impl Unpin for uint16x8x4_t

ยง

impl Unpin for uint32x2_t

ยง

impl Unpin for uint32x2x2_t

ยง

impl Unpin for uint32x2x3_t

ยง

impl Unpin for uint32x2x4_t

ยง

impl Unpin for uint32x4_t

ยง

impl Unpin for uint32x4x2_t

ยง

impl Unpin for uint32x4x3_t

ยง

impl Unpin for uint32x4x4_t

ยง

impl Unpin for uint64x1_t

ยง

impl Unpin for uint64x1x2_t

ยง

impl Unpin for uint64x1x3_t

ยง

impl Unpin for uint64x1x4_t

ยง

impl Unpin for uint64x2_t

ยง

impl Unpin for uint64x2x2_t

ยง

impl Unpin for uint64x2x3_t

ยง

impl Unpin for uint64x2x4_t

ยง

impl Unpin for usize

ยง

impl Unpin for v128

ยง

impl Unpin for core::arch::powerpc::vector_bool_char

ยง

impl Unpin for core::arch::s390x::vector_bool_char

ยง

impl Unpin for core::arch::powerpc::vector_bool_int

ยง

impl Unpin for core::arch::s390x::vector_bool_int

ยง

impl Unpin for vector_bool_long

ยง

impl Unpin for vector_bool_long_long

ยง

impl Unpin for core::arch::powerpc::vector_bool_short

ยง

impl Unpin for core::arch::s390x::vector_bool_short

ยง

impl Unpin for core::arch::powerpc::vector_double

ยง

impl Unpin for core::arch::s390x::vector_double

ยง

impl Unpin for core::arch::powerpc::vector_float

ยง

impl Unpin for core::arch::s390x::vector_float

ยง

impl Unpin for core::arch::powerpc::vector_signed_char

ยง

impl Unpin for core::arch::s390x::vector_signed_char

ยง

impl Unpin for core::arch::powerpc::vector_signed_int

ยง

impl Unpin for core::arch::s390x::vector_signed_int

ยง

impl Unpin for vector_signed_long

ยง

impl Unpin for vector_signed_long_long

ยง

impl Unpin for core::arch::powerpc::vector_signed_short

ยง

impl Unpin for core::arch::s390x::vector_signed_short

ยง

impl Unpin for core::arch::powerpc::vector_unsigned_char

ยง

impl Unpin for core::arch::s390x::vector_unsigned_char

ยง

impl Unpin for core::arch::powerpc::vector_unsigned_int

ยง

impl Unpin for core::arch::s390x::vector_unsigned_int

ยง

impl Unpin for vector_unsigned_long

ยง

impl Unpin for vector_unsigned_long_long

ยง

impl Unpin for core::arch::powerpc::vector_unsigned_short

ยง

impl Unpin for core::arch::s390x::vector_unsigned_short

ยง

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

ยง

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

ยง

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 StrSearcher<'a, 'b>

ยง

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

ยง

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

ยง

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 core::str::RSplit<'a, P>
where <P as Pattern>::Searcher<'a>: Unpin,

ยง

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

ยง

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

ยง

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

ยง

impl<'a, T, P> Unpin for 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 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 ArrayWindows<'a, T, N>

ยง

impl<'a, T> Unpin for BorrowedCursor<'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 core::result::Iter<'a, T>

ยง

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

ยง

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

ยง

impl<'a, T> Unpin for 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, const N: usize> Unpin for CharArraySearcher<'a, N>

ยง

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

ยง

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

ยง

impl<'a> Unpin for core::ffi::c_str::Bytes<'a>

ยง

impl<'a> Unpin for core::str::Bytes<'a>

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

impl<'a> Unpin for core::str::EscapeDebug<'a>

ยง

impl<'a> Unpin for core::str::EscapeDefault<'a>

ยง

impl<'a> Unpin for core::str::EscapeUnicode<'a>

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

impl<'a> Unpin for Source<'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 Utf8Pattern<'a>

ยง

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

ยง

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

ยง

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

ยง

impl<'data, T> Unpin for BorrowedBuf<'data, T>

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

impl<F> Unpin for core::fmt::FromFn<F>
where F: Unpin,

ยง

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

ยง

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

ยง

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

ยง

impl<H> Unpin for BuildHasherDefault<H>

ยง

impl<I, F, const N: usize> Unpin for MapWindows<I, F, N>
where F: Unpin, I: Unpin, <I as Iterator>::Item: 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, G> Unpin for IntersperseWith<I, G>
where G: Unpin, I: Unpin, <I as Iterator>::Item: 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 ArrayChunks<I, N>
where I: Unpin, <I as Iterator>::Item: 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 DecodeUtf16<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 core::iter::Take<I>
where I: Unpin,

ยง

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

ยง

impl<Idx> Unpin for core::ops::Range<Idx>
where Idx: Unpin,

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

impl<P> Unpin for MaybeDangling<P>
where P: Unpin + ?Sized,

ยง

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

ยง

impl<Ret, T> Unpin for fn(Tโ‚, Tโ‚‚, โ€ฆ, Tโ‚™) -> Ret

ยง

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

ยง

impl<T, F> Unpin for DropGuard<T, F>
where T: Unpin, F: 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 core::io::Chain<T, U>
where T: Unpin, U: Unpin,

ยง

impl<T, const N: usize> Unpin for 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<T, const N: usize> Unpin for [MaybeUninit<T>; N]
where T: Unpin,

ยง

impl<T, const N: usize> Unpin for [Option<T>; N]
where T: Unpin,

ยง

impl<T, const N: usize> Unpin for [T; N]
where T: Unpin,

ยง

impl<T, const VARIANT: u32, const FIELD: u32> Unpin for FieldRepresentingType<T, VARIANT, FIELD>
where T: ?Sized,

ยง

impl<T> Unpin for (Tโ‚, Tโ‚‚, โ€ฆ, Tโ‚™)
where T: Unpin,

ยง

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

ยง

impl<T> Unpin for Atomic<T>
where <T as AtomicPrimitive>::Storage: Unpin,

ยง

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

ยง

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

ยง

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

ยง

impl<T> Unpin for Discriminant<T>

ยง

impl<T> Unpin for core::iter::Empty<T>

ยง

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

ยง

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

ยง

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

ยง

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

ยง

impl<T> Unpin for NumBuffer<T>
where <T as NumBufferTrait>::Buf: Unpin, T: Unpin,

ยง

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

ยง

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

ยง

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

ยง

impl<T> Unpin for Pending<T>

ยง

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 Poll<T>
where T: Unpin,

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

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

ยง

impl<T> Unpin for core::io::Take<T>
where T: Unpin,

ยง

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

ยง

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

ยง

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

ยง

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

ยง

impl<T> Unpin for [T]
where T: Unpin,

ยง

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

ยง

impl<const N: usize> Unpin for [u8; N]