1.0.0[−][src]Trait core::marker::Send
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 for more details.
Implementors
impl !Send for LocalWaker[src]
impl !Send for LocalWakerimpl Send for Waker[src]
impl Send for Wakerimpl<T> Send for AtomicPtr<T>[src]
impl<T> Send for AtomicPtr<T>impl<T: Send + ?Sized, '_> Send for &'_ mut T[src]
impl<T: Send + ?Sized, '_> Send for &'_ mut Timpl<T: Send, '_> Send for core::slice::IterMut<'_, T>[src]
impl<T: Send, '_> Send for core::slice::IterMut<'_, T>impl<T: Sync + ?Sized, '_> Send for &'_ T[src]
impl<T: Sync + ?Sized, '_> Send for &'_ Timpl<T: Sync, '_> Send for core::slice::Iter<'_, T>[src]
impl<T: Sync, '_> Send for core::slice::Iter<'_, T>impl<T: ?Sized> !Send for *const T[src]
impl<T: ?Sized> !Send for *const Timpl<T: ?Sized> !Send for *mut T[src]
impl<T: ?Sized> !Send for *mut Timpl<T: ?Sized> !Send for NonNull<T>[src]
impl<T: ?Sized> !Send for NonNull<T>NonNull pointers are not Send because the data they reference may be aliased.
impl<T: ?Sized> Send for Cell<T> where
T: Send, [src]
impl<T: ?Sized> Send for Cell<T> where
T: Send, impl<T: ?Sized> Send for RefCell<T> where
T: Send, [src]
impl<T: ?Sized> Send for RefCell<T> where
T: Send, Auto implementors
impl !Send for Excess
impl !Send for Excessimpl !Send for TraitObject
impl !Send for TraitObjectimpl Send for core::cmp::Ordering
impl Send for core::cmp::Orderingimpl Send for c_void
impl Send for c_voidimpl Send for Alignment
impl Send for Alignmentimpl Send for FpCategory
impl Send for FpCategoryimpl Send for IntErrorKind
impl Send for IntErrorKindimpl Send for SearchStep
impl Send for SearchStepimpl Send for core::sync::atomic::Ordering
impl Send for core::sync::atomic::Orderingimpl Send for AllocErr
impl Send for AllocErrimpl Send for CannotReallocInPlace
impl Send for CannotReallocInPlaceimpl Send for Layout
impl Send for Layoutimpl Send for LayoutErr
impl Send for LayoutErrimpl Send for TypeId
impl Send for TypeIdimpl Send for float64x1_t
impl Send for float64x1_timpl Send for float64x2_t
impl Send for float64x2_timpl Send for int8x16x2_t
impl Send for int8x16x2_timpl Send for int8x16x3_t
impl Send for int8x16x3_timpl Send for int8x16x4_t
impl Send for int8x16x4_timpl Send for poly64x1_t
impl Send for poly64x1_timpl Send for poly64x2_t
impl Send for poly64x2_timpl Send for poly8x16x2_t
impl Send for poly8x16x2_timpl Send for poly8x16x3_t
impl Send for poly8x16x3_timpl Send for poly8x16x4_t
impl Send for poly8x16x4_timpl Send for uint8x16x2_t
impl Send for uint8x16x2_timpl Send for uint8x16x3_t
impl Send for uint8x16x3_timpl Send for uint8x16x4_t
impl Send for uint8x16x4_timpl Send for float32x2_t
impl Send for float32x2_timpl Send for float32x4_t
impl Send for float32x4_timpl Send for int16x2_t
impl Send for int16x2_timpl Send for int16x4_t
impl Send for int16x4_timpl Send for int16x8_t
impl Send for int16x8_timpl Send for int32x2_t
impl Send for int32x2_timpl Send for int32x4_t
impl Send for int32x4_timpl Send for int64x1_t
impl Send for int64x1_timpl Send for int64x2_t
impl Send for int64x2_timpl Send for int8x16_t
impl Send for int8x16_timpl Send for int8x4_t
impl Send for int8x4_timpl Send for int8x8_t
impl Send for int8x8_timpl Send for int8x8x2_t
impl Send for int8x8x2_timpl Send for int8x8x3_t
impl Send for int8x8x3_timpl Send for int8x8x4_t
impl Send for int8x8x4_timpl Send for poly16x4_t
impl Send for poly16x4_timpl Send for poly16x8_t
impl Send for poly16x8_timpl Send for poly8x16_t
impl Send for poly8x16_timpl Send for poly8x8_t
impl Send for poly8x8_timpl Send for poly8x8x2_t
impl Send for poly8x8x2_timpl Send for poly8x8x3_t
impl Send for poly8x8x3_timpl Send for poly8x8x4_t
impl Send for poly8x8x4_timpl Send for uint16x2_t
impl Send for uint16x2_timpl Send for uint16x4_t
impl Send for uint16x4_timpl Send for uint16x8_t
impl Send for uint16x8_timpl Send for uint32x2_t
impl Send for uint32x2_timpl Send for uint32x4_t
impl Send for uint32x4_timpl Send for uint64x1_t
impl Send for uint64x1_timpl Send for uint64x2_t
impl Send for uint64x2_timpl Send for uint8x16_t
impl Send for uint8x16_timpl Send for uint8x4_t
impl Send for uint8x4_timpl Send for uint8x8_t
impl Send for uint8x8_timpl Send for uint8x8x2_t
impl Send for uint8x8x2_timpl Send for uint8x8x3_t
impl Send for uint8x8x3_timpl Send for uint8x8x4_t
impl Send for uint8x8x4_timpl Send for i8x16
impl Send for i8x16impl Send for vector_bool_long
impl Send for vector_bool_longimpl Send for vector_double
impl Send for vector_doubleimpl Send for vector_signed_long
impl Send for vector_signed_longimpl Send for vector_unsigned_long
impl Send for vector_unsigned_longimpl Send for CpuidResult
impl Send for CpuidResultimpl Send for __m128
impl Send for __m128impl Send for __m128d
impl Send for __m128dimpl Send for __m128i
impl Send for __m128iimpl Send for __m256
impl Send for __m256impl Send for __m256d
impl Send for __m256dimpl Send for __m256i
impl Send for __m256iimpl Send for __m64
impl Send for __m64impl Send for TryFromSliceError
impl Send for TryFromSliceErrorimpl Send for core::ascii::EscapeDefault
impl Send for core::ascii::EscapeDefaultimpl Send for BorrowError
impl Send for BorrowErrorimpl Send for BorrowMutError
impl Send for BorrowMutErrorimpl Send for CharTryFromError
impl Send for CharTryFromErrorimpl Send for DecodeUtf16Error
impl Send for DecodeUtf16Errorimpl Send for EscapeDebug
impl Send for EscapeDebugimpl Send for core::char::EscapeDefault
impl Send for core::char::EscapeDefaultimpl Send for EscapeUnicode
impl Send for EscapeUnicodeimpl Send for ParseCharError
impl Send for ParseCharErrorimpl Send for ToLowercase
impl Send for ToLowercaseimpl Send for ToUppercase
impl Send for ToUppercaseimpl Send for UnicodeVersion
impl Send for UnicodeVersionimpl Send for Error
impl Send for Errorimpl Send for SipHasher
impl Send for SipHasherimpl Send for Pinned
impl Send for Pinnedimpl Send for NonZeroU128
impl Send for NonZeroU128impl Send for NonZeroU16
impl Send for NonZeroU16impl Send for NonZeroU32
impl Send for NonZeroU32impl Send for NonZeroU64
impl Send for NonZeroU64impl Send for NonZeroU8
impl Send for NonZeroU8impl Send for NonZeroUsize
impl Send for NonZeroUsizeimpl Send for ParseFloatError
impl Send for ParseFloatErrorimpl Send for ParseIntError
impl Send for ParseIntErrorimpl Send for TryFromIntError
impl Send for TryFromIntErrorimpl Send for RangeFull
impl Send for RangeFullimpl Send for NoneError
impl Send for NoneErrorimpl Send for Utf8Lossy
impl Send for Utf8Lossyimpl Send for ParseBoolError
impl Send for ParseBoolErrorimpl Send for Utf8Error
impl Send for Utf8Errorimpl Send for AtomicBool
impl Send for AtomicBoolimpl Send for AtomicI16
impl Send for AtomicI16impl Send for AtomicI32
impl Send for AtomicI32impl Send for AtomicI64
impl Send for AtomicI64impl Send for AtomicI8
impl Send for AtomicI8impl Send for AtomicIsize
impl Send for AtomicIsizeimpl Send for AtomicU16
impl Send for AtomicU16impl Send for AtomicU32
impl Send for AtomicU32impl Send for AtomicU64
impl Send for AtomicU64impl Send for AtomicU8
impl Send for AtomicU8impl Send for AtomicUsize
impl Send for AtomicUsizeimpl Send for Duration
impl Send for Durationimpl<'a> !Send for VaList<'a>
impl<'a> !Send for VaList<'a>impl<'a> !Send for Arguments<'a>
impl<'a> !Send for Arguments<'a>impl<'a> !Send for Formatter<'a>
impl<'a> !Send for Formatter<'a>impl<'a> !Send for PanicInfo<'a>
impl<'a> !Send for PanicInfo<'a>impl<'a> Send for Location<'a>
impl<'a> Send for Location<'a>impl<'a> Send for Utf8LossyChunk<'a>
impl<'a> Send for Utf8LossyChunk<'a>impl<'a> Send for Utf8LossyChunksIter<'a>
impl<'a> Send for Utf8LossyChunksIter<'a>impl<'a> Send for CharSearcher<'a>
impl<'a> Send for CharSearcher<'a>impl<'a> Send for Bytes<'a>
impl<'a> Send for Bytes<'a>impl<'a> Send for CharIndices<'a>
impl<'a> Send for CharIndices<'a>impl<'a> Send for Chars<'a>
impl<'a> Send for Chars<'a>impl<'a> Send for EncodeUtf16<'a>
impl<'a> Send for EncodeUtf16<'a>impl<'a> Send for Lines<'a>
impl<'a> Send for Lines<'a>impl<'a> Send for LinesAny<'a>
impl<'a> Send for LinesAny<'a>impl<'a> Send for SplitAsciiWhitespace<'a>
impl<'a> Send for SplitAsciiWhitespace<'a>impl<'a> Send for SplitWhitespace<'a>
impl<'a> Send for SplitWhitespace<'a>impl<'a, 'b> !Send for DebugList<'a, 'b>
impl<'a, 'b> !Send for DebugList<'a, 'b>impl<'a, 'b> !Send for DebugMap<'a, 'b>
impl<'a, 'b> !Send for DebugMap<'a, 'b>impl<'a, 'b> !Send for DebugSet<'a, 'b>
impl<'a, 'b> !Send for DebugSet<'a, 'b>impl<'a, 'b> !Send for DebugStruct<'a, 'b>
impl<'a, 'b> !Send for DebugStruct<'a, 'b>impl<'a, 'b> !Send for DebugTuple<'a, 'b>
impl<'a, 'b> !Send for DebugTuple<'a, 'b>impl<'a, 'b> Send for CharSliceSearcher<'a, 'b>
impl<'a, 'b> Send for CharSliceSearcher<'a, 'b>impl<'a, 'b> Send for StrSearcher<'a, 'b>
impl<'a, 'b> Send for StrSearcher<'a, 'b>impl<'a, A> Send for core::option::Iter<'a, A> where
A: Sync,
impl<'a, A> Send for core::option::Iter<'a, A> where
A: Sync, impl<'a, A> Send for core::option::IterMut<'a, A> where
A: Send,
impl<'a, A> Send for core::option::IterMut<'a, A> where
A: Send, impl<'a, F> Send for CharPredicateSearcher<'a, F> where
F: MultiCharEq + Send,
impl<'a, F> Send for CharPredicateSearcher<'a, F> where
F: MultiCharEq + Send, impl<'a, P> Send for MatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for MatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for Matches<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for Matches<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for RMatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for RMatchIndices<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for RMatches<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for RMatches<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for core::str::RSplit<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for core::str::RSplit<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for core::str::RSplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for core::str::RSplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for RSplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for RSplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for core::str::Split<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for core::str::Split<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for core::str::SplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for core::str::SplitN<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, P> Send for SplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for SplitTerminator<'a, P> where
<P as Pattern<'a>>::Searcher: Send, impl<'a, T> Send for core::result::Iter<'a, T> where
T: Sync,
impl<'a, T> Send for core::result::Iter<'a, T> where
T: Sync, impl<'a, T> Send for core::result::IterMut<'a, T> where
T: Send,
impl<'a, T> Send for core::result::IterMut<'a, T> where
T: Send, impl<'a, T> Send for Chunks<'a, T> where
T: Sync,
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 ChunksExact<'a, T> where
T: Sync, impl<'a, T> Send for ChunksExactMut<'a, T> where
T: Send,
impl<'a, T> Send for ChunksExactMut<'a, T> where
T: Send, impl<'a, T> Send for ChunksMut<'a, T> where
T: Send,
impl<'a, T> Send for ChunksMut<'a, T> where
T: Send, impl<'a, T> Send for RChunks<'a, T> where
T: Sync,
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 RChunksExact<'a, T> where
T: Sync, impl<'a, T> Send for RChunksExactMut<'a, T> where
T: Send,
impl<'a, T> Send for RChunksExactMut<'a, T> where
T: Send, impl<'a, T> Send for RChunksMut<'a, T> where
T: Send,
impl<'a, T> Send for RChunksMut<'a, T> where
T: Send, impl<'a, T> Send for Windows<'a, T> where
T: Sync,
impl<'a, T> Send for Windows<'a, T> where
T: Sync, impl<'a, T, P> Send for core::slice::RSplit<'a, T, P> where
P: Send,
T: Sync,
impl<'a, T, P> Send for core::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 RSplitMut<'a, T, P> where
P: Send,
T: Send, impl<'a, T, P> Send for core::slice::RSplitN<'a, T, P> where
P: Send,
T: Sync,
impl<'a, T, P> Send for core::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 RSplitNMut<'a, T, P> where
P: Send,
T: Send, impl<'a, T, P> Send for core::slice::Split<'a, T, P> where
P: Send,
T: Sync,
impl<'a, T, P> Send for core::slice::Split<'a, T, P> where
P: Send,
T: Sync, impl<'a, T, P> Send for SplitMut<'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 core::slice::SplitN<'a, T, P> where
P: Send,
T: Sync,
impl<'a, T, P> Send for core::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, P> Send for SplitNMut<'a, T, P> where
P: Send,
T: Send, impl<'b, T> !Send for Ref<'b, T>
impl<'b, T> !Send for Ref<'b, T>impl<'b, T> !Send for RefMut<'b, T>
impl<'b, T> !Send for RefMut<'b, T>impl<A> Send for Repeat<A> where
A: Send,
impl<A> Send for Repeat<A> where
A: Send, impl<A> Send for core::option::IntoIter<A> where
A: Send,
impl<A> Send for core::option::IntoIter<A> where
A: Send, impl<A, B> Send for Chain<A, B> where
A: Send,
B: Send,
impl<A, B> Send for Chain<A, B> where
A: Send,
B: Send, impl<A, B> Send for Zip<A, B> where
A: Send,
B: Send,
impl<A, B> Send for Zip<A, B> where
A: Send,
B: Send, impl<F> Send for RepeatWith<F> where
F: Send,
impl<F> Send for RepeatWith<F> where
F: Send, impl<H> Send for BuildHasherDefault<H> where
H: Send,
impl<H> Send for BuildHasherDefault<H> where
H: Send, impl<I> Send for DecodeUtf16<I> where
I: Send,
impl<I> Send for DecodeUtf16<I> where
I: Send, impl<I> Send for Cloned<I> where
I: Send,
impl<I> Send for Cloned<I> where
I: Send, impl<I> Send for Cycle<I> where
I: Send,
impl<I> Send for Cycle<I> where
I: Send, impl<I> Send for Enumerate<I> where
I: Send,
impl<I> Send for Enumerate<I> where
I: Send, impl<I> Send for Flatten<I> where
I: Send,
<<I as Iterator>::Item as IntoIterator>::IntoIter: Send,
impl<I> Send for Flatten<I> where
I: Send,
<<I as Iterator>::Item as IntoIterator>::IntoIter: Send, impl<I> Send for Fuse<I> where
I: Send,
impl<I> Send for Fuse<I> where
I: Send, impl<I> Send for Peekable<I> where
I: Send,
<I as Iterator>::Item: 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 Skip<I> where
I: Send, impl<I> Send for StepBy<I> where
I: Send,
impl<I> Send for StepBy<I> where
I: Send, impl<I> Send for Take<I> where
I: Send,
impl<I> Send for Take<I> where
I: Send, impl<I, F> Send for FilterMap<I, F> where
F: Send,
I: Send,
impl<I, F> Send for FilterMap<I, F> where
F: Send,
I: Send, impl<I, F> Send for Inspect<I, F> where
F: Send,
I: Send,
impl<I, F> Send for Inspect<I, F> where
F: Send,
I: Send, impl<I, F> Send for Map<I, F> where
F: Send,
I: Send,
impl<I, F> Send for Map<I, F> where
F: Send,
I: Send, impl<I, P> Send for Filter<I, P> where
I: Send,
P: Send,
impl<I, P> Send for Filter<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 SkipWhile<I, P> where
I: Send,
P: Send, impl<I, P> Send for TakeWhile<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
F: Send,
I: Send,
St: Send,
impl<I, St, F> Send for Scan<I, St, F> where
F: Send,
I: Send,
St: Send, impl<I, U, F> Send for FlatMap<I, U, F> where
F: Send,
I: Send,
<U as IntoIterator>::IntoIter: Send,
impl<I, U, F> Send for FlatMap<I, U, F> where
F: Send,
I: Send,
<U as IntoIterator>::IntoIter: Send, impl<Idx> Send for Range<Idx> where
Idx: Send,
impl<Idx> Send for Range<Idx> where
Idx: Send, impl<Idx> Send for RangeFrom<Idx> where
Idx: Send,
impl<Idx> Send for RangeFrom<Idx> where
Idx: Send, impl<Idx> Send for RangeInclusive<Idx> where
Idx: Send,
impl<Idx> Send for RangeInclusive<Idx> where
Idx: Send, impl<Idx> Send for RangeTo<Idx> where
Idx: Send,
impl<Idx> Send for RangeTo<Idx> where
Idx: Send, impl<Idx> Send for RangeToInclusive<Idx> where
Idx: Send,
impl<Idx> Send for RangeToInclusive<Idx> where
Idx: Send, impl<P> Send for Pin<P> where
P: Send,
impl<P> Send for Pin<P> where
P: Send, impl<St, F> Send for Unfold<St, F> where
F: Send,
St: Send,
impl<St, F> Send for Unfold<St, F> where
F: Send,
St: Send, impl<T> Send for Bound<T> where
T: Send,
impl<T> Send for Bound<T> where
T: Send, impl<T> Send for Option<T> where
T: Send,
impl<T> Send for Option<T> where
T: Send, impl<T> Send for Poll<T> where
T: Send,
impl<T> Send for Poll<T> where
T: Send, impl<T> Send for Reverse<T> where
T: Send,
impl<T> Send for Reverse<T> where
T: Send, impl<T> Send for Empty<T> where
T: Send,
impl<T> Send for Empty<T> where
T: Send, impl<T> Send for Once<T> where
T: Send,
impl<T> Send for Once<T> where
T: Send, impl<T> Send for Rev<T> where
T: Send,
impl<T> Send for Rev<T> where
T: Send, impl<T> Send for Discriminant<T>
impl<T> Send for Discriminant<T>impl<T> Send for Wrapping<T> where
T: Send,
impl<T> Send for Wrapping<T> where
T: Send, impl<T> Send for core::result::IntoIter<T> where
T: Send,
impl<T> Send for core::result::IntoIter<T> where
T: Send, impl<T> Send for MaybeUninit<T> where
T: Send,
impl<T> Send for MaybeUninit<T> where
T: Send, impl<T, E> Send for Result<T, E> where
E: Send,
T: Send,
impl<T, E> Send for Result<T, E> where
E: Send,
T: Send, impl<T, F> Send for Successors<T, F> where
F: Send,
T: Send,
impl<T, F> Send for Successors<T, F> where
F: Send,
T: Send, impl<T: ?Sized> Send for UnsafeCell<T> where
T: Send,
impl<T: ?Sized> Send for UnsafeCell<T> where
T: Send, impl<T: ?Sized> Send for PhantomData<T> where
T: Send,
impl<T: ?Sized> Send for PhantomData<T> where
T: Send, impl<T: ?Sized> Send for ManuallyDrop<T> where
T: Send,
impl<T: ?Sized> Send for ManuallyDrop<T> where
T: Send, impl<Y, R> Send for GeneratorState<Y, R> where
R: Send,
Y: Send,
impl<Y, R> Send for GeneratorState<Y, R> where
R: Send,
Y: Send,