Skip to main content

Send

Trait Send 

1.0.0 · Source
pub unsafe auto trait Send { }
Expand description

Types that can be transferred across thread boundaries.

This trait is automatically implemented when the compiler determines it’s appropriate.

An example of a non-Send type is the reference-counting pointer rc::Rc. If two threads attempt to clone Rcs that point to the same reference-counted value, they might try to update the reference count at the same time, which is undefined behavior because Rc doesn’t use atomic operations. Its cousin sync::Arc does use atomic operations (incurring some overhead) and thus is Send.

See the Nomicon and the Sync trait for more details.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§

1.26.0 · Source§

impl !Send for Args

1.26.0 · Source§

impl !Send for ArgsOs

1.0.0 · Source§

impl !Send for Arguments<'_>

Source§

impl !Send for LocalWaker

1.98.0 · Source§

impl !Send for VarsOs

Source§

impl Send for core::ffi::c_str::Bytes<'_>

1.6.0 · Source§

impl Send for serde::lib::core::string::Drain<'_>

1.10.0 · Source§

impl Send for Location<'_>

1.0.0 · Source§

impl Send for TypeId

1.36.0 · Source§

impl Send for Waker

1.44.0 · Source§

impl<'a> Send for IoSlice<'a>

1.44.0 · Source§

impl<'a> Send for IoSliceMut<'a>

Source§

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

1.0.0 · Source§

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

Source§

impl<T, A> !Send for UniqueRc<T, A>
where A: Allocator, T: ?Sized,

1.4.0 · Source§

impl<T, A> !Send for serde::lib::core::rc::Weak<T, A>
where A: Allocator, T: ?Sized,

1.0.0 · Source§

impl<T, A> Send for Arc<T, A>
where T: Sync + Send + ?Sized, A: Allocator + Send,

Source§

impl<T, A> Send for serde::lib::core::collections::linked_list::Cursor<'_, T, A>
where T: Sync, A: Allocator + Sync,

Source§

impl<T, A> Send for serde::lib::core::collections::linked_list::CursorMut<'_, T, A>
where T: Send, A: Allocator + Send,

1.6.0 · Source§

impl<T, A> Send for serde::lib::core::collections::vec_deque::Drain<'_, T, A>
where T: Send, A: Allocator + Send,

1.6.0 · Source§

impl<T, A> Send for serde::lib::core::vec::Drain<'_, T, A>
where T: Send, A: Send + Allocator,

1.0.0 · Source§

impl<T, A> Send for serde::lib::core::vec::IntoIter<T, A>
where T: Send, A: Allocator + Send,

1.0.0 · Source§

impl<T, A> Send for LinkedList<T, A>
where T: Send, A: Allocator + Send,

Source§

impl<T, A> Send for UniqueArc<T, A>
where T: Sync + Send + ?Sized, A: Allocator + Send,

1.4.0 · Source§

impl<T, A> Send for serde::lib::core::sync::Weak<T, A>
where T: Sync + Send + ?Sized, A: Allocator + Send,

1.0.0 · Source§

impl<T> !Send for *const T
where T: ?Sized,

1.0.0 · Source§

impl<T> !Send for *mut T
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::nonpoison::MappedMutexGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::MappedMutexGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::nonpoison::MappedRwLockReadGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::MappedRwLockReadGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::nonpoison::MappedRwLockWriteGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::MappedRwLockWriteGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::nonpoison::MutexGuard<'_, T>
where T: ?Sized,

A MutexGuard is not Send to maximize platform portability.

On platforms that use POSIX threads (commonly referred to as pthreads) there is a requirement to release mutex locks on the same thread they were acquired. For this reason, MutexGuard must not implement Send to prevent it being dropped from another thread.

1.0.0 · Source§

impl<T> !Send for serde::lib::core::sync::MutexGuard<'_, T>
where T: ?Sized,

A MutexGuard is not Send to maximize platform portability.

On platforms that use POSIX threads (commonly referred to as pthreads) there is a requirement to release mutex locks on the same thread they were acquired. For this reason, MutexGuard must not implement Send to prevent it being dropped from another thread.

1.25.0 · Source§

impl<T> !Send for NonNull<T>
where T: ?Sized,

NonNull pointers are not Send because the data they reference may be aliased.

Source§

impl<T> !Send for ReentrantLockGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::nonpoison::RwLockReadGuard<'_, T>
where T: ?Sized,

1.0.0 · Source§

impl<T> !Send for serde::lib::core::sync::RwLockReadGuard<'_, T>
where T: ?Sized,

Source§

impl<T> !Send for serde::lib::core::sync::nonpoison::RwLockWriteGuard<'_, T>
where T: ?Sized,

1.0.0 · Source§

impl<T> !Send for serde::lib::core::sync::RwLockWriteGuard<'_, T>
where T: ?Sized,

1.0.0 · Source§

impl<T> Send for &T
where T: Sync + ?Sized,

1.0.0 · Source§

impl<T> Send for Atomic<T>
where T: AtomicPrimitive,

1.0.0 · Source§

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

1.31.0 · Source§

impl<T> Send for ChunksExactMut<'_, T>
where T: Send,

1.0.0 · Source§

impl<T> Send for ChunksMut<'_, T>
where T: Send,

1.0.0 · Source§

impl<T> Send for serde::lib::slice::Iter<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Send for serde::lib::core::collections::linked_list::Iter<'_, T>
where T: Sync,

1.0.0 · Source§

impl<T> Send for serde::lib::slice::IterMut<'_, T>
where T: Send,

1.0.0 · Source§

impl<T> Send for serde::lib::core::collections::linked_list::IterMut<'_, T>
where T: Send,

1.29.0 · Source§

impl<T> Send for JoinHandle<T>

Source§

impl<T> Send for serde::lib::core::sync::nonpoison::Mutex<T>
where T: Send + ?Sized,

T must be Send for a Mutex to be Send because it is possible to acquire the owned T from the Mutex via into_inner.

1.0.0 · Source§

impl<T> Send for serde::lib::core::sync::Mutex<T>
where T: Send + ?Sized,

T must be Send for a Mutex to be Send because it is possible to acquire the owned T from the Mutex via into_inner.

1.28.0 · Source§

impl<T> Send for NonZero<T>

1.70.0 · Source§

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

1.31.0 · Source§

impl<T> Send for RChunksExactMut<'_, T>
where T: Send,

1.31.0 · Source§

impl<T> Send for RChunksMut<'_, T>
where T: Send,

Source§

impl<T> Send for serde::lib::core::sync::mpmc::Receiver<T>
where T: Send,

1.0.0 · Source§

impl<T> Send for serde::lib::core::sync::mpsc::Receiver<T>
where T: Send,

Source§

impl<T> Send for ReentrantLock<T>
where T: Send + ?Sized,

1.0.0 · Source§

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

Source§

impl<T> Send for serde::lib::core::sync::nonpoison::RwLock<T>
where T: Send + ?Sized,

1.0.0 · Source§

impl<T> Send for serde::lib::core::sync::RwLock<T>
where T: Send + ?Sized,

Source§

impl<T> Send for serde::lib::core::sync::mpmc::Sender<T>
where T: Send,

1.0.0 · Source§

impl<T> Send for serde::lib::core::sync::mpsc::Sender<T>
where T: Send,

1.0.0 · Source§

impl<T> Send for SyncSender<T>
where T: Send,

Source§

impl<T> Send for ThinBox<T>
where T: Send + ?Sized,

ThinBox<T> is Send if T is Send because the data is owned.

Auto implementors§

§

impl !Send for RawWaker

§

impl !Send for Vars

§

impl Send for Abi

§

impl Send for AccessError

§

impl Send for AddrParseError

§

impl Send for serde::lib::core::mem::Alignment

§

impl Send for serde::lib::fmt::Alignment

§

impl Send for AllocError

§

impl Send for AncillaryError

§

impl Send for Array

§

impl Send for AsciiChar

§

impl Send for Assume

§

impl Send for AtomicOrdering

§

impl Send for Backtrace

§

impl Send for BacktraceFrame

§

impl Send for BacktraceStatus

§

impl Send for BacktraceStyle

§

impl Send for Barrier

§

impl Send for BarrierWaitResult

§

impl Send for BasicBlock

§

impl Send for Bool

§

impl Send for BorrowError

§

impl Send for BorrowMutError

§

impl Send for Builder

§

impl Send for ByteStr

§

impl Send for ByteString

§

impl Send for CStr

§

impl Send for CString

§

impl Send for Char

§

impl Send for CharCase

§

impl Send for CharTryFromError

§

impl Send for Child

§

impl Send for ChildStderr

§

impl Send for ChildStdin

§

impl Send for ChildStdout

§

impl Send for Command

§

impl Send for CommandResolvedEnvs

§

impl Send for serde::lib::core::sync::nonpoison::Condvar

§

impl Send for serde::lib::core::sync::Condvar

§

impl Send for Const

§

impl Send for DebugAsHex

§

impl Send for DecodeUtf16Error

§

impl Send for DefaultHasher

§

impl Send for Dir

§

impl Send for DirBuilder

§

impl Send for DirEntry

§

impl Send for Duration

§

impl Send for DynTrait

§

impl Send for DynTraitPredicate

§

impl Send for serde::lib::core::io::Empty

§

impl Send for Enum

§

impl Send for serde::lib::core::io::Error

§

impl Send for serde::lib::fmt::Error

§

impl Send for serde::de::value::Error

§

impl Send for ErrorKind

§

impl Send for serde::lib::core::char::EscapeDebug

§

impl Send for serde::lib::core::ascii::EscapeDefault

§

impl Send for serde::lib::core::char::EscapeDefault

§

impl Send for serde::lib::core::char::EscapeUnicode

§

impl Send for ExitCode

§

impl Send for ExitStatus

§

impl Send for ExitStatusError

§

impl Send for Field

§

impl Send for FieldId

§

impl Send for File

§

impl Send for FileTimes

§

impl Send for FileType

§

impl Send for Float

§

impl Send for FnPtr

§

impl Send for FormattingOptions

§

impl Send for FpCategory

§

impl Send for FromBytesUntilNulError

§

impl Send for FromBytesWithNulError

§

impl Send for FromUtf8Error

§

impl Send for FromUtf16Error

§

impl Send for FromVecWithNulError

§

impl Send for Generic

§

impl Send for GenericType

§

impl Send for GetDisjointMutError

§

impl Send for Global

§

impl Send for IgnoredAny

§

impl Send for Infallible

§

impl Send for Instant

§

impl Send for Int

§

impl Send for IntErrorKind

§

impl Send for IntoChars

§

impl Send for IntoIncoming

§

impl Send for IntoStringError

§

impl Send for IpAddr

§

impl Send for Ipv4Addr

§

impl Send for Ipv6Addr

§

impl Send for Ipv6MulticastScope

§

impl Send for JoinPathsError

§

impl Send for Layout

§

impl Send for LayoutError

§

impl Send for Lifetime

§

impl Send for Locality

§

impl Send for Metadata

§

impl Send for NormalizeError

§

impl Send for NulError

§

impl Send for serde::lib::core::sync::Once

§

impl Send for OnceState

§

impl Send for OneSidedRangeBound

§

impl Send for OpenOptions

§

impl Send for serde::lib::core::sync::atomic::Ordering

§

impl Send for serde::lib::core::cmp::Ordering

§

impl Send for OsStr

§

impl Send for OsString

§

impl Send for Output

§

impl Send for OwnedFd

§

impl Send for ParseBoolError

§

impl Send for ParseCharError

§

impl Send for ParseFloatError

§

impl Send for ParseIntError

§

impl Send for Path

§

impl Send for PathBuf

§

impl Send for Permissions

§

impl Send for PhantomPinned

§

impl Send for PidFd

§

impl Send for PipeReader

§

impl Send for PipeWriter

§

impl Send for Pointer

§

impl Send for RandomState

§

impl Send for RangeFull

§

impl Send for RawWakerVTable

§

impl Send for ReadDir

§

impl Send for RecvError

§

impl Send for serde::lib::core::sync::mpmc::RecvTimeoutError

§

impl Send for Reference

§

impl Send for serde::lib::core::io::Repeat

§

impl Send for ReturnToArg

§

impl Send for SearchStep

§

impl Send for SeekFrom

§

impl Send for Shutdown

§

impl Send for Sign

§

impl Send for SimdAlign

§

impl Send for Sink

§

impl Send for SipHasher

§

impl Send for Slice

§

impl Send for serde::lib::core::net::SocketAddr

§

impl Send for serde::lib::core::os::unix::net::SocketAddr

§

impl Send for SocketAddrV4

§

impl Send for SocketAddrV6

§

impl Send for SocketCred

§

impl Send for Stderr

§

impl Send for Stdin

§

impl Send for Stdio

§

impl Send for Stdout

§

impl Send for Str

§

impl Send for String

§

impl Send for StripPrefixError

§

impl Send for Struct

§

impl Send for System

§

impl Send for SystemRng

§

impl Send for SystemTime

§

impl Send for SystemTimeError

§

impl Send for TcpListener

§

impl Send for TcpStream

§

impl Send for Thread

§

impl Send for ThreadId

§

impl Send for ToCasefold

§

impl Send for ToLowercase

§

impl Send for ToTitlecase

§

impl Send for ToUppercase

§

impl Send for Trait

§

impl Send for TryFromCharError

§

impl Send for TryFromFloatSecsError

§

impl Send for TryFromIntError

§

impl Send for TryFromSliceError

§

impl Send for serde::lib::core::fs::TryLockError

§

impl Send for serde::lib::core::sync::mpmc::TryRecvError

§

impl Send for TryReserveError

§

impl Send for TryReserveErrorKind

§

impl Send for Tuple

§

impl Send for Type

§

impl Send for TypeKind

§

impl Send for UCred

§

impl Send for UdpSocket

§

impl Send for serde::lib::core::mem::type_info::Union

§

impl Send for UnixDatagram

§

impl Send for UnixListener

§

impl Send for UnixStream

§

impl Send for UnorderedKeyError

§

impl Send for UnwindActionArg

§

impl Send for UnwindTerminateReason

§

impl Send for Utf8Error

§

impl Send for VarError

§

impl Send for Variant

§

impl Send for WaitTimeoutResult

§

impl Send for WouldBlock

§

impl Send for WriterPanicked

§

impl Send for XdgDirsIter

§

impl Send for c_void

§

impl Send for stat

§

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

§

impl<'a, 'b> !Send for DebugList<'a, 'b>

§

impl<'a, 'b> !Send for DebugMap<'a, 'b>

§

impl<'a, 'b> !Send for DebugSet<'a, 'b>

§

impl<'a, 'b> !Send for DebugStruct<'a, 'b>

§

impl<'a, 'b> !Send for DebugTuple<'a, 'b>

§

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

§

impl<'a, 'b> Send for StrSearcher<'a, 'b>

§

impl<'a, A> Send for serde::lib::option::Iter<'a, A>
where A: Sync,

§

impl<'a, A> Send for serde::lib::option::IterMut<'a, A>
where A: Send,

§

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

§

impl<'a, E> Send for BytesDeserializer<'a, E>
where E: Send,

§

impl<'a, E> Send for CowStrDeserializer<'a, E>
where E: Send,

§

impl<'a, E> Send for StrDeserializer<'a, E>
where E: Send,

§

impl<'a, F> Send for CharPredicateSearcher<'a, F>
where F: Send,

§

impl<'a, I, A> Send for serde::lib::core::collections::vec_deque::Splice<'a, I, A>
where I: Send, <I as Iterator>::Item: Send, A: Send,

§

impl<'a, I, A> Send for serde::lib::core::vec::Splice<'a, I, A>
where I: Send, <I as Iterator>::Item: Send, A: Send,

§

impl<'a, I> Send for ByRefSized<'a, I>
where I: Send,

§

impl<'a, K, A> Send for serde::lib::core::collections::btree_set::CursorMut<'a, K, A>
where A: Send, K: Send,

§

impl<'a, K, A> Send for serde::lib::core::collections::btree_set::CursorMutKey<'a, K, A>
where A: Send, K: Send,

§

impl<'a, K, A> Send for serde::lib::core::collections::hash_set::Drain<'a, K, A>
where A: Send, K: Send,

§

impl<'a, K, F, A> Send for serde::lib::core::collections::hash_set::ExtractIf<'a, K, F, A>
where F: Send, A: Send, K: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::btree_map::CursorMut<'a, K, V, A>
where A: Send, K: Send, V: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::btree_map::CursorMutKey<'a, K, V, A>
where A: Send, K: Send, V: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::hash_map::Drain<'a, K, V, A>
where A: Send, K: Send, V: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::btree_map::Entry<'a, K, V, A>
where K: Send, A: Send, V: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::hash_map::Entry<'a, K, V, A>
where K: Send, V: Send, A: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::btree_map::OccupiedEntry<'a, K, V, A>
where A: Send, K: Send, V: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::hash_map::OccupiedEntry<'a, K, V, A>
where K: Send, V: Send, A: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::hash_map::OccupiedError<'a, K, V, A>
where K: Send, V: Send, A: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::btree_map::OccupiedError<'a, K, V, A>
where K: Send, V: Send, A: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::hash_map::VacantEntry<'a, K, V, A>
where K: Send, A: Send, V: Send,

§

impl<'a, K, V, A> Send for serde::lib::core::collections::btree_map::VacantEntry<'a, K, V, A>
where K: Send, A: Send, V: Send,

§

impl<'a, K, V, F, A> Send for serde::lib::core::collections::hash_map::ExtractIf<'a, K, V, F, A>
where F: Send, A: Send, K: Send, V: Send,

§

impl<'a, K, V, R, F, A> Send for serde::lib::core::collections::btree_map::ExtractIf<'a, K, V, R, F, A>
where F: Send, A: Send, R: Send, K: Send, V: Send,

§

impl<'a, K, V> Send for serde::lib::core::collections::btree_map::Cursor<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for serde::lib::core::collections::hash_map::Iter<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for serde::lib::core::collections::btree_map::Iter<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for serde::lib::core::collections::hash_map::IterMut<'a, K, V>
where K: Send, V: Send,

§

impl<'a, K, V> Send for serde::lib::core::collections::btree_map::IterMut<'a, K, V>
where K: Send, V: Send,

§

impl<'a, K, V> Send for serde::lib::core::collections::hash_map::Keys<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for serde::lib::core::collections::btree_map::Keys<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for serde::lib::core::collections::btree_map::Range<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for RangeMut<'a, K, V>
where K: Send, V: Send,

§

impl<'a, K, V> Send for serde::lib::core::collections::hash_map::Values<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for serde::lib::core::collections::btree_map::Values<'a, K, V>
where K: Sync, V: Sync,

§

impl<'a, K, V> Send for serde::lib::core::collections::hash_map::ValuesMut<'a, K, V>
where K: Send, V: Send,

§

impl<'a, K, V> Send for serde::lib::core::collections::btree_map::ValuesMut<'a, K, V>
where K: Send, V: Send,

§

impl<'a, K> Send for serde::lib::core::collections::btree_set::Cursor<'a, K>
where K: Sync,

§

impl<'a, K> Send for serde::lib::core::collections::hash_set::Iter<'a, K>
where K: Sync,

§

impl<'a, P> Send for MatchIndices<'a, P>
where <P as Pattern>::Searcher<'a>: Send,

§

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

§

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

§

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

§

impl<'a, P> Send for serde::lib::str::RSplit<'a, P>
where <P as Pattern>::Searcher<'a>: Send,

§

impl<'a, P> Send for serde::lib::str::RSplitN<'a, P>
where <P as Pattern>::Searcher<'a>: Send,

§

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

§

impl<'a, P> Send for serde::lib::str::Split<'a, P>
where <P as Pattern>::Searcher<'a>: Send,

§

impl<'a, P> Send for serde::lib::str::SplitInclusive<'a, P>
where <P as Pattern>::Searcher<'a>: Send,

§

impl<'a, P> Send for serde::lib::str::SplitN<'a, P>
where <P as Pattern>::Searcher<'a>: Send,

§

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

§

impl<'a, T, A> Send for serde::lib::core::collections::btree_set::Difference<'a, T, A>
where T: Sync, A: Sync,

§

impl<'a, T, A> Send for serde::lib::core::collections::binary_heap::Drain<'a, T, A>
where T: Send, A: Send,

§

impl<'a, T, A> Send for DrainSorted<'a, T, A>
where A: Send, T: Send,

§

impl<'a, T, A> Send for serde::lib::core::collections::btree_set::Entry<'a, T, A>
where A: Send, T: Send,

§

impl<'a, T, A> Send for serde::lib::core::collections::btree_set::Intersection<'a, T, A>
where T: Sync, A: Sync,

§

impl<'a, T, A> Send for serde::lib::core::collections::btree_set::OccupiedEntry<'a, T, A>
where A: Send, T: Send,

§

impl<'a, T, A> Send for serde::lib::core::collections::binary_heap::PeekMut<'a, T, A>
where A: Send, T: Send,

§

impl<'a, T, A> Send for serde::lib::core::vec::PeekMut<'a, T, A>
where A: Send, T: Send,

§

impl<'a, T, A> Send for serde::lib::core::collections::btree_set::VacantEntry<'a, T, A>
where T: Send, A: Send,

§

impl<'a, T, F, A = Global> !Send for serde::lib::core::collections::linked_list::ExtractIf<'a, T, F, A>

§

impl<'a, T, F, A> Send for serde::lib::core::collections::vec_deque::ExtractIf<'a, T, F, A>
where F: Send, A: Send, T: Send,

§

impl<'a, T, F, A> Send for serde::lib::core::vec::ExtractIf<'a, T, F, A>
where F: Send, A: Send, T: Send,

§

impl<'a, T, P> Send for ChunkBy<'a, T, P>
where P: Send, T: Sync,

§

impl<'a, T, P> Send for ChunkByMut<'a, T, P>
where P: Send, T: Send,

§

impl<'a, T, P> Send for serde::lib::slice::RSplit<'a, T, P>
where P: Send, T: Sync,

§

impl<'a, T, P> Send for RSplitMut<'a, T, P>
where P: Send, T: Send,

§

impl<'a, T, P> Send for serde::lib::slice::RSplitN<'a, T, P>
where P: Send, T: Sync,

§

impl<'a, T, P> Send for RSplitNMut<'a, T, P>
where P: Send, T: Send,

§

impl<'a, T, P> Send for serde::lib::slice::Split<'a, T, P>
where P: Send, T: Sync,

§

impl<'a, T, P> Send for serde::lib::slice::SplitInclusive<'a, T, P>
where P: Send, T: Sync,

§

impl<'a, T, P> Send for SplitInclusiveMut<'a, T, P>
where P: Send, T: Send,

§

impl<'a, T, P> Send for SplitMut<'a, T, P>
where P: Send, T: Send,

§

impl<'a, T, P> Send for serde::lib::slice::SplitN<'a, T, P>
where P: Send, T: Sync,

§

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

§

impl<'a, T, R, F, A> Send for serde::lib::core::collections::btree_set::ExtractIf<'a, T, R, F, A>
where F: Send, A: Send, R: Send, T: Send,

§

impl<'a, T, S, A> Send for serde::lib::core::collections::hash_set::Difference<'a, T, S, A>
where S: Sync, A: Sync, T: Sync,

§

impl<'a, T, S, A> Send for serde::lib::core::collections::hash_set::Entry<'a, T, S, A>
where T: Send, S: Send, A: Send,

§

impl<'a, T, S, A> Send for serde::lib::core::collections::hash_set::Intersection<'a, T, S, A>
where S: Sync, A: Sync, T: Sync,

§

impl<'a, T, S, A> Send for serde::lib::core::collections::hash_set::OccupiedEntry<'a, T, S, A>
where T: Send, S: Send, A: Send,

§

impl<'a, T, S, A> Send for serde::lib::core::collections::hash_set::SymmetricDifference<'a, T, S, A>
where S: Sync, A: Sync, T: Sync,

§

impl<'a, T, S, A> Send for serde::lib::core::collections::hash_set::Union<'a, T, S, A>
where S: Sync, A: Sync, T: Sync,

§

impl<'a, T, S, A> Send for serde::lib::core::collections::hash_set::VacantEntry<'a, T, S, A>
where T: Send, S: Send, A: Send,

§

impl<'a, T, const N: usize> Send for ArrayWindows<'a, T, N>
where T: Sync,

§

impl<'a, T> !Send for serde::lib::core::sync::mpsc::Iter<'a, T>

§

impl<'a, T> !Send for serde::lib::core::sync::mpsc::TryIter<'a, T>

§

impl<'a, T> Send for BorrowedCursor<'a, T>
where T: Send,

§

impl<'a, T> Send for Chunks<'a, T>
where T: Sync,

§

impl<'a, T> Send for ChunksExact<'a, T>
where T: Sync,

§

impl<'a, T> Send for InPlaceSeed<'a, T>
where T: Send,

§

impl<'a, T> Send for serde::lib::core::sync::mpmc::Iter<'a, T>
where T: Send,

§

impl<'a, T> Send for serde::lib::core::collections::binary_heap::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Send for serde::lib::core::collections::btree_set::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Send for serde::lib::core::collections::vec_deque::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Send for serde::lib::result::Iter<'a, T>
where T: Sync,

§

impl<'a, T> Send for serde::lib::core::collections::vec_deque::IterMut<'a, T>
where T: Send,

§

impl<'a, T> Send for serde::lib::result::IterMut<'a, T>
where T: Send,

§

impl<'a, T> Send for RChunks<'a, T>
where T: Sync,

§

impl<'a, T> Send for RChunksExact<'a, T>
where T: Sync,

§

impl<'a, T> Send for serde::lib::core::collections::btree_set::Range<'a, T>
where T: Sync,

§

impl<'a, T> Send for serde::lib::core::collections::btree_set::SymmetricDifference<'a, T>
where T: Sync,

§

impl<'a, T> Send for serde::lib::core::sync::mpmc::TryIter<'a, T>
where T: Send,

§

impl<'a, T> Send for serde::lib::core::collections::btree_set::Union<'a, T>
where T: Sync,

§

impl<'a, T> Send for Windows<'a, T>
where T: Sync,

§

impl<'a, const N: usize> Send for CharArraySearcher<'a, N>

§

impl<'a> !Send for Context<'a>

§

impl<'a> !Send for ContextBuilder<'a>

§

impl<'a> !Send for Formatter<'a>

§

impl<'a> !Send for PanicHookInfo<'a>

§

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

§

impl<'a> !Send for StderrLock<'a>

§

impl<'a> !Send for StdinLock<'a>

§

impl<'a> !Send for StdoutLock<'a>

§

impl<'a> !Send for VaList<'a>

§

impl<'a> Send for Ancestors<'a>

§

impl<'a> Send for AncillaryData<'a>

§

impl<'a> Send for serde::lib::str::Bytes<'a>

§

impl<'a> Send for CharIndices<'a>

§

impl<'a> Send for CharSearcher<'a>

§

impl<'a> Send for Chars<'a>

§

impl<'a> Send for CommandArgs<'a>

§

impl<'a> Send for CommandEnvs<'a>

§

impl<'a> Send for Component<'a>

§

impl<'a> Send for Components<'a>

§

impl<'a> Send for serde::lib::core::ffi::os_str::Display<'a>

§

impl<'a> Send for serde::lib::core::path::Display<'a>

§

impl<'a> Send for EncodeUtf16<'a>

§

impl<'a> Send for EscapeAscii<'a>

§

impl<'a> Send for serde::lib::str::EscapeDebug<'a>

§

impl<'a> Send for serde::lib::str::EscapeDefault<'a>

§

impl<'a> Send for serde::lib::str::EscapeUnicode<'a>

§

impl<'a> Send for serde::lib::core::net::Incoming<'a>

§

impl<'a> Send for serde::lib::core::os::unix::net::Incoming<'a>

§

impl<'a> Send for serde::lib::core::path::Iter<'a>

§

impl<'a> Send for serde::lib::str::Lines<'a>

§

impl<'a> Send for LinesAny<'a>

§

impl<'a> Send for Messages<'a>

§

impl<'a> Send for PhantomContravariantLifetime<'a>

§

impl<'a> Send for PhantomCovariantLifetime<'a>

§

impl<'a> Send for PhantomInvariantLifetime<'a>

§

impl<'a> Send for Prefix<'a>

§

impl<'a> Send for PrefixComponent<'a>

§

impl<'a> Send for ScmCredentials<'a>

§

impl<'a> Send for ScmRights<'a>

§

impl<'a> Send for SocketAncillary<'a>

§

impl<'a> Send for SplitAsciiWhitespace<'a>

§

impl<'a> Send for SplitPaths<'a>

§

impl<'a> Send for SplitWhitespace<'a>

§

impl<'a> Send for Unexpected<'a>

§

impl<'a> Send for Utf8Chunk<'a>

§

impl<'a> Send for Utf8Chunks<'a>

§

impl<'a> Send for Utf8Pattern<'a>

§

impl<'b, T> !Send for Ref<'b, T>

§

impl<'b, T> !Send for RefMut<'b, T>

§

impl<'data, T> Send for BorrowedBuf<'data, T>
where T: Send,

§

impl<'de, E> Send for BorrowedBytesDeserializer<'de, E>
where E: Send,

§

impl<'de, E> Send for BorrowedStrDeserializer<'de, E>
where E: Send,

§

impl<'de, I, E> Send for MapDeserializer<'de, I, E>
where <<I as Iterator>::Item as Pair>::Second: Send, E: Send, I: Send,

§

impl<'fd> Send for BorrowedFd<'fd>

§

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

§

impl<'scope, T> Send for ScopedJoinHandle<'scope, T>
where T: Send,

§

impl<A, B> Send for serde::lib::core::iter::Chain<A, B>
where A: Send, B: Send,

§

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

§

impl<A> Send for EnumAccessDeserializer<A>
where A: Send,

§

impl<A> Send for serde::lib::option::IntoIter<A>
where A: Send,

§

impl<A> Send for MapAccessDeserializer<A>
where A: Send,

§

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

§

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

§

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

§

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

§

impl<A> Send for serde::lib::core::iter::Repeat<A>
where A: Send,

§

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

§

impl<A> Send for SeqAccessDeserializer<A>
where A: Send,

§

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

§

impl<B> Send for serde::lib::core::io::Lines<B>
where B: Send,

§

impl<B> Send for serde::lib::core::io::Split<B>
where B: Send,

§

impl<E> Send for BoolDeserializer<E>
where E: Send,

§

impl<E> Send for CharDeserializer<E>
where E: Send,

§

impl<E> Send for F32Deserializer<E>
where E: Send,

§

impl<E> Send for F64Deserializer<E>
where E: Send,

§

impl<E> Send for I8Deserializer<E>
where E: Send,

§

impl<E> Send for I16Deserializer<E>
where E: Send,

§

impl<E> Send for I32Deserializer<E>
where E: Send,

§

impl<E> Send for I64Deserializer<E>
where E: Send,

§

impl<E> Send for I128Deserializer<E>
where E: Send,

§

impl<E> Send for IsizeDeserializer<E>
where E: Send,

§

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

§

impl<E> Send for StringDeserializer<E>
where E: Send,

§

impl<E> Send for U8Deserializer<E>
where E: Send,

§

impl<E> Send for U16Deserializer<E>
where E: Send,

§

impl<E> Send for U32Deserializer<E>
where E: Send,

§

impl<E> Send for U64Deserializer<E>
where E: Send,

§

impl<E> Send for U128Deserializer<E>
where E: Send,

§

impl<E> Send for UnitDeserializer<E>
where E: Send,

§

impl<E> Send for UsizeDeserializer<E>
where E: Send,

§

impl<F> Send for serde::lib::core::iter::FromFn<F>
where F: Send,

§

impl<F> Send for serde::lib::fmt::FromFn<F>
where F: Send,

§

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

§

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

§

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

§

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

§

impl<H> Send for BuildHasherDefault<H>

§

impl<I, E> Send for SeqDeserializer<I, E>
where E: Send, I: Send,

§

impl<I, F, const N: usize> Send for MapWindows<I, F, N>
where F: Send, I: Send, <I as Iterator>::Item: Send,

§

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

§

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

§

impl<I, F> Send for Map<I, F>
where I: Send, F: Send,

§

impl<I, G> Send for IntersperseWith<I, G>
where G: Send, I: Send, <I as Iterator>::Item: Send,

§

impl<I, P> Send for Filter<I, P>
where I: Send, P: Send,

§

impl<I, P> Send for MapWhile<I, P>
where I: Send, P: Send,

§

impl<I, P> Send for SkipWhile<I, P>
where I: Send, P: Send,

§

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

§

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

§

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

§

impl<I, const N: usize> Send for ArrayChunks<I, N>
where I: Send, <I as Iterator>::Item: Send,

§

impl<I> Send for Cloned<I>
where I: Send,

§

impl<I> Send for Copied<I>
where I: Send,

§

impl<I> Send for Cycle<I>
where I: Send,

§

impl<I> Send for DecodeUtf16<I>
where I: Send,

§

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

§

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

§

impl<I> Send for FromIter<I>
where I: Send,

§

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

§

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

§

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

§

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

§

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

§

impl<I> Send for serde::lib::core::iter::Take<I>
where I: Send,

§

impl<Idx> Send for serde::lib::core::ops::Range<Idx>
where Idx: Send,

§

impl<Idx> Send for serde::lib::core::range::Range<Idx>
where Idx: Send,

§

impl<Idx> Send for serde::lib::core::ops::RangeFrom<Idx>
where Idx: Send,

§

impl<Idx> Send for serde::lib::core::range::RangeFrom<Idx>
where Idx: Send,

§

impl<Idx> Send for serde::lib::core::ops::RangeInclusive<Idx>
where Idx: Send,

§

impl<Idx> Send for serde::lib::core::range::RangeInclusive<Idx>
where Idx: Send,

§

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

§

impl<Idx> Send for serde::lib::core::ops::RangeToInclusive<Idx>
where Idx: Send,

§

impl<Idx> Send for serde::lib::core::range::RangeToInclusive<Idx>
where Idx: Send,

§

impl<K, A> Send for serde::lib::core::collections::hash_set::IntoIter<K, A>
where A: Send, K: Send,

§

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

§

impl<K, V, A> Send for serde::lib::core::collections::hash_map::IntoIter<K, V, A>
where A: Send, K: Send, V: Send,

§

impl<K, V, A> Send for serde::lib::core::collections::btree_map::IntoIter<K, V, A>
where A: Send, K: Send, V: Send,

§

impl<K, V, A> Send for serde::lib::core::collections::hash_map::IntoKeys<K, V, A>
where A: Send, K: Send, V: Send,

§

impl<K, V, A> Send for serde::lib::core::collections::btree_map::IntoKeys<K, V, A>
where A: Send, K: Send, V: Send,

§

impl<K, V, A> Send for serde::lib::core::collections::hash_map::IntoValues<K, V, A>
where A: Send, K: Send, V: Send,

§

impl<K, V, A> Send for serde::lib::core::collections::btree_map::IntoValues<K, V, A>
where A: Send, K: Send, V: Send,

§

impl<K, V, S, A> Send for HashMap<K, V, S, A>
where S: Send, A: Send, K: Send, V: Send,

§

impl<Ok, Error> Send for Impossible<Ok, Error>
where Ok: Send, Error: Send,

§

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

§

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

§

impl<R> Send for BufReader<R>
where R: Send + ?Sized,

§

impl<R> Send for serde::lib::core::io::Bytes<R>
where R: Send,

§

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

§

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

§

impl<T, A> Send for Box<T, A>
where A: Send, T: Send + ?Sized,

§

impl<T, A> Send for serde::lib::core::collections::btree_set::IntoIter<T, A>
where A: Send, T: Send,

§

impl<T, A> Send for serde::lib::core::collections::vec_deque::IntoIter<T, A>
where A: Send, T: Send,

§

impl<T, A> Send for serde::lib::core::collections::binary_heap::IntoIter<T, A>
where T: Send, A: Send,

§

impl<T, A> Send for serde::lib::core::collections::linked_list::IntoIter<T, A>
where T: Send, A: Send,

§

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

§

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

§

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

§

impl<T, D> Send for std::sys::thread_local::native::lazy::Storage<T, D>
where D: Send, T: Send,

§

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

§

impl<T, F> Send for DropGuard<T, F>
where T: Send, F: Send,

§

impl<T, F> Send for LazyCell<T, F>
where F: Send, T: Send,

§

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

§

impl<T, F> Send for Successors<T, F>
where F: Send, T: Send,

§

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

§

impl<T, U> Send for serde::lib::core::io::Chain<T, U>
where T: Send, U: Send,

§

impl<T, const N: usize, A> Send for BoxedArrayIntoIter<T, N, A>
where T: Send, A: Send,

§

impl<T, const N: usize> Send for serde::lib::core::array::IntoIter<T, N>
where T: Send,

§

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

§

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

§

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

§

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

§

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

§

impl<T> Send for Complex<T>
where T: Send,

§

impl<T> Send for CovariantUnsafeCell<T>
where T: Send + ?Sized,

§

impl<T> Send for serde::lib::core::io::Cursor<T>
where T: Send,

§

impl<T> Send for Discriminant<T>

§

impl<T> Send for serde::lib::core::iter::Empty<T>

§

impl<T> Send for serde::lib::core::sync::mpmc::IntoIter<T>
where T: Send,

§

impl<T> Send for serde::lib::core::sync::mpsc::IntoIter<T>
where T: Send,

§

impl<T> Send for serde::lib::result::IntoIter<T>
where T: Send,

§

impl<T> Send for LocalKey<T>

§

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

§

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

§

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

§

impl<T> Send for serde::lib::core::iter::Once<T>
where T: Send,

§

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

§

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

§

impl<T> Send for Pending<T>

§

impl<T> Send for PhantomContravariant<T>
where T: ?Sized,

§

impl<T> Send for PhantomCovariant<T>
where T: ?Sized,

§

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

§

impl<T> Send for PhantomInvariant<T>
where T: ?Sized,

§

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

§

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

§

impl<T> Send for Ready<T>
where T: Send,

§

impl<T> Send for serde::lib::core::sync::oneshot::Receiver<T>
where T: Send,

§

impl<T> Send for serde::lib::core::sync::oneshot::RecvTimeoutError<T>
where T: Send,

§

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

§

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

§

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

§

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

§

impl<T> Send for SendTimeoutError<T>
where T: Send,

§

impl<T> Send for serde::lib::core::sync::oneshot::Sender<T>
where T: Send,

§

impl<T> Send for std::sys::thread_local::native::eager::Storage<T>
where T: Send,

§

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

§

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

§

impl<T> Send for serde::lib::core::io::Take<T>
where T: Send,

§

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

§

impl<T> Send for serde::lib::core::sync::TryLockError<T>
where T: Send,

§

impl<T> Send for serde::lib::core::sync::oneshot::TryRecvError<T>
where T: Send,

§

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

§

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

§

impl<T> Send for UnsafePinned<T>
where T: Send + ?Sized,

§

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

§

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

§

impl<W> Send for BufWriter<W>
where W: Send + ?Sized,

§

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

§

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

§

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