logo

Trait 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());
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<'a, T> Unpin for &'a T where
T: 'a + ?Sized,

source

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

source

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

1.64.0 · source

impl<F> Unpin for PollFn<F>

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.48.0 · source

impl<T> Unpin for std::future::Ready<T>

source

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

source

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

const: unstable · source

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

Auto implementors

impl Unpin for BacktraceStatus

impl Unpin for std::cmp::Ordering

impl Unpin for TryReserveErrorKind

impl Unpin for Infallible

impl Unpin for VarError

impl Unpin for c_void

impl Unpin for 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 std::net::SocketAddr

impl Unpin for FpCategory

impl Unpin for IntErrorKind

impl Unpin for AncillaryError

impl Unpin for BacktraceStyle

impl Unpin for Which

impl Unpin for SearchStep

impl Unpin for std::sync::atomic::Ordering

impl Unpin for RecvTimeoutError

impl Unpin for TryRecvError

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 Global

impl Unpin for Layout

impl Unpin for LayoutError

impl Unpin for System

impl Unpin for TypeId

impl Unpin for TryFromSliceError

impl Unpin for 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 std::char::EscapeDebug

impl Unpin for std::char::EscapeDefault

impl Unpin for 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 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 std::io::Empty

impl Unpin for std::io::Error

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

impl Unpin for stat

impl Unpin for OwnedFd

impl Unpin for std::os::unix::net::SocketAddr

impl Unpin for SocketCred

impl Unpin for UnixDatagram

impl Unpin for UnixListener

impl Unpin for UnixStream

impl Unpin for UCred

impl Unpin for HandleOrInvalid

impl Unpin for HandleOrNull

impl Unpin for InvalidHandleError

impl Unpin for NullHandleError

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

impl Unpin for Instant

impl Unpin for SystemTime

impl Unpin for SystemTimeError

impl Unpin for Alignment

impl Unpin for Argument

impl Unpin for Count

impl Unpin for FormatSpec

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

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

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

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

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

impl<'a> Unpin for std::error::Chain<'a>

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

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

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

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

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

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

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

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

impl<'a> Unpin for std::net::Incoming<'a>

impl<'a> Unpin for std::os::unix::net::Incoming<'a>

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

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

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

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

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

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

impl<'a> Unpin for 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 std::string::Drain<'a>

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

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

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

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

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

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

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> where
'f: 'a,

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

impl<'a, A> Unpin for 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 std::collections::hash_set::Drain<'a, K> where
K: Unpin,

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

impl<'a, K, F> Unpin for std::collections::hash_set::DrainFilter<'a, K, F> where
F: Unpin,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'a, K, V, F> Unpin for std::collections::hash_map::DrainFilter<'a, K, V, F> where
F: Unpin,

impl<'a, K, V, F, A> Unpin for std::collections::btree_map::DrainFilter<'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 std::str::RSplit<'a, P> where
<P as Pattern<'a>>::Searcher: Unpin,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

impl<'a, T, F> Unpin for std::collections::linked_list::DrainFilter<'a, T, F> where
F: Unpin,

impl<'a, T, F, A> Unpin for std::collections::btree_set::DrainFilter<'a, T, F, A> where
A: Unpin,
F: Unpin,

impl<'a, T, F, A> Unpin for std::vec::DrainFilter<'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 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 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 std::slice::Split<'a, T, P> where
P: Unpin,

impl<'a, T, P> Unpin for 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 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 std::collections::hash_set::Difference<'a, T, S>

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

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

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

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

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

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 std::iter::Repeat<A> where
A: Unpin,

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

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

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

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

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

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

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

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

impl<K, V, A> Unpin for 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 BufReader<R> where
R: Unpin,

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

impl<Ret, T> Unpin for fn (T1, T2, ..., Tn) -> Ret

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

impl<T> Unpin for (T1, T2, ..., Tn) 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 std::collections::binary_heap::IntoIter<T> where
T: Unpin,

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

impl<T> Unpin for std::collections::linked_list::IntoIter<T>

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

impl<T> Unpin for LinkedList<T>

impl<T> Unpin for Pending<T>

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

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

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

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

impl<T> Unpin for AtomicPtr<T>

impl<T> Unpin for 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 std::task::Ready<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 std::collections::btree_set::IntoIter<T, A> where
A: Unpin,

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

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

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

impl<T, A> Unpin for 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 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 LANES: usize> Unpin for Simd<T, LANES> where
T: Unpin,

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

impl<T, const N: usize> Unpin for std::array::IntoIter<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 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 std::sync::Weak<T>

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

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

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

impl<W> 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>

AltStyle によって変換されたページ (->オリジナル) /