Trait core::marker::Send 1.0.0[−][src]
pub unsafe auto trait 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<Dyn: ?Sized> Send for DynMetadata<Dyn>[src]
impl<Dyn: ?Sized> Send for DynMetadata<Dyn>[src]Auto implementors
impl !Send for TraitObject
impl !Send for TraitObjectimpl Send for Infallible
impl Send for Infallibleimpl Send for FpCategory
impl Send for FpCategoryimpl Send for IntErrorKind
impl Send for IntErrorKindimpl Send for SearchStep
impl Send for SearchStepimpl Send for AllocError
impl Send for AllocErrorimpl Send for LayoutError
impl Send for LayoutErrorimpl 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 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 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 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 poly8x16_t
impl Send for poly8x16_timpl Send for poly16x4_t
impl Send for poly16x4_timpl Send for poly16x8_t
impl Send for poly16x8_timpl Send for poly64x1_t
impl Send for poly64x1_timpl Send for poly64x2_t
impl Send for poly64x2_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 uint8x16_t
impl Send for uint8x16_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 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 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 core::char::EscapeDebug
impl Send for core::char::EscapeDebugimpl Send for core::char::EscapeDefault
impl Send for core::char::EscapeDefaultimpl Send for core::char::EscapeUnicode
impl Send for core::char::EscapeUnicodeimpl Send for ParseCharError
impl Send for ParseCharErrorimpl Send for ToLowercase
impl Send for ToLowercaseimpl Send for ToUppercase
impl Send for ToUppercaseimpl Send for NonZeroI16
impl Send for NonZeroI16impl Send for NonZeroI32
impl Send for NonZeroI32impl Send for NonZeroI64
impl Send for NonZeroI64impl Send for NonZeroI128
impl Send for NonZeroI128impl Send for NonZeroIsize
impl Send for NonZeroIsizeimpl Send for NonZeroU16
impl Send for NonZeroU16impl Send for NonZeroU32
impl Send for NonZeroU32impl Send for NonZeroU64
impl Send for NonZeroU64impl Send for NonZeroU128
impl Send for NonZeroU128impl 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 ParseBoolError
impl Send for ParseBoolErrorimpl Send for AtomicBool
impl Send for AtomicBoolimpl Send for AtomicIsize
impl Send for AtomicIsizeimpl Send for AtomicUsize
impl Send for AtomicUsizeimpl Send for RawWakerVTable
impl Send for RawWakerVTableimpl Send for PhantomPinned
impl Send for PhantomPinnedimpl<'a> Send for EscapeAscii<'a>
impl<'a> Send for EscapeAscii<'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 CharIndices<'a>
impl<'a> Send for CharIndices<'a>impl<'a> Send for EncodeUtf16<'a>
impl<'a> Send for EncodeUtf16<'a>impl<'a> Send for core::str::EscapeDebug<'a>
impl<'a> Send for core::str::EscapeDebug<'a>impl<'a> Send for core::str::EscapeDefault<'a>
impl<'a> Send for core::str::EscapeDefault<'a>impl<'a> Send for core::str::EscapeUnicode<'a>
impl<'a> Send for core::str::EscapeUnicode<'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 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, F> Send for CharPredicateSearcher<'a, F> where
F: Send,
impl<'a, F> Send for CharPredicateSearcher<'a, F> where
F: 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 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 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::SplitInclusive<'a, P> where
<P as Pattern<'a>>::Searcher: Send,
impl<'a, P> Send for core::str::SplitInclusive<'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 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 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, P> Send for GroupByMut<'a, T, P> where
P: Send,
T: Send,
impl<'a, T, P> Send for GroupByMut<'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 RSplitNMut<'a, T, P> where
P: Send,
T: Send, impl<'a, T, P> Send for core::slice::SplitInclusive<'a, T, P> where
P: Send,
T: Sync,
impl<'a, T, P> Send for core::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 SplitInclusiveMut<'a, T, P> where
P: Send,
T: Send, impl<'a, T, const N: usize> !Send for ArrayWindows<'a, T, N>
impl<'a, T, const N: usize> !Send for ArrayWindows<'a, T, N>impl<'a, T, const N: usize> Send for ArrayChunks<'a, T, N> where
T: Sync,
impl<'a, T, const N: usize> Send for ArrayChunks<'a, T, N> where
T: Sync, impl<'a, T, const N: usize> Send for ArrayChunksMut<'a, T, N> where
T: Send,
impl<'a, T, const N: usize> Send for ArrayChunksMut<'a, T, N> where
T: Send, impl<'f> !Send for VaListImpl<'f>
impl<'f> !Send for VaListImpl<'f>impl<B, C> Send for ControlFlow<B, C> where
B: Send,
C: Send,
impl<B, C> Send for ControlFlow<B, C> where
B: Send,
C: 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, 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 RangeInclusive<Idx> where
Idx: Send,
impl<Idx> Send for RangeInclusive<Idx> where
Idx: Send, impl<Idx> Send for RangeToInclusive<Idx> where
Idx: Send,
impl<Idx> Send for RangeToInclusive<Idx> where
Idx: Send, impl<T> Send for Discriminant<T>
impl<T> Send for Discriminant<T>impl<T> Send for MaybeUninit<T> where
T: Send,
impl<T> Send for MaybeUninit<T> where
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 ManuallyDrop<T> where
T: Send,
impl<T: ?Sized> Send for ManuallyDrop<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<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,