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