Trait TrivialClone
pub unsafe trait TrivialClone: ~const Clone
Indicates that the Clone implementation is identical to copying the value.
This is used for some optimizations in the standard library, which specializes
on this trait to select faster implementations of functions such as
clone_from_slice. It is automatically implemented
when using #[derive(Clone, Copy)].
Note that this trait does not imply that the type is Copy, because e.g.
core::ops::Range<i32> could soundly implement this trait.
Safety
Clone::clone must be equivalent to copying the value, otherwise calling functions
such as slice::clone_from_slice can have undefined behaviour.
Implementors
impl TrivialClone for Alignmentimpl TrivialClone for Alignmentimpl TrivialClone for AlignmentEnumimpl TrivialClone for AllocErrorimpl TrivialClone for AlwaysEscapedimpl TrivialClone for AsciiCharimpl TrivialClone for Assumeimpl TrivialClone for BiasedFpimpl TrivialClone for CharCaseimpl TrivialClone for CharErrorKindimpl TrivialClone for CharTryFromErrorimpl TrivialClone for CodePointimpl TrivialClone for CodePointInnerimpl TrivialClone for CpuidResultimpl TrivialClone for DebugAsHeximpl TrivialClone for Decimalimpl TrivialClone for Decodedimpl TrivialClone for DriftsortRunimpl TrivialClone for Durationimpl TrivialClone for Emptyimpl TrivialClone for Errorimpl TrivialClone for ErrorKindimpl TrivialClone for FieldIdimpl TrivialClone for FormattingOptionsimpl TrivialClone for Fpimpl TrivialClone for FpCategoryimpl TrivialClone for FromBytesUntilNulErrorimpl TrivialClone for FromBytesWithNulErrorimpl TrivialClone for FullDecodedimpl TrivialClone for HvxVectorimpl TrivialClone for HvxVectorimpl TrivialClone for HvxVectorPairimpl TrivialClone for HvxVectorPairimpl TrivialClone for HvxVectorPredimpl TrivialClone for HvxVectorPredimpl TrivialClone for I32NotAllOnesimpl TrivialClone for I64NotAllOnesimpl TrivialClone for IntErrorKindimpl TrivialClone for IpAddrimpl TrivialClone for Ipv4Addrimpl TrivialClone for Ipv6Addrimpl TrivialClone for Ipv6MulticastScopeimpl TrivialClone for Layoutimpl TrivialClone for Localityimpl TrivialClone for MaybeEscapedimpl TrivialClone for Nanosecondsimpl TrivialClone for NonZeroCharInnerimpl TrivialClone for NonZeroI128Innerimpl TrivialClone for NonZeroI16Innerimpl TrivialClone for NonZeroI32Innerimpl TrivialClone for NonZeroI64Innerimpl TrivialClone for NonZeroI8Innerimpl TrivialClone for NonZeroIsizeInnerimpl TrivialClone for NonZeroU128Innerimpl TrivialClone for NonZeroU16Innerimpl TrivialClone for NonZeroU32Innerimpl TrivialClone for NonZeroU64Innerimpl TrivialClone for NonZeroU8Innerimpl TrivialClone for NonZeroUsizeInnerimpl TrivialClone for Orderingimpl TrivialClone for Orderingimpl TrivialClone for PhantomPinnedimpl TrivialClone for Rangeimpl TrivialClone for RangeFullimpl TrivialClone for RawWakerVTableimpl TrivialClone for ResumeTyimpl TrivialClone for SearchStepimpl TrivialClone for SeekFromimpl TrivialClone for Signimpl TrivialClone for Signimpl TrivialClone for Sinkimpl TrivialClone for SocketAddrimpl TrivialClone for SocketAddrV4impl TrivialClone for SocketAddrV6impl TrivialClone for Spanimpl TrivialClone for Stateimpl TrivialClone for TryFromCharErrorimpl TrivialClone for TryFromIntErrorimpl TrivialClone for TryFromSliceErrorimpl TrivialClone for TypeIdimpl TrivialClone for U32NotAllOnesimpl TrivialClone for U64NotAllOnesimpl TrivialClone for UsizeNoHighBitimpl TrivialClone for Utf8Errorimpl TrivialClone for VaListInnerimpl TrivialClone for VariantIdimpl TrivialClone for __m128impl TrivialClone for __m128bhimpl TrivialClone for __m128dimpl TrivialClone for __m128himpl TrivialClone for __m128iimpl TrivialClone for __m256impl TrivialClone for __m256bhimpl TrivialClone for __m256dimpl TrivialClone for __m256himpl TrivialClone for __m256iimpl TrivialClone for __m512impl TrivialClone for __m512bhimpl TrivialClone for __m512dimpl TrivialClone for __m512himpl TrivialClone for __m512iimpl TrivialClone for __tile1024iimpl TrivialClone for bf16impl TrivialClone for boolimpl TrivialClone for charimpl TrivialClone for f128impl TrivialClone for f16impl TrivialClone for f16x2impl TrivialClone for f32impl TrivialClone for f64impl TrivialClone for float16x4_timpl TrivialClone for float16x4x2_timpl TrivialClone for float16x4x3_timpl TrivialClone for float16x4x4_timpl TrivialClone for float16x8_timpl TrivialClone for float16x8x2_timpl TrivialClone for float16x8x3_timpl TrivialClone for float16x8x4_timpl TrivialClone for float32x2_timpl TrivialClone for float32x2x2_timpl TrivialClone for float32x2x3_timpl TrivialClone for float32x2x4_timpl TrivialClone for float32x4_timpl TrivialClone for float32x4x2_timpl TrivialClone for float32x4x3_timpl TrivialClone for float32x4x4_timpl TrivialClone for float64x1_timpl TrivialClone for float64x1x2_timpl TrivialClone for float64x1x3_timpl TrivialClone for float64x1x4_timpl TrivialClone for float64x2_timpl TrivialClone for float64x2x2_timpl TrivialClone for float64x2x3_timpl TrivialClone for float64x2x4_timpl TrivialClone for i128impl TrivialClone for i16impl TrivialClone for i32impl TrivialClone for i64impl TrivialClone for i8impl TrivialClone for int16x4_timpl TrivialClone for int16x4x2_timpl TrivialClone for int16x4x3_timpl TrivialClone for int16x4x4_timpl TrivialClone for int16x8_timpl TrivialClone for int16x8x2_timpl TrivialClone for int16x8x3_timpl TrivialClone for int16x8x4_timpl TrivialClone for int32x2_timpl TrivialClone for int32x2x2_timpl TrivialClone for int32x2x3_timpl TrivialClone for int32x2x4_timpl TrivialClone for int32x4_timpl TrivialClone for int32x4x2_timpl TrivialClone for int32x4x3_timpl TrivialClone for int32x4x4_timpl TrivialClone for int64x1_timpl TrivialClone for int64x1x2_timpl TrivialClone for int64x1x3_timpl TrivialClone for int64x1x4_timpl TrivialClone for int64x2_timpl TrivialClone for int64x2x2_timpl TrivialClone for int64x2x3_timpl TrivialClone for int64x2x4_timpl TrivialClone for int8x16_timpl TrivialClone for int8x16x2_timpl TrivialClone for int8x16x3_timpl TrivialClone for int8x16x4_timpl TrivialClone for int8x8_timpl TrivialClone for int8x8x2_timpl TrivialClone for int8x8x3_timpl TrivialClone for int8x8x4_timpl TrivialClone for iovecimpl TrivialClone for isizeimpl TrivialClone for m128impl TrivialClone for m128dimpl TrivialClone for m128iimpl TrivialClone for m256impl TrivialClone for m256dimpl TrivialClone for m256iimpl TrivialClone for neverimpl TrivialClone for nxv2i16impl TrivialClone for nxv2i32impl TrivialClone for nxv2i8impl TrivialClone for nxv2u16impl TrivialClone for nxv2u32impl TrivialClone for nxv2u8impl TrivialClone for nxv4i16impl TrivialClone for nxv4i8impl TrivialClone for nxv4u16impl TrivialClone for nxv4u8impl TrivialClone for nxv8i8impl TrivialClone for nxv8u8impl TrivialClone for poly16x4_timpl TrivialClone for poly16x4x2_timpl TrivialClone for poly16x4x3_timpl TrivialClone for poly16x4x4_timpl TrivialClone for poly16x8_timpl TrivialClone for poly16x8x2_timpl TrivialClone for poly16x8x3_timpl TrivialClone for poly16x8x4_timpl TrivialClone for poly64x1_timpl TrivialClone for poly64x1x2_timpl TrivialClone for poly64x1x3_timpl TrivialClone for poly64x1x4_timpl TrivialClone for poly64x2_timpl TrivialClone for poly64x2x2_timpl TrivialClone for poly64x2x3_timpl TrivialClone for poly64x2x4_timpl TrivialClone for poly8x16_timpl TrivialClone for poly8x16x2_timpl TrivialClone for poly8x16x3_timpl TrivialClone for poly8x16x4_timpl TrivialClone for poly8x8_timpl TrivialClone for poly8x8x2_timpl TrivialClone for poly8x8x3_timpl TrivialClone for poly8x8x4_timpl TrivialClone for svbool2_timpl TrivialClone for svbool4_timpl TrivialClone for svbool8_timpl TrivialClone for svbool_timpl TrivialClone for svfloat32_timpl TrivialClone for svfloat32x2_timpl TrivialClone for svfloat32x3_timpl TrivialClone for svfloat32x4_timpl TrivialClone for svfloat64_timpl TrivialClone for svfloat64x2_timpl TrivialClone for svfloat64x3_timpl TrivialClone for svfloat64x4_timpl TrivialClone for svint16_timpl TrivialClone for svint16x2_timpl TrivialClone for svint16x3_timpl TrivialClone for svint16x4_timpl TrivialClone for svint32_timpl TrivialClone for svint32x2_timpl TrivialClone for svint32x3_timpl TrivialClone for svint32x4_timpl TrivialClone for svint64_timpl TrivialClone for svint64x2_timpl TrivialClone for svint64x3_timpl TrivialClone for svint64x4_timpl TrivialClone for svint8_timpl TrivialClone for svint8x2_timpl TrivialClone for svint8x3_timpl TrivialClone for svint8x4_timpl TrivialClone for svpatternimpl TrivialClone for svprfopimpl TrivialClone for svuint16_timpl TrivialClone for svuint16x2_timpl TrivialClone for svuint16x3_timpl TrivialClone for svuint16x4_timpl TrivialClone for svuint32_timpl TrivialClone for svuint32x2_timpl TrivialClone for svuint32x3_timpl TrivialClone for svuint32x4_timpl TrivialClone for svuint64_timpl TrivialClone for svuint64x2_timpl TrivialClone for svuint64x3_timpl TrivialClone for svuint64x4_timpl TrivialClone for svuint8_timpl TrivialClone for svuint8x2_timpl TrivialClone for svuint8x3_timpl TrivialClone for svuint8x4_timpl TrivialClone for u128impl TrivialClone for u16impl TrivialClone for u32impl TrivialClone for u64impl TrivialClone for u8impl TrivialClone for uint16x4_timpl TrivialClone for uint16x4x2_timpl TrivialClone for uint16x4x3_timpl TrivialClone for uint16x4x4_timpl TrivialClone for uint16x8_timpl TrivialClone for uint16x8x2_timpl TrivialClone for uint16x8x3_timpl TrivialClone for uint16x8x4_timpl TrivialClone for uint32x2_timpl TrivialClone for uint32x2x2_timpl TrivialClone for uint32x2x3_timpl TrivialClone for uint32x2x4_timpl TrivialClone for uint32x4_timpl TrivialClone for uint32x4x2_timpl TrivialClone for uint32x4x3_timpl TrivialClone for uint32x4x4_timpl TrivialClone for uint64x1_timpl TrivialClone for uint64x1x2_timpl TrivialClone for uint64x1x3_timpl TrivialClone for uint64x1x4_timpl TrivialClone for uint64x2_timpl TrivialClone for uint64x2x2_timpl TrivialClone for uint64x2x3_timpl TrivialClone for uint64x2x4_timpl TrivialClone for uint8x16_timpl TrivialClone for uint8x16x2_timpl TrivialClone for uint8x16x3_timpl TrivialClone for uint8x16x4_timpl TrivialClone for uint8x8_timpl TrivialClone for uint8x8x2_timpl TrivialClone for uint8x8x3_timpl TrivialClone for uint8x8x4_timpl TrivialClone for usizeimpl TrivialClone for v128impl TrivialClone for vector_bool_charimpl TrivialClone for vector_bool_charimpl TrivialClone for vector_bool_intimpl TrivialClone for vector_bool_intimpl TrivialClone for vector_bool_longimpl TrivialClone for vector_bool_long_longimpl TrivialClone for vector_bool_shortimpl TrivialClone for vector_bool_shortimpl TrivialClone for vector_doubleimpl TrivialClone for vector_doubleimpl TrivialClone for vector_floatimpl TrivialClone for vector_floatimpl TrivialClone for vector_signed_charimpl TrivialClone for vector_signed_charimpl TrivialClone for vector_signed_intimpl TrivialClone for vector_signed_intimpl TrivialClone for vector_signed_longimpl TrivialClone for vector_signed_long_longimpl TrivialClone for vector_signed_shortimpl TrivialClone for vector_signed_shortimpl TrivialClone for vector_unsigned_charimpl TrivialClone for vector_unsigned_charimpl TrivialClone for vector_unsigned_intimpl TrivialClone for vector_unsigned_intimpl TrivialClone for vector_unsigned_longimpl TrivialClone for vector_unsigned_long_longimpl TrivialClone for vector_unsigned_shortimpl TrivialClone for vector_unsigned_shortimpl<'a> TrivialClone for Argument<'a>impl<'a> TrivialClone for ArgumentType<'a>impl<'a> TrivialClone for Arguments<'a>impl<'a> TrivialClone for IoSlice<'a>impl<'a> TrivialClone for IoSlice<'a>impl<'a> TrivialClone for Location<'a>impl<'a> TrivialClone for Part<'a>impl<'a> TrivialClone for PhantomContravariantLifetime<'a>impl<'a> TrivialClone for PhantomCovariantLifetime<'a>impl<'a> TrivialClone for PhantomInvariantLifetime<'a>impl<'a> TrivialClone for Utf8Pattern<'a>impl<Dyn: PointeeSized> TrivialClone for DynMetadata<Dyn>impl<T> TrivialClone for Discriminant<T>impl<T> TrivialClone for MaybeUninit<T> where MaybeUninit<T>: Clone,impl<T> TrivialClone for NonZero<T> where T: ZeroablePrimitive,impl<T> TrivialClone for Option<T> where T: ~const TrivialClone,impl<T> TrivialClone for PhantomContravariant<T> where T: ?Sized,impl<T> TrivialClone for PhantomCovariant<T> where T: ?Sized,impl<T> TrivialClone for PhantomInvariant<T> where T: ?Sized,impl<T> TrivialClone for SyncView<T> where T: Sync + ~const TrivialClone,impl<T: PointeeSized> TrivialClone for &Timpl<T: PointeeSized> TrivialClone for *const Timpl<T: PointeeSized> TrivialClone for *mut Timpl<T: PointeeSized> TrivialClone for NonNull<T>impl<T: PointeeSized> TrivialClone for PhantomData<T>impl<T: PointeeSized> TrivialClone for Unique<T>impl<T: TrivialClone, const N: usize> TrivialClone for [T; N]impl<const N: usize> TrivialClone for MaybeEscapedCharacter<N>