Trait rustc_std_workspace_std::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());

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> 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 Twhere T: ?Sized,

1.38.0 · source§

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

source§

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

source§

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

1.48.0 · source§

impl<T> Unpin for Ready<T>

source§

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

source§

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

source§

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

Auto implementors§

§

impl Unpin for AsciiChar

§

impl Unpin for BacktraceStatus

§

impl Unpin for rustc_std_workspace_std::cmp::Ordering

§

impl Unpin for TryReserveErrorKind

§

impl Unpin for Infallible

§

impl Unpin for VarError

§

impl Unpin for c_void

§

impl Unpin for rustc_std_workspace_std::fmt::Alignment

§

impl Unpin for ErrorKind

§

impl Unpin for SeekFrom

§

impl Unpin for IpAddr

§

impl Unpin for Ipv6MulticastScope

§

impl Unpin for Shutdown

§

impl Unpin for SocketAddr

§

impl Unpin for FpCategory

§

impl Unpin for IntErrorKind

§

impl Unpin for BacktraceStyle

§

impl Unpin for MustAbort

§

impl Unpin for Which

§

impl Unpin for SearchStep

§

impl Unpin for rustc_std_workspace_std::sync::atomic::Ordering

§

impl Unpin for RecvTimeoutError

§

impl Unpin for TryRecvError

§

impl Unpin for AllocError

§

impl Unpin for Global

§

impl Unpin for Layout

§

impl Unpin for LayoutError

§

impl Unpin for System

§

impl Unpin for TypeId

§

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 rustc_std_workspace_std::ascii::EscapeDefault

§

impl Unpin for Backtrace

§

impl Unpin for BacktraceFrame

§

impl Unpin for BorrowError

§

impl Unpin for BorrowMutError

§

impl Unpin for CharTryFromError

§

impl Unpin for DecodeUtf16Error

§

impl Unpin for rustc_std_workspace_std::char::EscapeDebug

§

impl Unpin for rustc_std_workspace_std::char::EscapeDefault

§

impl Unpin for rustc_std_workspace_std::char::EscapeUnicode

§

impl Unpin for ParseCharError

§

impl Unpin for ToLowercase

§

impl Unpin for ToUppercase

§

impl Unpin for TryFromCharError

§

impl Unpin for DefaultHasher

§

impl Unpin for RandomState

§

impl Unpin for TryReserveError

§

impl Unpin for Args

§

impl Unpin for ArgsOs

§

impl Unpin for JoinPathsError

§

impl Unpin for Vars

§

impl Unpin for VarsOs

§

impl Unpin for CStr

§

impl Unpin for CString

§

impl Unpin for FromBytesWithNulError

§

impl Unpin for FromVecWithNulError

§

impl Unpin for IntoStringError

§

impl Unpin for NulError

§

impl Unpin for OsStr

§

impl Unpin for OsString

§

impl Unpin for rustc_std_workspace_std::fmt::Error

§

impl Unpin for DirBuilder

§

impl Unpin for DirEntry

§

impl Unpin for File

§

impl Unpin for FileTimes

§

impl Unpin for FileType

§

impl Unpin for Metadata

§

impl Unpin for OpenOptions

§

impl Unpin for Permissions

§

impl Unpin for ReadDir

§

impl Unpin for SipHasher

§

impl Unpin for BasicBlock

§

impl Unpin for rustc_std_workspace_std::io::Empty

§

impl Unpin for rustc_std_workspace_std::io::Error

§

impl Unpin for rustc_std_workspace_std::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 Assume

§

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

§

impl Unpin for InvalidHandleError

§

impl Unpin for NullHandleError

§

impl Unpin for HandleOrInvalid

§

impl Unpin for OwnedHandle

§

impl Unpin for OwnedSocket

§

impl Unpin for Path

§

impl Unpin for PathBuf

§

impl Unpin for StripPrefixError

§

impl Unpin for Child

§

impl Unpin for ChildStderr

§

impl Unpin for ChildStdin

§

impl Unpin for ChildStdout

§

impl Unpin for Command

§

impl Unpin for ExitCode

§

impl Unpin for ExitStatus

§

impl Unpin for ExitStatusError

§

impl Unpin for Output

§

impl Unpin for Stdio

§

impl Unpin for rustc_std_workspace_std::ptr::Alignment

§

impl Unpin for ParseBoolError

§

impl Unpin for Utf8Error

§

impl Unpin for FromUtf8Error

§

impl Unpin for FromUtf16Error

§

impl Unpin for String

§

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 RecvError

§

impl Unpin for Barrier

§

impl Unpin for BarrierWaitResult

§

impl Unpin for Condvar

§

impl Unpin for rustc_std_workspace_std::sync::Once

§

impl Unpin for OnceState

§

impl Unpin for WaitTimeoutResult

§

impl Unpin for RawWaker

§

impl Unpin for RawWakerVTable

§

impl Unpin for AccessError

§

impl Unpin for Builder

§

impl Unpin for Thread

§

impl Unpin for ThreadId

§

impl Unpin for Duration

§

impl Unpin for Instant

§

impl Unpin for SystemTime

§

impl Unpin for SystemTimeError

§

impl Unpin for TryFromFloatSecsError

§

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

§

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

§

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

§

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

§

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

§

impl<'a> Unpin for Formatter<'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 EncodeWide<'a>

§

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

§

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

§

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

§

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

§

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

§

impl<'a> Unpin for rustc_std_workspace_std::path::Iter<'a>

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a> Unpin for rustc_std_workspace_std::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 rustc_std_workspace_std::string::Drain<'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 rustc_std_workspace_std::option::Iter<'a, A>

§

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

§

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

§

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 rustc_std_workspace_std::collections::hash_set::Drain<'a, K>where K: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a, K, V, S> Unpin for RawEntryBuilderMut<'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, 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 rustc_std_workspace_std::str::RSplit<'a, P>where <P as Pattern<'a>>::Searcher: Unpin,

§

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

§

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

§

impl<'a, P> Unpin for rustc_std_workspace_std::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 rustc_std_workspace_std::collections::binary_heap::Iter<'a, T>

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a, T> Unpin for rustc_std_workspace_std::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 rustc_std_workspace_std::slice::Iter<'a, T>

§

impl<'a, T> Unpin for rustc_std_workspace_std::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> Unpin for rustc_std_workspace_std::sync::mpsc::Iter<'a, T>

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<'a, T, S> Unpin for rustc_std_workspace_std::collections::hash_set::Difference<'a, T, S>

§

impl<'a, T, S> Unpin for rustc_std_workspace_std::collections::hash_set::Intersection<'a, T, S>

§

impl<'a, T, S> Unpin for rustc_std_workspace_std::collections::hash_set::SymmetricDifference<'a, T, S>

§

impl<'a, T, S> Unpin for rustc_std_workspace_std::collections::hash_set::Union<'a, T, S>

§

impl<'a, T, const N: usize> Unpin for rustc_std_workspace_std::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, T: ?Sized> Unpin for MutexGuard<'a, T>

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<A, B> Unpin for rustc_std_workspace_std::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 rustc_std_workspace_std::io::Lines<B>where B: Unpin,

§

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

§

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

§

impl<E> Unpin for Report<E>where E: 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 rustc_std_workspace_std::iter::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, 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 rustc_std_workspace_std::iter::ArrayChunks<I, N>where I: Unpin, <I as Iterator>::Item: Unpin,

§

impl<Idx> Unpin for rustc_std_workspace_std::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> Unpin for rustc_std_workspace_std::collections::hash_set::IntoIter<K>where K: Unpin,

§

impl<K, V> Unpin for rustc_std_workspace_std::collections::hash_map::IntoIter<K, V>where K: Unpin, V: Unpin,

§

impl<K, V> Unpin for rustc_std_workspace_std::collections::hash_map::IntoKeys<K, V>where K: Unpin, V: Unpin,

§

impl<K, V> Unpin for rustc_std_workspace_std::collections::hash_map::IntoValues<K, V>where K: Unpin, V: Unpin,

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

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

§

impl<T> Unpin for Poll<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 rustc_std_workspace_std::io::Cursor<T>where T: Unpin,

§

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

§

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

§

impl<T> Unpin for rustc_std_workspace_std::iter::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 UniqueRc<T>where T: Unpin,

§

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

§

impl<T> Unpin for AtomicPtr<T>

§

impl<T> Unpin for rustc_std_workspace_std::sync::mpsc::IntoIter<T>

§

impl<T> Unpin for Receiver<T>

§

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

§

impl<T> Unpin for Sender<T>

§

impl<T> Unpin for SyncSender<T>

§

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

§

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

§

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

§

impl<T> Unpin for JoinHandle<T>

§

impl<T> Unpin for LocalKey<T>

§

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

§

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

§

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

§

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

§

impl<T, A> Unpin for rustc_std_workspace_std::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 rustc_std_workspace_std::collections::vec_deque::IntoIter<T, A>where A: Unpin, T: Unpin,

§

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

§

impl<T, A> Unpin for Vec<T, A>where A: Unpin, 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, F> Unpin for LazyLock<T, F>where F: Unpin, T: Unpin,

§

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

§

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

§

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

§

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

§

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

§

impl<T: ?Sized> Unpin for ThinBox<T>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 rustc_std_workspace_std::rc::Weak<T>

§

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

§

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

§

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

§

impl<T: ?Sized> Unpin for rustc_std_workspace_std::sync::Weak<T>

§

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

§

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

§

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

§

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

§

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

§

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

impl Unpin for U64x2

impl Unpin for Result

impl Unpin for Options

impl Unpin for Name

impl Unpin for HasArg

impl Unpin for Occur

impl Unpin for Opt

impl Unpin for OptGroup

impl Unpin for Optval

impl Unpin for Matches

impl Unpin for Fail

impl Unpin for Group

impl Unpin for BitMask

impl Unpin for ProbeSeq

impl Unpin for InsertSlot

impl<T> Unpin for Bucket<T>

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

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

impl<T> Unpin for RawIterRange<T>

impl<T> Unpin for RawIter<T>

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

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

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

impl<K, V, S, A> Unpin for HashMap<K, V, S, A>where A: Unpin, 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, A> Unpin for IntoIter<K, V, A>where A: Unpin, K: Unpin, V: Unpin,

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

impl<K, V, A> Unpin for IntoValues<K, V, A>where A: Unpin, 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, A> Unpin for Drain<'a, K, V, A>where A: Unpin, K: Unpin, V: Unpin,

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

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

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

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

impl<'a, K, V, S, A> Unpin for RawEntryMut<'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 RawEntryBuilder<'a, K, V, S, A>

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

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

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

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

impl<'a, K, Q: ?Sized> Unpin for KeyOrRef<'a, K, Q>where K: Unpin,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'a, T, S, A> Unpin for Entry<'a, T, S, A>where T: Unpin,

impl<'a, T, S, A> Unpin for OccupiedEntry<'a, T, S, A>where T: Unpin,

impl<'a, T, S, A> Unpin for VacantEntry<'a, T, S, A>where T: Unpin,

impl Unpin for timezone

impl Unpin for stat

impl Unpin for utimbuf

impl Unpin for tm

impl Unpin for timeval

impl Unpin for timespec

impl Unpin for sockaddr

impl Unpin for FILE

impl Unpin for fpos_t

impl Unpin for Arena

impl Unpin for Buffer

impl<S> Unpin for HandleStore<S>where <S as Types>::Span: Unpin,

impl Unpin for SourceFile

impl Unpin for Span

impl<'a> Unpin for Bridge<'a>

impl<'a> Unpin for BridgeState<'a>

impl<I, O> Unpin for Client<I, O>

impl Unpin for ProcMacro

impl<'a, A, R> Unpin for Closure<'a, A, R>

impl Unpin for Env

impl Unpin for FxHasher

impl<T> Unpin for OwnedStore<T>

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

impl<'a, 'b, T> Unpin for RefMutL<'a, 'b, T>

impl<T> Unpin for ScopedCell<T>where <T as ApplyL<'static>>::Out: Unpin,

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

impl<S> Unpin for Dispatcher<S>where S: Unpin, <S as Types>::Span: Unpin,

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

impl Unpin for SameThread

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

impl Unpin for Symbol

impl Unpin for Interner

impl Unpin for SourceFile

impl Unpin for Span

impl Unpin for Symbol

impl Unpin for Method

impl<'a> Unpin for BridgeConfig<'a>

impl<T, M> Unpin for Marked<T, M>where M: Unpin, T: Unpin,

impl Unpin for LitKind

impl<Span> Unpin for DelimSpan<Span>where Span: Unpin,

impl<TokenStream, Span> Unpin for Group<TokenStream, Span>where Span: Unpin, TokenStream: Unpin,

impl<Span> Unpin for Punct<Span>where Span: Unpin,

impl<Span, Symbol> Unpin for Ident<Span, Symbol>where Span: Unpin, Symbol: Unpin,

impl<Span, Symbol> Unpin for Literal<Span, Symbol>where Span: Unpin, Symbol: Unpin,

impl<TokenStream, Span, Symbol> Unpin for TokenTree<TokenStream, Span, Symbol>where Span: Unpin, Symbol: Unpin, TokenStream: Unpin,

impl<Span> Unpin for Diagnostic<Span>where Span: Unpin,

impl<Span> Unpin for ExpnGlobals<Span>where Span: Unpin,

impl Unpin for Level

impl Unpin for Diagnostic

impl<'a> Unpin for Children<'a>

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<'a> Unpin for Demangle<'a>

impl<'a> Unpin for Demangle<'a>

impl Unpin for ParseError

impl<'s> Unpin for Ident<'s>

impl<'s> Unpin for HexNibbles<'s>

impl<'s> Unpin for Parser<'s>

impl<'a, 'b, 's> Unpin for Printer<'a, 'b, 's>

impl<'a> Unpin for Demangle<'a>

impl<'a> Unpin for DemangleStyle<'a>

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

impl Unpin for Cache

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

impl Unpin for TestEvent

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

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

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

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

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

impl Unpin for Rng

impl Unpin for BenchMode

impl Unpin for Summary

impl Unpin for States

impl Unpin for Param

impl Unpin for Variables

impl Unpin for Flags

impl Unpin for FormatOp

impl Unpin for TermInfo

impl Unpin for Error

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

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

impl Unpin for SMALL_RECT

impl Unpin for COORD

impl Unpin for TestFn

impl Unpin for Runnable