Trait core::marker::Unpin

1.33.0 · source ·
pub auto trait Unpin { }
Expand description

Types that can be safely moved after being pinned.

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

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

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

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

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

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

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

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

This trait is automatically implemented for almost every type.

Implementors§

source§

impl !Unpin for PhantomPinned

1.36.0 · source§

impl Unpin for Waker

source§

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

1.64.0 · source§

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

source§

impl<I> Unpin for FromIter<I>

1.48.0 · source§

impl<T> Unpin for Ready<T>

1.38.0 · source§

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

1.38.0 · source§

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

source§

impl<T: ?Sized> Unpin for &T

source§

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

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

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

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

Auto implementors§

§

impl Unpin for AsciiChar

§

impl Unpin for core::cmp::Ordering

§

impl Unpin for Infallible

§

impl Unpin for c_void

§

impl Unpin for core::fmt::Alignment

§

impl Unpin for IpAddr

§

impl Unpin for Ipv6MulticastScope

§

impl Unpin for SocketAddr

§

impl Unpin for FpCategory

§

impl Unpin for IntErrorKind

§

impl Unpin for Which

§

impl Unpin for SearchStep

§

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

§

impl Unpin for bool

§

impl Unpin for char

§

impl Unpin for f32

§

impl Unpin for f64

§

impl Unpin for i8

§

impl Unpin for i16

§

impl Unpin for i32

§

impl Unpin for i64

§

impl Unpin for i128

§

impl Unpin for isize

§

impl Unpin for str

§

impl Unpin for u8

§

impl Unpin for u16

§

impl Unpin for u32

§

impl Unpin for u64

§

impl Unpin for u128

§

impl Unpin for ()

§

impl Unpin for usize

§

impl Unpin for AllocError

§

impl Unpin for Layout

§

impl Unpin for LayoutError

§

impl Unpin for TypeId

§

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 int16x2_t

§

impl Unpin for uint16x2_t

§

impl Unpin for ISH

§

impl Unpin for ISHLD

§

impl Unpin for ISHST

§

impl Unpin for LD

§

impl Unpin for NSH

§

impl Unpin for NSHLD

§

impl Unpin for NSHST

§

impl Unpin for OSH

§

impl Unpin for OSHLD

§

impl Unpin for OSHST

§

impl Unpin for ST

§

impl Unpin for SY

§

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 int8x4_t

§

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 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 uint8x4_t

§

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 vector_bool_char

§

impl Unpin for vector_bool_int

§

impl Unpin for vector_bool_long

§

impl Unpin for vector_bool_short

§

impl Unpin for vector_double

§

impl Unpin for vector_float

§

impl Unpin for vector_signed_char

§

impl Unpin for vector_signed_int

§

impl Unpin for vector_signed_long

§

impl Unpin for vector_signed_short

§

impl Unpin for vector_unsigned_char

§

impl Unpin for vector_unsigned_int

§

impl Unpin for vector_unsigned_long

§

impl Unpin for vector_unsigned_short

§

impl Unpin for v128

§

impl Unpin for CpuidResult

§

impl Unpin for __m128

§

impl Unpin for __m128bh

§

impl Unpin for __m128d

§

impl Unpin for __m128i

§

impl Unpin for __m256

§

impl Unpin for __m256bh

§

impl Unpin for __m256d

§

impl Unpin for __m256i

§

impl Unpin for __m512

§

impl Unpin for __m512bh

§

impl Unpin for __m512d

§

impl Unpin for __m512i

§

impl Unpin for TryFromSliceError

§

impl Unpin for core::ascii::EscapeDefault

§

impl Unpin for BorrowError

§

impl Unpin for BorrowMutError

§

impl Unpin for CharTryFromError

§

impl Unpin for DecodeUtf16Error

§

impl Unpin for core::char::EscapeDebug

§

impl Unpin for core::char::EscapeDefault

§

impl Unpin for 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 Error

§

impl Unpin for SipHasher

§

impl Unpin for BasicBlock

§

impl Unpin for Assume

§

impl Unpin for AddrParseError

§

impl Unpin for Ipv4Addr

§

impl Unpin for Ipv6Addr

§

impl Unpin for SocketAddrV4

§

impl Unpin for SocketAddrV6

§

impl Unpin for NonZeroI8

§

impl Unpin for NonZeroI16

§

impl Unpin for NonZeroI32

§

impl Unpin for NonZeroI64

§

impl Unpin for NonZeroI128

§

impl Unpin for NonZeroIsize

§

impl Unpin for NonZeroU8

§

impl Unpin for NonZeroU16

§

impl Unpin for NonZeroU32

§

impl Unpin for NonZeroU64

§

impl Unpin for NonZeroU128

§

impl Unpin for NonZeroUsize

§

impl Unpin for ParseFloatError

§

impl Unpin for ParseIntError

§

impl Unpin for TryFromIntError

§

impl Unpin for RangeFull

§

impl Unpin for core::ptr::Alignment

§

impl Unpin for TimSortRun

§

impl Unpin for ParseBoolError

§

impl Unpin for Utf8Error

§

impl Unpin for AtomicBool

§

impl Unpin for AtomicI8

§

impl Unpin for AtomicI16

§

impl Unpin for AtomicI32

§

impl Unpin for AtomicI64

§

impl Unpin for AtomicI128

§

impl Unpin for AtomicIsize

§

impl Unpin for AtomicU8

§

impl Unpin for AtomicU16

§

impl Unpin for AtomicU32

§

impl Unpin for AtomicU64

§

impl Unpin for AtomicU128

§

impl Unpin for AtomicUsize

§

impl Unpin for RawWaker

§

impl Unpin for RawWakerVTable

§

impl Unpin for Duration

§

impl Unpin for TryFromFloatSecsError

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a> Unpin for Bytes<'a>

§

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

§

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

§

impl<'a> Unpin for EncodeUtf16<'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 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 Context<'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 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<'a>>::Searcher: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a, T, P> Unpin for GroupByMut<'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 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: ?Sized> Unpin for Ref<'b, T>

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<F> Unpin for 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: Unpin, <<I as Iterator>::Item as IntoIterator>::IntoIter: Unpin,

§

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

§

impl<I> Unpin for Intersperse<I>where I: Unpin, <I as Iterator>::Item: 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 Take<I>where I: Unpin,

§

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

§

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

§

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

§

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

§

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

§

impl<Idx> Unpin for 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<P> Unpin for Pin<P>where P: Unpin,

§

impl<Ret, T> Unpin for fn (T₁, T₂, …, Tₙ) -> Ret

§

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

§

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

§

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

§

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

§

impl<T> Unpin for (T₁, T₂, …, Tₙ)where T: Unpin,

§

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

§

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

§

impl<T> Unpin for Pending<T>

§

impl<T> Unpin for 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 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 core::result::IntoIter<T>where T: Unpin,

§

impl<T> Unpin for AtomicPtr<T>

§

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

§

impl<T, E> Unpin for Result<T, E>where E: Unpin, T: 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, const LANES: usize> Unpin for Mask<T, LANES>where T: Unpin,

§

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

§

impl<T, const N: usize> Unpin for core::array::IntoIter<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: ?Sized> Unpin for Cell<T>where T: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

impl Unpin for Global

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

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

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

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

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

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

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

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

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

impl<'a, K, V, A> Unpin for Entry<'a, K, V, A>where A: Unpin, K: Unpin,

impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>where A: Unpin, K: Unpin,

impl<'a, K, V, A> Unpin for OccupiedEntry<'a, K, V, A>where A: Unpin,

impl<'a, K, V, A> Unpin for OccupiedError<'a, K, V, A>where A: Unpin, V: Unpin,

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

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

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

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

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

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

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

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

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

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

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

impl<'a, K, V, F, A> Unpin for ExtractIf<'a, K, V, F, A>where A: Unpin, F: Unpin,

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

impl<'a, K, V, A> Unpin for CursorMut<'a, K, V, A>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl Unpin for CString

impl Unpin for NulError

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

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

impl Unpin for String

impl<'a> Unpin for Drain<'a>

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

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

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

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

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

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

impl Unpin for Level

impl Unpin for Diagnostic

impl Unpin for IntoIter

impl Unpin for LexError

impl Unpin for Span

impl Unpin for SourceFile

impl Unpin for TokenTree

impl Unpin for Group

impl Unpin for Delimiter

impl Unpin for Punct

impl Unpin for Spacing

impl Unpin for Ident

impl Unpin for Literal

impl<'scope, 'env> Unpin for Scope<'scope, 'env>

impl<'scope, T> Unpin for ScopedJoinHandle<'scope, T>

impl<T> Unpin for LocalKey<T>

impl Unpin for Builder

impl Unpin for ThreadId

impl Unpin for Thread

impl<T> Unpin for JoinHandle<T>

impl Unpin for Backtrace

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

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

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

impl<K, V> Unpin for IntoIter<K, V>where K: Unpin, V: Unpin,

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

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

impl<'a, K, V> Unpin for Drain<'a, K, V>where K: Unpin, V: Unpin,

impl<'a, K, V, F> Unpin for ExtractIf<'a, K, V, F>where F: Unpin,

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

impl<K, V> Unpin for IntoKeys<K, V>where K: Unpin, V: Unpin,

impl<K, V> Unpin for IntoValues<K, V>where K: Unpin, V: Unpin,

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

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

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

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

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

impl<'a, K, V> Unpin for Entry<'a, K, V>where K: Unpin,

impl<'a, K, V> Unpin for OccupiedEntry<'a, K, V>where K: Unpin,

impl<'a, K, V> Unpin for VacantEntry<'a, K, V>where K: Unpin,

impl<'a, K, V> Unpin for OccupiedError<'a, K, V>where K: Unpin, V: Unpin,

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

impl<'a, K> Unpin for Iter<'a, K>

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

impl<'a, K> Unpin for Drain<'a, K>where K: Unpin,

impl<'a, K, F> Unpin for ExtractIf<'a, K, F>where F: Unpin,

impl<'a, T, S> Unpin for Intersection<'a, T, S>

impl<'a, T, S> Unpin for Difference<'a, T, S>

impl<'a, T, S> Unpin for SymmetricDifference<'a, T, S>

impl<'a, T, S> Unpin for Union<'a, T, S>

impl Unpin for Vars

impl Unpin for VarsOs

impl Unpin for VarError

impl<'a> Unpin for SplitPaths<'a>

impl Unpin for Args

impl Unpin for ArgsOs

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

impl Unpin for OsString

impl Unpin for OsStr

impl Unpin for File

impl Unpin for Metadata

impl Unpin for ReadDir

impl Unpin for DirEntry

impl Unpin for FileTimes

impl Unpin for FileType

impl Unpin for DirBuilder

impl<R: ?Sized> Unpin for BufReader<R>where R: Unpin,

impl<W: ?Sized> Unpin for BufWriter<W>where W: Unpin,

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

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

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

impl Unpin for Error

impl Unpin for ErrorKind

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

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

impl Unpin for Stdin

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

impl Unpin for Stdout

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

impl Unpin for Stderr

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

impl Unpin for Empty

impl Unpin for Repeat

impl Unpin for Sink

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

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

impl Unpin for SeekFrom

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

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

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

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

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

impl Unpin for TcpStream

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

impl Unpin for UdpSocket

impl Unpin for Shutdown

impl Unpin for SocketAddr

impl Unpin for SocketCred

impl<'a> Unpin for ScmRights<'a>

impl<'a> Unpin for ScmCredentials<'a>

impl<'a> Unpin for AncillaryData<'a>

impl<'a> Unpin for Messages<'a>

impl<'a> Unpin for SocketAncillary<'a>

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

impl Unpin for UnixStream

impl Unpin for UCred

impl Unpin for PidFd

impl Unpin for stat

impl<'a> Unpin for EncodeWide<'a>

impl<'handle> Unpin for BorrowedHandle<'handle>

impl<'socket> Unpin for BorrowedSocket<'socket>

impl Unpin for stat

impl<'fd> Unpin for BorrowedFd<'fd>

impl Unpin for OwnedFd

impl<'a> Unpin for Prefix<'a>

impl<'a> Unpin for PrefixComponent<'a>

impl<'a> Unpin for Component<'a>

impl<'a> Unpin for Components<'a>

impl<'a> Unpin for Iter<'a>

impl<'a> Unpin for Ancestors<'a>

impl Unpin for PathBuf

impl Unpin for Path

impl<'a> Unpin for Display<'a>

impl<'a> Unpin for CommandEnvs<'a>

impl Unpin for Child

impl Unpin for ChildStdin

impl Unpin for Command

impl<'a> Unpin for CommandArgs<'a>

impl Unpin for Output

impl Unpin for Stdio

impl Unpin for ExitStatus

impl Unpin for ExitCode

impl<T> Unpin for Receiver<T>

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

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

impl<T> Unpin for IntoIter<T>

impl<T> Unpin for Sender<T>

impl<T> Unpin for SyncSender<T>

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

impl Unpin for RecvError

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

impl Unpin for Barrier

impl Unpin for Condvar

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

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

impl<'a, T: ?Sized> Unpin for MutexGuard<'a, T>

impl Unpin for Once

impl Unpin for OnceState

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

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

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

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

impl<'a, T: ?Sized> Unpin for RwLockReadGuard<'a, T>

impl<'a, T: ?Sized> Unpin for RwLockWriteGuard<'a, T>

impl Unpin for Instant

impl Unpin for SystemTime

impl Unpin for System

impl<Ret, T> Unpin for fn (T₁, T₂, …, Tₙ) -> Ret

impl Unpin for ()

impl<T> Unpin for (T₁, T₂, …, Tₙ)where T: Unpin,

impl Unpin for f64

impl Unpin for f32

impl Unpin for TestOpts

impl Unpin for Metric

impl Unpin for MetricMap

impl Unpin for Options

impl Unpin for RunIgnored

impl Unpin for TestResult

impl Unpin for TestDesc

impl Unpin for TestId

impl Unpin for TestName

impl Unpin for TestType

impl Unpin for Bencher

impl Unpin for Summary

impl Unpin for TestFn