Trait Send
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 and the Sync trait for more details.
Implementors
impl Send for TryFromSliceErrorimpl Send for uint16x4_timpl<T> Send for Rev<T>impl Send for poly16x4x3_timpl Send for AtomicBoolimpl Send for __m256dimpl<'a, T> Send for Windows<'a, T>impl Send for vector_floatimpl<Y, R> Send for CoroutineState<Y, R>impl<'a> Send for Context<'a>impl Send for Wakerimpl<I> Send for Enumerate<I>impl Send for int16x4x2_timpl<Ptr> Send for Pin<Ptr>impl Send for uint64x2x4_timpl<'a, T, P> Send for SplitInclusiveMut<'a, T, P>impl Send for m128dimpl<'a, F> Send for CharPredicateSearcher<'a, F>impl Send for Location<'_>impl Send for FromBytesUntilNulErrorimpl Send for int8x16x4_timpl<'a, A> Send for IterMut<'a, A>impl Send for float32x4x3_timpl<T> Send for PhantomCovariant<T>impl Send for Alignmentimpl Send for vector_unsigned_intimpl Send for IntErrorKindimpl<'a> Send for SplitWhitespace<'a>impl Send for u32impl<T> Send for SyncUnsafeCell<T>impl Send for int32x4_timpl<A> Send for RepeatN<A>impl Send for uint32x4x2_timpl Send for float64x1x3_timpl<'a> Send for Bytes<'a>impl Send for strimpl Send for AsciiCharimpl Send for poly16x4_timpl<I, St, F> Send for Scan<I, St, F>impl Send for poly16x4x4_timpl Send for Orderingimpl Send for __m512iimpl<'a, T> Send for Chunks<'a, T>impl Send for vector_doubleimpl Send for RangeFullimpl Send for LocalWakerimpl<I, P> Send for Filter<I, P>impl Send for int16x4x3_timpl Send for Arrayimpl<A> Send for RangeIter<A>impl Send for poly64x1x2_timpl Send for vector_signed_charimpl<'a, 'b> Send for StrSearcher<'a, 'b>impl<T> Send for AtomicPtr<T>impl<'a> Send for VaList<'a>impl Send for uint8x8x2_timpl Send for float32x4x4_timpl Send for AtomicOrderingimpl Send for Errorimpl Send for vector_bool_intimpl<'a> Send for SplitAsciiWhitespace<'a>impl Send for u64impl Send for ParseCharErrorimpl Send for uint32x4_timpl<F> Send for RepeatWith<F>impl Send for uint32x4x3_timpl<'a, 'b> Send for DebugTuple<'a, 'b>impl Send for float64x1x4_timpl<'a, P> Send for Split<'a, P>impl<T> Send for (T)impl Send for EscapeDefaultimpl Send for int32x2_timpl<I> Send for Skip<I>impl Send for poly16x8x2_timpl Send for AtomicI8impl Send for __m512impl Send for BasicBlockimpl<'a, T> Send for ChunksExact<'a, T>impl<N: usize> Send for LaneCount<N>impl<Idx> Send for Range<Idx>impl<'a> Send for ContextBuilder<'a>impl<I, F> Send for FilterMap<I, F>impl Send for int16x4x4_timpl<A> Send for RangeInclusiveIter<A>impl Send for poly64x1x3_timpl<'a, T, P> Send for RSplit<'a, T, P>impl Send for vector_unsigned_charimpl<'a> Send for Utf8Chunk<'a>impl Send for Arguments<'_>impl Send for c_voidimpl Send for uint8x8x3_timpl<A> Send for IntoIter<A>impl Send for int64x1x2_timpl Send for Signimpl Send for vector_floatimpl<'a, P> Send for SplitInclusive<'a, P>impl Send for u128impl Send for CharTryFromErrorimpl Send for float32x4_timpl<T, F> Send for Successors<T, F>impl Send for uint32x4x4_timpl Send for float64x2x2_timpl<'a, P> Send for RSplit<'a, P>impl Send for f16impl<I> Send for FromIter<I>impl Send for uint32x2_timpl<I, P> Send for SkipWhile<I, P>impl Send for poly16x8x3_timpl<'a> Send for PhantomInvariantLifetime<'a>impl Send for AtomicU8impl Send for __m512dimpl<'a, T, N: usize> Send for ArrayWindows<'a, T, N>impl<T, N: usize> Send for Mask<T, N>impl Send for FpCategoryimpl<Idx> Send for RangeFrom<Idx>impl Send for TypeKindimpl<I, U, F> Send for FlatMap<I, U, F>impl Send for int16x8x2_timpl<A> Send for RangeFromIter<A>impl Send for poly64x1x4_timpl<'a, T, P> Send for RSplitMut<'a, T, P>impl Send for vector_bool_charimpl<'a> Send for Utf8Chunks<'a>impl<T: Sync> Send for Iter<'_, T>impl Send for Infallibleimpl Send for Lastimpl Send for uint8x8x4_timpl<A> Send for OptionFlatten<A>impl Send for int64x1x3_timpl Send for DebugAsHeximpl Send for vector_signed_longimpl<'a> Send for EncodeUtf16<'a>impl Send for isizeimpl<I> Send for DecodeUtf16<I>impl Send for int64x2_timpl Send for IpAddrimpl Send for float16x4x2_timpl<'a, 'b> Send for DebugSet<'a, 'b>impl Send for float64x2x3_timpl<'a, P> Send for SplitTerminator<'a, P>impl Send for f32impl Send for ByteStrimpl Send for float32x2_timpl<I> Send for StepBy<I>impl Send for poly16x8x4_timpl Send for AtomicI16impl Send for __m128bhimpl<'a, T> Send for RChunks<'a, T>impl<T, N: usize> Send for Simd<T, N>impl<Idx> Send for RangeTo<Idx>impl<T, F> Send for DropGuard<T, F>impl Send for Layoutimpl<I> Send for Flatten<I>impl Send for int16x8x3_timpl<Idx> Send for Range<Idx>impl Send for poly64x2x2_timpl Send for vector_signed_shortimpl Send for Durationimpl<T: Send> Send for IterMut<'_, T>impl Send for Localityimpl<'data> Send for BorrowedBuf<'data>impl Send for uint8x16x2_timpl Send for objc_classimpl Send for int64x1x4_timpl Send for FormattingOptionsimpl Send for vector_unsigned_longimpl<'a> Send for EscapeDebug<'a>impl Send for usizeimpl Send for DecodeUtf16Errorimpl Send for uint64x2_timpl Send for Ipv4Addrimpl Send for float16x4x3_timpl Send for float64x2x4_timpl Send for UnwindTerminateReasonimpl<'a, P> Send for RSplitTerminator<'a, P>impl Send for f64impl<T, F> Send for LazyCell<T, F>impl Send for int64x1_timpl<T> Send for Saturating<T>impl<I> Send for Take<I>impl Send for int32x2x2_timpl Send for AtomicU16impl Send for __m256bhimpl<'a, T> Send for RChunksExact<'a, T>impl Send for boolimpl<Idx> Send for RangeInclusive<Idx>impl Send for LayoutErrorimpl<I> Send for Fuse<I>impl Send for int16x8x4_timpl<Idx> Send for RangeInclusive<Idx>impl Send for poly64x2x3_timpl<Idx> Send for Clamp<Idx>impl<'a, T, P> Send for SplitN<'a, T, P>impl Send for vector_unsigned_shortimpl Send for TryFromFloatSecsErrorimpl<T> Send for ChunksMut<'_, T>impl<'a> Send for BorrowedCursor<'a>impl Send for uint8x16x3_timpl<'a> Send for PhantomContravariantLifetime<'a>impl Send for int64x2x2_timpl<'a> Send for Formatter<'a>impl Send for vector_bool_longimpl<'a> Send for EscapeDefault<'a>impl<Ret, T> Send for fn(_: T) -> Retimpl Send for EscapeUnicodeimpl Send for poly64x2_timpl Send for Ipv6Addrimpl Send for float16x4x4_timpl<'a, 'b> Send for DebugList<'a, 'b>impl Send for v128impl<'a, P> Send for SplitN<'a, P>impl Send for f128impl<T> Send for OnceCell<T>impl<Dyn: PointeeSized> Send for DynMetadata<Dyn>impl Send for uint64x1_timpl<I, P> Send for TakeWhile<I, P>impl Send for int32x2x3_timpl Send for AtomicI32impl Send for __m512bhimpl<'a, T, P> Send for ChunkBy<'a, T, P>impl Send for neverimpl<Idx> Send for RangeToInclusive<Idx>impl Send for AllocErrorimpl<I, F> Send for Inspect<I, F>impl Send for uint16x4x2_timpl<Idx> Send for RangeFrom<Idx>impl Send for poly64x2x4_timpl Send for vector_bool_shortimpl<T> Send for Pending<T>impl<I, N: usize> Send for ArrayChunks<I, N>impl Send for uint8x16x4_timpl Send for objc_selectorimpl Send for int64x2x3_timpl Send for SipHasherimpl Send for vector_doubleimpl<'a> Send for EscapeUnicode<'a>impl<T: PointeeSized> Send for *const Timpl Send for Typeimpl Send for EscapeDefaultimpl Send for float16x4_timpl Send for Ipv6MulticastScopeimpl Send for float16x8x2_timpl Send for vector_signed_charimpl Send for Assumeimpl<T> Send for PhantomInvariant<T>impl<'a, P> Send for RSplitN<'a, P>impl Send for i8impl Send for BorrowErrorimpl Send for poly64x1_timpl<'a> Send for PhantomCovariantLifetime<'a>impl<A, B> Send for Zip<A, B>impl Send for Tupleimpl Send for int32x2x4_timpl<T> Send for MaybeUninit<T>impl Send for AtomicU32impl<T: PointeeSized> Send for NonNull<T>impl Send for __m128himpl<'a, T, P> Send for ChunkByMut<'a, T, P>impl Send for charimpl<T> Send for Bound<T>impl Send for SYimpl<I> Send for Intersperse<I>impl Send for uint16x4x3_timpl<Idx> Send for RangeToInclusive<Idx>impl Send for CpuidResultimpl<'a, T, P> Send for RSplitN<'a, T, P>impl Send for vector_signed_intimpl<F> Send for PollFn<F>impl<T> Send for ChunksExactMut<'_, T>impl<'a, I> Send for ByRefSized<'a, I>impl Send for poly8x8x2_timpl Send for int64x2x4_timpl<H> Send for BuildHasherDefault<H>impl Send for f16x2impl Send for UnwindActionArgimpl<'a> Send for Utf8Pattern<'a>impl<T: PointeeSized> Send for *mut Timpl Send for EscapeDebugimpl Send for float16x8_timpl Send for AddrParseErrorimpl Send for float16x8x3_timpl<'a, 'b> Send for DebugMap<'a, 'b>impl Send for vector_unsigned_charimpl<'a, P> Send for MatchIndices<'a, P>impl Send for i16impl Send for BorrowMutErrorimpl Send for int8x16_timpl<T> Send for Empty<T>impl Send for int32x4x2_timpl Send for AtomicI64impl Send for __m256himpl Send for ()impl Send for OneSidedRangeBoundimpl<T> Send for ManuallyDrop<T>impl<I, G> Send for IntersperseWith<I, G>impl Send for uint16x4x4_timpl<T, E> Send for Result<T, E>impl Send for __m128iimpl Send for vector_unsigned_intimpl Send for poly8x8x3_timpl<'a> Send for PanicInfo<'a>impl Send for uint64x1x2_timpl<P> Send for MaybeDangling<P>impl<'a> Send for EscapeAscii<'a>impl Send for m256iimpl Send for SearchStepimpl<T> Send for Wrapping<T>impl<T: Sync + PointeeSized> Send for &Timpl Send for ToLowercaseimpl Send for int8x8x2_timpl Send for SocketAddrimpl Send for float16x8x4_timpl Send for vector_bool_charimpl<'a, P> Send for RMatchIndices<'a, P>impl Send for i32impl<'b, T> Send for Ref<'b, T>impl Send for uint8x16_timpl<G> Send for FromCoroutine<G>impl Send for int32x4x3_timpl<T> Send for NonZero<T>impl Send for AtomicU64impl Send for __m512himpl Send for GetDisjointMutErrorimpl<T, N: usize> Send for [MaybeUninit<T>; N]impl Send for int8x8_timpl<I, F> Send for Map<I, F>impl Send for uint16x8x2_timpl<'a, T> Send for Iter<'a, T>impl Send for __m128impl<'a, T, P> Send for SplitNMut<'a, T, P>impl Send for vector_bool_intimpl<T> Send for Ready<T>impl<T> Send for RChunksMut<'_, T>impl<A, B> Send for Chain<A, B>impl Send for poly8x8x4_timpl<'a> Send for PanicMessage<'a>impl Send for uint64x1x3_timpl<'a, T, P> Send for Split<'a, T, P>impl Send for m256impl<'a> Send for CharSearcher<'a>impl Send for TypeIdimpl Send for ToUppercaseimpl Send for int8x8x3_timpl Send for SocketAddrV4impl Send for float32x2x2_timpl<T> Send for Discriminant<T>impl<F> Send for FromFn<F>impl Send for vector_signed_shortimpl<'a, P> Send for Matches<'a, P>impl Send for i64impl Send for poly8x16_timpl<F> Send for FromFn<F>impl Send for int32x4x4_timpl Send for AtomicIsizeimpl Send for bf16impl Send for Alignmentimpl Send for Utf8Errorimpl<N: usize> Send for [u8; N]impl<T> Send for Yeet<T>impl Send for uint8x8_timpl<I, P> Send for MapWhile<I, P>impl Send for uint16x8x3_timpl<'a, T> Send for IterMut<'a, T>impl Send for __m128dimpl Send for ParseIntErrorimpl<T> Send for PhantomContravariant<T>impl Send for vector_signed_long_longimpl<T> Send for Reverse<T>impl<T> Send for PhantomData<T>impl<T> Send for Poll<T>impl<I> Send for Cloned<I>impl Send for poly8x16x2_timpl Send for uint64x1x4_timpl<'a, T, P> Send for SplitInclusive<'a, T, P>impl Send for m256dimpl<'a, N: usize> Send for CharArraySearcher<'a, N>impl<T> Send for Cell<T>impl Send for TryFromCharErrorimpl Send for int8x8x4_timpl Send for Fieldimpl Send for SocketAddrV6impl Send for float32x2x3_timpl Send for vector_unsigned_shortimpl<'a, P> Send for RMatches<'a, P>impl Send for i128impl<'b, T> Send for RefMut<'b, T>impl Send for int16x8_timpl Send for SimdAlignimpl<T> Send for Once<T>impl Send for uint32x2x2_timpl Send for AtomicUsizeimpl Send for float64x1_timpl Send for ParseBoolErrorimpl<T, N: usize> Send for [T; N]impl Send for poly8x8_timpl<I, F, N: usize> Send for MapWindows<I, F, N>impl Send for uint16x8x4_timpl Send for __m256iimpl<'a, T, P> Send for RSplitNMut<'a, T, P>impl Send for vector_unsigned_long_longimpl Send for PhantomPinnedimpl Send for RawWakerimpl<T> Send for RChunksExactMut<'_, T>impl<I> Send for Copied<I>impl Send for poly8x16x3_timpl<T> Send for AssertUnwindSafe<T>impl Send for uint64x2x2_timpl<'a, T, P> Send for SplitMut<'a, T, P>impl Send for m128iimpl<'a, 'b, N: usize> Send for CharArrayRefSearcher<'a, 'b, N>impl<T> Send for RefCell<T>impl Send for CStrimpl Send for int8x16x2_timpl<T> Send for Option<T>impl Send for float32x2x4_timpl<T> Send for NumBuffer<T>impl Send for vector_bool_shortimpl Send for Orderingimpl<'a> Send for Lines<'a>impl Send for u8impl Send for uint16x8_timpl<F> Send for OnceWith<F>impl Send for uint32x2x3_timpl<'a> Send for Source<'a>impl<T> Send for Exclusive<T>impl Send for float64x2_timpl<'a> Send for Chars<'a>impl<T, N: usize> Send for [Option<T>; N]impl<T, N: usize> Send for IntoIter<T, N>impl Send for int16x4_timpl<I> Send for Peekable<I>impl Send for poly16x4x2_timpl<'a> Send for Request<'a>impl<T> Send for IntoIter<T>impl Send for __m256impl Send for vector_bool_long_longimpl Send for ReturnToArgimpl<B, C> Send for ControlFlow<B, C>impl Send for RawWakerVTableimpl<I> Send for Cycle<I>impl Send for poly8x16x4_timpl Send for TryFromIntErrorimpl<T> Send for UnsafePinned<T>impl Send for uint64x2x3_timpl Send for m128impl<'a, 'b> Send for CharSliceSearcher<'a, 'b>impl Send for Bytes<'_>impl Send for FromBytesWithNulErrorimpl Send for int8x16x3_timpl<'a, A> Send for Iter<'a, A>impl Send for float32x4x2_timpl Send for vector_signed_intimpl<'a> Send for LinesAny<'a>impl Send for u16impl<T> Send for UnsafeCell<T>impl Send for poly16x8_timpl<A> Send for Repeat<A>impl Send for uint32x2x4_timpl<'a, 'b> Send for DebugStruct<'a, 'b>impl Send for float64x1x2_timpl<'a> Send for CharIndices<'a>impl<T> Send for [T]