1.0.0[−][src]Trait core::marker::Send

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 Send for Waker[src]

impl<T> Send for Empty<T>[src]

impl<T> Send for AtomicPtr<T>[src]

impl<T: Send + ?Sized, '_> Send for &'_ mut T[src]

impl<T: Send, '_> Send for core::slice::IterMut<'_, T>[src]

impl<T: Sync + ?Sized, '_> Send for &'_ T[src]

impl<T: Sync, '_> Send for core::slice::Iter<'_, T>[src]

impl<T: ?Sized> !Send for *const T[src]

impl<T: ?Sized> !Send for *mut T[src]

impl<T: ?Sized> !Send for NonNull<T>[src]

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 RefCell<T> where
    T: Send, 
[src]

Loading content...

Auto implementors

impl !Send for TraitObject

impl !Send for RawWaker

impl Send for core::cmp::Ordering

impl Send for Infallible

impl Send for c_void

impl Send for Alignment

impl Send for FpCategory

impl Send for IntErrorKind

impl Send for SearchStep

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

impl Send for AllocErr

impl Send for Layout

impl Send for LayoutErr

impl Send for TypeId

impl Send for float64x1_t

impl Send for float64x2_t

impl Send for int8x16x2_t

impl Send for int8x16x3_t

impl Send for int8x16x4_t

impl Send for poly8x16x2_t

impl Send for poly8x16x3_t

impl Send for poly8x16x4_t

impl Send for poly64_t

impl Send for poly64x1_t

impl Send for poly64x2_t

impl Send for poly128_t

impl Send for uint8x16x2_t

impl Send for uint8x16x3_t

impl Send for uint8x16x4_t

impl Send for ISH

impl Send for ISHLD

impl Send for ISHST

impl Send for LD

impl Send for NSH

impl Send for NSHLD

impl Send for NSHST

impl Send for OSH

impl Send for OSHLD

impl Send for OSHST

impl Send for ST

impl Send for SY

impl Send for float32x2_t

impl Send for float32x4_t

impl Send for int8x8_t

impl Send for int8x8x2_t

impl Send for int8x8x3_t

impl Send for int8x8x4_t

impl Send for int8x16_t

impl Send for int16x4_t

impl Send for int16x8_t

impl Send for int32x2_t

impl Send for int32x4_t

impl Send for int64x1_t

impl Send for int64x2_t

impl Send for poly8x8_t

impl Send for poly8x8x2_t

impl Send for poly8x8x3_t

impl Send for poly8x8x4_t

impl Send for poly8x16_t

impl Send for poly16x4_t

impl Send for poly16x8_t

impl Send for uint8x8_t

impl Send for uint8x8x2_t

impl Send for uint8x8x3_t

impl Send for uint8x8x4_t

impl Send for uint8x16_t

impl Send for uint16x4_t

impl Send for uint16x8_t

impl Send for uint32x2_t

impl Send for uint32x4_t

impl Send for uint64x1_t

impl Send for uint64x2_t

impl Send for vector_bool_long

impl Send for vector_double

impl Send for vector_signed_long

impl Send for vector_unsigned_long

impl Send for v128

impl Send for CpuidResult

impl Send for __m64

impl Send for __m128

impl Send for __m128d

impl Send for __m128i

impl Send for __m256

impl Send for __m256d

impl Send for __m256i

impl Send for __m512

impl Send for __m512d

impl Send for __m512i

impl Send for TryFromSliceError

impl Send for core::ascii::EscapeDefault

impl Send for BorrowError

impl Send for BorrowMutError

impl Send for CharTryFromError

impl Send for DecodeUtf16Error

impl Send for core::char::EscapeDebug

impl Send for core::char::EscapeDefault

impl Send for core::char::EscapeUnicode

impl Send for ParseCharError

impl Send for ToLowercase

impl Send for ToUppercase

impl Send for Error

impl Send for SipHasher

impl Send for PhantomPinned

impl Send for NonZeroI8

impl Send for NonZeroI16

impl Send for NonZeroI32

impl Send for NonZeroI64

impl Send for NonZeroI128

impl Send for NonZeroIsize

impl Send for NonZeroU8

impl Send for NonZeroU16

impl Send for NonZeroU32

impl Send for NonZeroU64

impl Send for NonZeroU128

impl Send for NonZeroUsize

impl Send for ParseFloatError

impl Send for ParseIntError

impl Send for TryFromIntError

impl Send for RangeFull

impl Send for NoneError

impl Send for Utf8Lossy

impl Send for ParseBoolError

impl Send for Utf8Error

impl Send for AtomicBool

impl Send for AtomicI8

impl Send for AtomicI16

impl Send for AtomicI32

impl Send for AtomicI64

impl Send for AtomicI128

impl Send for AtomicIsize

impl Send for AtomicU8

impl Send for AtomicU16

impl Send for AtomicU32

impl Send for AtomicU64

impl Send for AtomicU128

impl Send for AtomicUsize

impl Send for RawWakerVTable

impl Send for Duration

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

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

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

impl<'a> Send for Location<'a>

impl<'a> Send for Utf8LossyChunk<'a>

impl<'a> Send for Utf8LossyChunksIter<'a>

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

impl<'a> Send for Bytes<'a>

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

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

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

impl<'a> Send for core::str::EscapeDebug<'a>

impl<'a> Send for core::str::EscapeDefault<'a>

impl<'a> Send for core::str::EscapeUnicode<'a>

impl<'a> Send for Lines<'a>

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

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

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

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

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, 'f> !Send for VaList<'a, 'f>

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, 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 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 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::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 core::str::Split<'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::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, 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 Chunks<'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 ChunksMut<'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 RChunksExactMut<'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, 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 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 core::slice::Split<'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 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 SplitNMut<'a, T, P> where
    P: Send,
    T: Send, 

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

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

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

impl<'f> !Send for VaListImpl<'f>

impl<A> Send for Repeat<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 Zip<A, B> where
    A: Send,
    B: Send, 

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

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

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

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

impl<H> Send for BuildHasherDefault<H> where
    H: Send, 

impl<I> Send for DecodeUtf16<I> where
    I: 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 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 Fuse<I> where
    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 Take<I> where
    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 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 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
    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<Idx> Send for Range<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 RangeTo<Idx> where
    Idx: Send, 

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

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

impl<T> Send for Bound<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 Reverse<T> where
    T: Send, 

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

impl<T> Send for Ready<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 OnceCell<T> where
    T: Send, 

impl<T> Send for Discriminant<T> where
    <T as DiscriminantKind>::Discriminant: 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 MaybeUninit<T> where
    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 Lazy<T, F> where
    F: Send,
    T: Send, 

impl<T, const N: usize> Send for core::array::IntoIter<T, N> 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 ManuallyDrop<T> where
    T: Send, 

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

Loading content...