TrivialClone

Trait TrivialClone 

Source
pub unsafe trait TrivialClone: Clone { }
๐Ÿ”ฌThis is a nightly-only experimental API. (trivial_clone)
Expand description

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.

Dyn Compatibilityยง

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementorsยง

Sourceยง

impl TrivialClone for BigEndian

Sourceยง

impl TrivialClone for LittleEndian

Sourceยง

impl TrivialClone for CastType

Sourceยง

impl TrivialClone for BecauseExclusive

Sourceยง

impl TrivialClone for BecauseImmutable

Sourceยง

impl TrivialClone for AsciiChar

1.0.0 (const: unstable) ยท Sourceยง

impl TrivialClone for zerocopy::util::macro_util::core_reexport::cmp::Ordering

1.64.0 ยท Sourceยง

impl TrivialClone for FromBytesWithNulError

1.28.0 ยท Sourceยง

impl TrivialClone for zerocopy::util::macro_util::core_reexport::fmt::Alignment

Sourceยง

impl TrivialClone for DebugAsHex

Sourceยง

impl TrivialClone for zerocopy::util::macro_util::core_reexport::fmt::Sign

Sourceยง

impl TrivialClone for Locality

1.7.0 ยท Sourceยง

impl TrivialClone for IpAddr

Sourceยง

impl TrivialClone for Ipv6MulticastScope

1.0.0 ยท Sourceยง

impl TrivialClone for SocketAddr

1.0.0 ยท Sourceยง

impl TrivialClone for FpCategory

1.55.0 ยท Sourceยง

impl TrivialClone for IntErrorKind

Sourceยง

impl TrivialClone for FullDecoded

Sourceยง

impl TrivialClone for zerocopy::util::macro_util::core_reexport::num::flt2dec::Sign

Sourceยง

impl TrivialClone for SearchStep

1.0.0 ยท Sourceยง

impl TrivialClone for zerocopy::util::macro_util::core_reexport::sync::atomic::Ordering

Sourceยง

impl TrivialClone for bool

Sourceยง

impl TrivialClone for char

Sourceยง

impl TrivialClone for f16

Sourceยง

impl TrivialClone for f32

Sourceยง

impl TrivialClone for f64

Sourceยง

impl TrivialClone for f128

Sourceยง

impl TrivialClone for i8

Sourceยง

impl TrivialClone for i16

Sourceยง

impl TrivialClone for i32

Sourceยง

impl TrivialClone for i64

Sourceยง

impl TrivialClone for i128

Sourceยง

impl TrivialClone for isize

Sourceยง

impl TrivialClone for !

Sourceยง

impl TrivialClone for u8

Sourceยง

impl TrivialClone for u16

Sourceยง

impl TrivialClone for u32

Sourceยง

impl TrivialClone for u64

Sourceยง

impl TrivialClone for u128

Sourceยง

impl TrivialClone for usize

Sourceยง

impl TrivialClone for zerocopy::error::AllocError

Sourceยง

impl TrivialClone for DstLayout

Sourceยง

impl TrivialClone for IdCast

Sourceยง

impl TrivialClone for zerocopy::util::macro_util::core_reexport::alloc::AllocError

1.28.0 ยท Sourceยง

impl TrivialClone for Layout

1.0.0 (const: unstable) ยท Sourceยง

impl TrivialClone for TypeId

1.27.0 ยท Sourceยง

impl TrivialClone for CpuidResult

1.27.0 ยท Sourceยง

impl TrivialClone for __m128

1.89.0 ยท Sourceยง

impl TrivialClone for __m128bh

1.27.0 ยท Sourceยง

impl TrivialClone for __m128d

Sourceยง

impl TrivialClone for __m128h

1.27.0 ยท Sourceยง

impl TrivialClone for __m128i

1.27.0 ยท Sourceยง

impl TrivialClone for __m256

1.89.0 ยท Sourceยง

impl TrivialClone for __m256bh

1.27.0 ยท Sourceยง

impl TrivialClone for __m256d

Sourceยง

impl TrivialClone for __m256h

1.27.0 ยท Sourceยง

impl TrivialClone for __m256i

1.72.0 ยท Sourceยง

impl TrivialClone for __m512

1.89.0 ยท Sourceยง

impl TrivialClone for __m512bh

1.72.0 ยท Sourceยง

impl TrivialClone for __m512d

Sourceยง

impl TrivialClone for __m512h

1.72.0 ยท Sourceยง

impl TrivialClone for __m512i

Sourceยง

impl TrivialClone for bf16

1.34.0 ยท Sourceยง

impl TrivialClone for TryFromSliceError

1.34.0 ยท Sourceยง

impl TrivialClone for CharTryFromError

1.59.0 ยท Sourceยง

impl TrivialClone for TryFromCharError

1.0.0 ยท Sourceยง

impl TrivialClone for Error

Sourceยง

impl TrivialClone for FormattingOptions

Sourceยง

impl TrivialClone for ResumeTy

1.33.0 ยท Sourceยง

impl TrivialClone for PhantomPinned

Sourceยง

impl TrivialClone for Assume

1.0.0 ยท Sourceยง

impl TrivialClone for Ipv4Addr

1.0.0 ยท Sourceยง

impl TrivialClone for Ipv6Addr

1.0.0 ยท Sourceยง

impl TrivialClone for SocketAddrV4

1.0.0 ยท Sourceยง

impl TrivialClone for SocketAddrV6

Sourceยง

impl TrivialClone for Decimal

Sourceยง

impl TrivialClone for Fp

Sourceยง

impl TrivialClone for Decoded

Sourceยง

impl TrivialClone for CodePointInner

Sourceยง

impl TrivialClone for I32NotAllOnes

Sourceยง

impl TrivialClone for I64NotAllOnes

Sourceยง

impl TrivialClone for Nanoseconds

Sourceยง

impl TrivialClone for NonZeroCharInner

Sourceยง

impl TrivialClone for NonZeroI8Inner

Sourceยง

impl TrivialClone for NonZeroI16Inner

Sourceยง

impl TrivialClone for NonZeroI32Inner

Sourceยง

impl TrivialClone for NonZeroI64Inner

Sourceยง

impl TrivialClone for NonZeroI128Inner

Sourceยง

impl TrivialClone for NonZeroIsizeInner

Sourceยง

impl TrivialClone for NonZeroU8Inner

Sourceยง

impl TrivialClone for NonZeroU16Inner

Sourceยง

impl TrivialClone for NonZeroU32Inner

Sourceยง

impl TrivialClone for NonZeroU64Inner

Sourceยง

impl TrivialClone for NonZeroU128Inner

Sourceยง

impl TrivialClone for NonZeroUsizeInner

Sourceยง

impl TrivialClone for U32NotAllOnes

Sourceยง

impl TrivialClone for U64NotAllOnes

Sourceยง

impl TrivialClone for UsizeNoHighBit

1.34.0 ยท Sourceยง

impl TrivialClone for TryFromIntError

1.0.0 (const: unstable) ยท Sourceยง

impl TrivialClone for RangeFull

Sourceยง

impl TrivialClone for zerocopy::util::macro_util::core_reexport::ptr::Alignment

1.0.0 ยท Sourceยง

impl TrivialClone for Utf8Error

1.36.0 ยท Sourceยง

impl TrivialClone for RawWakerVTable

1.3.0 ยท Sourceยง

impl TrivialClone for Duration

Sourceยง

impl TrivialClone for CodePoint

Sourceยง

impl<'a> TrivialClone for Part<'a>

Sourceยง

impl<'a> TrivialClone for Utf8Pattern<'a>

1.0.0 ยท Sourceยง

impl<'a> TrivialClone for Arguments<'a>

Sourceยง

impl<'a> TrivialClone for PhantomContravariantLifetime<'a>

Sourceยง

impl<'a> TrivialClone for PhantomCovariantLifetime<'a>

Sourceยง

impl<'a> TrivialClone for PhantomInvariantLifetime<'a>

1.10.0 ยท Sourceยง

impl<'a> TrivialClone for Location<'a>

Sourceยง

impl<Dyn> TrivialClone for DynMetadata<Dyn>
where Dyn: ?Sized,

Sourceยง

impl<T> TrivialClone for Option<T>
where T: TrivialClone,

Sourceยง

impl<T> TrivialClone for *const T
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for *mut T
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for &T
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for PhantomContravariant<T>
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for PhantomCovariant<T>
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for PhantomData<T>
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for PhantomInvariant<T>
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for Discriminant<T>

Sourceยง

impl<T> TrivialClone for NonZero<T>

Sourceยง

impl<T> TrivialClone for NonNull<T>
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for Unique<T>
where T: ?Sized,

Sourceยง

impl<T> TrivialClone for Exclusive<T>
where T: Sync + TrivialClone,

Sourceยง

impl<T> TrivialClone for MaybeUninit<T>
where MaybeUninit<T>: Clone,

Sourceยง

impl<T, const N: usize> TrivialClone for [T; N]
where T: TrivialClone,