Trait origin_studio::std::clone::Clone

1.0.0 · source ·
pub trait Clone: Sized {
    // Required method
    fn clone(&self) -> Self;

    // Provided method
    fn clone_from(&mut self, source: &Self) { ... }
}
Expand description

A common trait for the ability to explicitly duplicate an object.

Differs from Copy in that Copy is implicit and an inexpensive bit-wise copy, while Clone is always explicit and may or may not be expensive. In order to enforce these characteristics, Rust does not allow you to reimplement Copy, but you may reimplement Clone and run arbitrary code.

Since Clone is more general than Copy, you can automatically make anything Copy be Clone as well.

Derivable

This trait can be used with #[derive] if all fields are Clone. The derived implementation of Clone calls clone on each field.

For a generic struct, #[derive] implements Clone conditionally by adding bound Clone on generic parameters.

// `derive` implements Clone for Reading<T> when T is Clone.
#[derive(Clone)]
struct Reading<T> {
    frequency: T,
}

How can I implement Clone?

Types that are Copy should have a trivial implementation of Clone. More formally: if T: Copy, x: T, and y: &T, then let x = y.clone(); is equivalent to let x = *y;. Manual implementations should be careful to uphold this invariant; however, unsafe code must not rely on it to ensure memory safety.

An example is a generic struct holding a function pointer. In this case, the implementation of Clone cannot be derived, but can be implemented as:

struct Generate<T>(fn() -> T);

impl<T> Copy for Generate<T> {}

impl<T> Clone for Generate<T> {
    fn clone(&self) -> Self {
        *self
    }
}

If we derive:

#[derive(Copy, Clone)]
struct Generate<T>(fn() -> T);

the auto-derived implementations will have unnecessary T: Copy and T: Clone bounds:


// Automatically derived
impl<T: Copy> Copy for Generate<T> { }

// Automatically derived
impl<T: Clone> Clone for Generate<T> {
    fn clone(&self) -> Generate<T> {
        Generate(Clone::clone(&self.0))
    }
}

The bounds are unnecessary because clearly the function itself should be copy- and cloneable even if its return type is not:

#[derive(Copy, Clone)]
struct Generate<T>(fn() -> T);

struct NotCloneable;

fn generate_not_cloneable() -> NotCloneable {
    NotCloneable
}

Generate(generate_not_cloneable).clone(); // error: trait bounds were not satisfied
// Note: With the manual implementations the above line will compile.

Additional implementors

In addition to the implementors listed below, the following types also implement Clone:

  • Function item types (i.e., the distinct types defined for each function)
  • Function pointer types (e.g., fn() -> i32)
  • Closure types, if they capture no value from the environment or if all such captured values implement Clone themselves. Note that variables captured by shared reference always implement Clone (even if the referent doesn’t), while variables captured by mutable reference never implement Clone.

Required Methods§

source

fn clone(&self) -> Self

Returns a copy of the value.

Examples
let hello = "Hello"; // &str implements Clone

assert_eq!("Hello", hello.clone());

Provided Methods§

source

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source.

a.clone_from(&b) is equivalent to a = b.clone() in functionality, but can be overridden to reuse the resources of a to avoid unnecessary allocations.

Implementors§

source§

impl Clone for AsciiChar

source§

impl Clone for origin_studio::std::cmp::Ordering

source§

impl Clone for TryReserveErrorKind

1.34.0 · source§

impl Clone for Infallible

source§

impl Clone for VarError

1.28.0 · source§

impl Clone for origin_studio::std::fmt::Alignment

1.7.0 · source§

impl Clone for IpAddr

source§

impl Clone for Ipv6MulticastScope

source§

impl Clone for SocketAddr

source§

impl Clone for FpCategory

1.55.0 · source§

impl Clone for IntErrorKind

source§

impl Clone for Which

source§

impl Clone for SearchStep

source§

impl Clone for origin_studio::std::sync::atomic::Ordering

source§

impl Clone for rustix::backend::fs::types::Advice

source§

impl Clone for FileType

source§

impl Clone for FlockOperation

source§

impl Clone for rustix::backend::mm::types::Advice

source§

impl Clone for MembarrierCommand

source§

impl Clone for Resource

source§

impl Clone for FutexOperation

source§

impl Clone for TimerfdClockId

source§

impl Clone for ClockId

source§

impl Clone for SeekFrom

source§

impl Clone for Direction

source§

impl Clone for DumpableBehavior

source§

impl Clone for EndianMode

source§

impl Clone for FloatingPointMode

source§

impl Clone for MachineCheckMemoryCorruptionKillPolicy

source§

impl Clone for PTracer

source§

impl Clone for SpeculationFeature

source§

impl Clone for TimeStampCounterReadability

source§

impl Clone for TimingMethod

source§

impl Clone for VirtualMemoryMapAddress

source§

impl Clone for Signal

source§

impl Clone for NanosleepRelativeResult

source§

impl Clone for Capability

source§

impl Clone for CoreSchedulingScope

source§

impl Clone for SecureComputingMode

source§

impl Clone for SysCallUserDispatchFastSwitch

source§

impl Clone for LinkNameSpaceType

source§

impl Clone for bool

source§

impl Clone for char

source§

impl Clone for f32

source§

impl Clone for f64

source§

impl Clone for i8

source§

impl Clone for i16

source§

impl Clone for i32

source§

impl Clone for i64

source§

impl Clone for i128

source§

impl Clone for isize

source§

impl Clone for !

source§

impl Clone for u8

source§

impl Clone for u16

source§

impl Clone for u32

source§

impl Clone for u64

source§

impl Clone for u128

source§

impl Clone for usize

source§

impl Clone for AllocError

source§

impl Clone for Global

1.28.0 · source§

impl Clone for Layout

1.50.0 · source§

impl Clone for LayoutError

source§

impl Clone for TypeId

1.27.0 · source§

impl Clone for CpuidResult

1.27.0 · source§

impl Clone for __m128

source§

impl Clone for __m128bh

1.27.0 · source§

impl Clone for __m128d

1.27.0 · source§

impl Clone for __m128i

1.27.0 · source§

impl Clone for __m256

source§

impl Clone for __m256bh

1.27.0 · source§

impl Clone for __m256d

1.27.0 · source§

impl Clone for __m256i

1.74.0-nightly · source§

impl Clone for __m512

source§

impl Clone for __m512bh

1.74.0-nightly · source§

impl Clone for __m512d

1.74.0-nightly · source§

impl Clone for __m512i

1.34.0 · source§

impl Clone for TryFromSliceError

source§

impl Clone for origin_studio::std::ascii::EscapeDefault

1.3.0 · source§

impl Clone for Box<str, Global>

1.29.0 · source§

impl Clone for Box<CStr, Global>

1.34.0 · source§

impl Clone for CharTryFromError

1.9.0 · source§

impl Clone for DecodeUtf16Error

1.20.0 · source§

impl Clone for origin_studio::std::char::EscapeDebug

source§

impl Clone for origin_studio::std::char::EscapeDefault

source§

impl Clone for origin_studio::std::char::EscapeUnicode

1.20.0 · source§

impl Clone for ParseCharError

source§

impl Clone for ToLowercase

source§

impl Clone for ToUppercase

1.59.0 · source§

impl Clone for TryFromCharError

1.57.0 · source§

impl Clone for TryReserveError

1.64.0 · source§

impl Clone for CString

1.64.0 · source§

impl Clone for FromVecWithNulError

1.64.0 · source§

impl Clone for IntoStringError

1.64.0 · source§

impl Clone for NulError

source§

impl Clone for origin_studio::std::fmt::Error

source§

impl Clone for SipHasher

1.33.0 · source§

impl Clone for PhantomPinned

source§

impl Clone for Assume

source§

impl Clone for AddrParseError

source§

impl Clone for Ipv4Addr

source§

impl Clone for Ipv6Addr

source§

impl Clone for SocketAddrV4

source§

impl Clone for SocketAddrV6

1.34.0 · source§

impl Clone for NonZeroI8

1.34.0 · source§

impl Clone for NonZeroI16

1.34.0 · source§

impl Clone for NonZeroI32

1.34.0 · source§

impl Clone for NonZeroI64

1.34.0 · source§

impl Clone for NonZeroI128

1.34.0 · source§

impl Clone for NonZeroIsize

1.28.0 · source§

impl Clone for NonZeroU8

1.28.0 · source§

impl Clone for NonZeroU16

1.28.0 · source§

impl Clone for NonZeroU32

1.28.0 · source§

impl Clone for NonZeroU64

1.28.0 · source§

impl Clone for NonZeroU128

1.28.0 · source§

impl Clone for NonZeroUsize

source§

impl Clone for ParseFloatError

source§

impl Clone for ParseIntError

1.34.0 · source§

impl Clone for TryFromIntError

source§

impl Clone for RangeFull

source§

impl Clone for origin_studio::std::ptr::Alignment

source§

impl Clone for ParseBoolError

source§

impl Clone for Utf8Error

source§

impl Clone for FromUtf8Error

source§

impl Clone for String

1.3.0 · source§

impl Clone for Duration

1.66.0 · source§

impl Clone for TryFromFloatSecsError

1.69.0 · source§

impl Clone for FromBytesUntilNulError

1.64.0 · source§

impl Clone for FromBytesWithNulError

source§

impl Clone for TimSortRun

1.36.0 · source§

impl Clone for RawWakerVTable

1.36.0 · source§

impl Clone for Waker

source§

impl Clone for Thread

source§

impl Clone for CreateFlags

source§

impl Clone for WatchFlags

source§

impl Clone for Access

source§

impl Clone for AtFlags

source§

impl Clone for FallocateFlags

source§

impl Clone for MemfdFlags

source§

impl Clone for Mode

source§

impl Clone for OFlags

source§

impl Clone for RenameFlags

source§

impl Clone for ResolveFlags

source§

impl Clone for SealFlags

source§

impl Clone for Stat

source§

impl Clone for StatVfsMountFlags

source§

impl Clone for StatxFlags

source§

impl Clone for Errno

source§

impl Clone for DupFlags

source§

impl Clone for FdFlags

source§

impl Clone for ReadWriteFlags

source§

impl Clone for MapFlags

source§

impl Clone for MlockFlags

source§

impl Clone for MprotectFlags

source§

impl Clone for MremapFlags

source§

impl Clone for MsyncFlags

source§

impl Clone for ProtFlags

source§

impl Clone for UserfaultfdFlags

source§

impl Clone for MountFlags

source§

impl Clone for MountPropagationFlags

source§

impl Clone for UnmountFlags

source§

impl Clone for PipeFlags

source§

impl Clone for SpliceFlags

source§

impl Clone for FutexFlags

source§

impl Clone for TimerfdFlags

source§

impl Clone for TimerfdTimerFlags

source§

impl Clone for Timestamps

source§

impl Clone for XattrFlags

source§

impl Clone for Opcode

source§

impl Clone for Pid

source§

impl Clone for Cpuid

source§

impl Clone for MembarrierQuery

source§

impl Clone for PidfdFlags

source§

impl Clone for PidfdGetfdFlags

source§

impl Clone for FloatingPointEmulationControl

source§

impl Clone for FloatingPointExceptionMode

source§

impl Clone for PrctlMmMap

source§

impl Clone for SpeculationFeatureControl

source§

impl Clone for SpeculationFeatureState

source§

impl Clone for UnalignedAccessControl

source§

impl Clone for Rlimit

source§

impl Clone for CpuSet

source§

impl Clone for WaitOptions

source§

impl Clone for WaitStatus

source§

impl Clone for WaitidOptions

source§

impl Clone for WaitidStatus

source§

impl Clone for CapabilityFlags

source§

impl Clone for CapabilitySets

source§

impl Clone for CapabilitiesSecureBits

source§

impl Clone for SVEVectorLengthConfig

source§

impl Clone for TaggedAddressMode

source§

impl Clone for ThreadNameSpaceType

source§

impl Clone for UnshareFlags

source§

impl Clone for Gid

source§

impl Clone for Uid

§

impl Clone for AArch64

§

impl Clone for ArangeEntry

§

impl Clone for Arm

§

impl Clone for Augmentation

§

impl Clone for BaseAddresses

§

impl Clone for BigEndian

§

impl Clone for DebugTypeSignature

§

impl Clone for DwAccess

§

impl Clone for DwAddr

§

impl Clone for DwAt

§

impl Clone for DwAte

§

impl Clone for DwCc

§

impl Clone for DwCfa

§

impl Clone for DwChildren

§

impl Clone for DwDefaulted

§

impl Clone for DwDs

§

impl Clone for DwDsc

§

impl Clone for DwEhPe

§

impl Clone for DwEnd

§

impl Clone for DwForm

§

impl Clone for DwId

§

impl Clone for DwIdx

§

impl Clone for DwInl

§

impl Clone for DwLang

§

impl Clone for DwLle

§

impl Clone for DwLnct

§

impl Clone for DwLne

§

impl Clone for DwLns

§

impl Clone for DwMacro

§

impl Clone for DwOp

§

impl Clone for DwOrd

§

impl Clone for DwRle

§

impl Clone for DwSect

§

impl Clone for DwSectV2

§

impl Clone for DwTag

§

impl Clone for DwUt

§

impl Clone for DwVirtuality

§

impl Clone for DwVis

§

impl Clone for DwarfFileType

§

impl Clone for DwoId

§

impl Clone for Encoding

§

impl Clone for Error

§

impl Clone for Format

§

impl Clone for LineEncoding

§

impl Clone for LittleEndian

§

impl Clone for Pointer

§

impl Clone for Range

§

impl Clone for ReaderOffsetId

§

impl Clone for Register

§

impl Clone for RiscV

§

impl Clone for RunTimeEndian

§

impl Clone for SectionBaseAddresses

§

impl Clone for SectionId

§

impl Clone for StoreOnHeap

§

impl Clone for UnitIndexSection

§

impl Clone for UnwindAction

§

impl Clone for UnwindReasonCode

§

impl Clone for Value

§

impl Clone for ValueType

§

impl Clone for X86

§

impl Clone for X86_64

§

impl Clone for __kernel_fd_set

§

impl Clone for __kernel_fsid_t

§

impl Clone for __kernel_itimerspec

§

impl Clone for __kernel_old_itimerval

§

impl Clone for __kernel_old_timespec

§

impl Clone for __kernel_old_timeval

§

impl Clone for __kernel_sock_timeval

§

impl Clone for __kernel_timespec

§

impl Clone for __old_kernel_stat

§

impl Clone for __sifields

§

impl Clone for __sifields__bindgen_ty_1

§

impl Clone for __sifields__bindgen_ty_2

§

impl Clone for __sifields__bindgen_ty_3

§

impl Clone for __sifields__bindgen_ty_4

§

impl Clone for __sifields__bindgen_ty_5

§

impl Clone for __sifields__bindgen_ty_5__bindgen_ty_1

§

impl Clone for __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_1

§

impl Clone for __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_2

§

impl Clone for __sifields__bindgen_ty_5__bindgen_ty_1__bindgen_ty_3

§

impl Clone for __sifields__bindgen_ty_6

§

impl Clone for __sifields__bindgen_ty_7

§

impl Clone for __user_cap_data_struct

§

impl Clone for __user_cap_header_struct

§

impl Clone for clone_args

§

impl Clone for compat_statfs64

§

impl Clone for epoll_event

§

impl Clone for f_owner_ex

§

impl Clone for file_clone_range

§

impl Clone for file_dedupe_range_info

§

impl Clone for files_stat_struct

§

impl Clone for flock

§

impl Clone for flock64

§

impl Clone for fsconfig_command

§

impl Clone for fscrypt_get_key_status_arg

§

impl Clone for fscrypt_get_policy_ex_arg

§

impl Clone for fscrypt_get_policy_ex_arg__bindgen_ty_1

§

impl Clone for fscrypt_key

§

impl Clone for fscrypt_key_specifier

§

impl Clone for fscrypt_key_specifier__bindgen_ty_1

§

impl Clone for fscrypt_policy_v1

§

impl Clone for fscrypt_policy_v2

§

impl Clone for fscrypt_remove_key_arg

§

impl Clone for fstrim_range

§

impl Clone for fsxattr

§

impl Clone for futex_waitv

§

impl Clone for inodes_stat_t

§

impl Clone for iovec

§

impl Clone for itimerspec

§

impl Clone for itimerval

§

impl Clone for kernel_sigaction

§

impl Clone for kernel_sigset_t

§

impl Clone for ktermios

§

impl Clone for membarrier_cmd

§

impl Clone for membarrier_cmd_flag

§

impl Clone for mount_attr

§

impl Clone for open_how

§

impl Clone for pollfd

§

impl Clone for prctl_mm_map

§

impl Clone for rlimit

§

impl Clone for rlimit64

§

impl Clone for robust_list

§

impl Clone for robust_list_head

§

impl Clone for rusage

§

impl Clone for sigaction

§

impl Clone for sigaction__bindgen_ty_1

§

impl Clone for sigaltstack

§

impl Clone for sigevent

§

impl Clone for sigevent__bindgen_ty_1

§

impl Clone for sigevent__bindgen_ty_1__bindgen_ty_1

§

impl Clone for siginfo

§

impl Clone for siginfo__bindgen_ty_1

§

impl Clone for siginfo__bindgen_ty_1__bindgen_ty_1

§

impl Clone for sigval

§

impl Clone for stat

§

impl Clone for stat64

§

impl Clone for statfs

§

impl Clone for statfs64

§

impl Clone for statx

§

impl Clone for statx_timestamp

§

impl Clone for termio

§

impl Clone for termios

§

impl Clone for termios2

§

impl Clone for timespec

§

impl Clone for timeval

§

impl Clone for timezone

§

impl Clone for uffd_msg

§

impl Clone for uffd_msg__bindgen_ty_1

§

impl Clone for uffd_msg__bindgen_ty_1__bindgen_ty_1

§

impl Clone for uffd_msg__bindgen_ty_1__bindgen_ty_1__bindgen_ty_1

§

impl Clone for uffd_msg__bindgen_ty_1__bindgen_ty_2

§

impl Clone for uffd_msg__bindgen_ty_1__bindgen_ty_3

§

impl Clone for uffd_msg__bindgen_ty_1__bindgen_ty_4

§

impl Clone for uffd_msg__bindgen_ty_1__bindgen_ty_5

§

impl Clone for uffdio_api

§

impl Clone for uffdio_continue

§

impl Clone for uffdio_copy

§

impl Clone for uffdio_range

§

impl Clone for uffdio_register

§

impl Clone for uffdio_writeprotect

§

impl Clone for uffdio_zeropage

§

impl Clone for user_desc

§

impl Clone for vfs_cap_data

§

impl Clone for vfs_cap_data__bindgen_ty_1

§

impl Clone for vfs_ns_cap_data

§

impl Clone for vfs_ns_cap_data__bindgen_ty_1

§

impl Clone for winsize

source§

impl<'a> Clone for DynamicClockId<'a>

source§

impl<'a> Clone for WaitId<'a>

source§

impl<'a> Clone for Source<'a>

source§

impl<'a> Clone for Arguments<'a>

1.10.0 · source§

impl<'a> Clone for origin_studio::std::panic::Location<'a>

1.60.0 · source§

impl<'a> Clone for EscapeAscii<'a>

source§

impl<'a> Clone for CharSearcher<'a>

source§

impl<'a> Clone for Bytes<'a>

source§

impl<'a> Clone for CharIndices<'a>

source§

impl<'a> Clone for Chars<'a>

1.8.0 · source§

impl<'a> Clone for EncodeUtf16<'a>

1.34.0 · source§

impl<'a> Clone for origin_studio::std::str::EscapeDebug<'a>

1.34.0 · source§

impl<'a> Clone for origin_studio::std::str::EscapeDefault<'a>

1.34.0 · source§

impl<'a> Clone for origin_studio::std::str::EscapeUnicode<'a>

source§

impl<'a> Clone for Lines<'a>

source§

impl<'a> Clone for LinesAny<'a>

1.34.0 · source§

impl<'a> Clone for SplitAsciiWhitespace<'a>

1.1.0 · source§

impl<'a> Clone for SplitWhitespace<'a>

source§

impl<'a> Clone for Utf8Chunk<'a>

source§

impl<'a> Clone for Utf8Chunks<'a>

source§

impl<'a> Clone for IoSlice<'a>

source§

impl<'a, 'b> Clone for CharSliceSearcher<'a, 'b>

source§

impl<'a, 'b> Clone for StrSearcher<'a, 'b>

source§

impl<'a, 'b, const N: usize> Clone for CharArrayRefSearcher<'a, 'b, N>

source§

impl<'a, F> Clone for CharPredicateSearcher<'a, F>where F: Clone + FnMut(char) -> bool,

1.5.0 · source§

impl<'a, P> Clone for MatchIndices<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

1.2.0 · source§

impl<'a, P> Clone for Matches<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

1.5.0 · source§

impl<'a, P> Clone for RMatchIndices<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

1.2.0 · source§

impl<'a, P> Clone for RMatches<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

source§

impl<'a, P> Clone for origin_studio::std::str::RSplit<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

source§

impl<'a, P> Clone for RSplitN<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

source§

impl<'a, P> Clone for RSplitTerminator<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

source§

impl<'a, P> Clone for origin_studio::std::str::Split<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

1.51.0 · source§

impl<'a, P> Clone for origin_studio::std::str::SplitInclusive<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

source§

impl<'a, P> Clone for SplitN<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

source§

impl<'a, P> Clone for SplitTerminator<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

§

impl<'a, R> Clone for CallFrameInstructionIter<'a, R>where R: Clone + Reader,

§

impl<'a, R> Clone for EhHdrTable<'a, R>where R: Clone + Reader,

1.31.0 · source§

impl<'a, T> Clone for RChunksExact<'a, T>

source§

impl<'a, T, const N: usize> Clone for ArrayWindows<'a, T, N>where T: Clone + 'a,

source§

impl<'a, const N: usize> Clone for CharArraySearcher<'a, N>

§

impl<'bases, Section, R> Clone for CfiEntriesIter<'bases, Section, R>where Section: Clone + UnwindSection<R>, R: Clone + Reader,

§

impl<'bases, Section, R> Clone for CieOrFde<'bases, Section, R>where Section: Clone + UnwindSection<R>, R: Clone + Reader,

§

impl<'bases, Section, R> Clone for PartialFrameDescriptionEntry<'bases, Section, R>where Section: Clone + UnwindSection<R>, R: Clone + Reader, <R as Reader>::Offset: Clone, <Section as UnwindSection<R>>::Offset: Clone,

source§

impl<'f> Clone for VaListImpl<'f>

source§

impl<'fd> Clone for BorrowedFd<'fd>

§

impl<'index, R> Clone for UnitIndexSectionIterator<'index, R>where R: Clone + Reader,

§

impl<'input, Endian> Clone for EndianSlice<'input, Endian>where Endian: Clone + Endianity,

§

impl<'iter, R> Clone for RegisterRuleIter<'iter, R>where R: Clone + Reader,

source§

impl<A> Clone for Repeat<A>where A: Clone,

source§

impl<A> Clone for origin_studio::std::option::IntoIter<A>where A: Clone,

source§

impl<A> Clone for origin_studio::std::option::Iter<'_, A>

source§

impl<A, B> Clone for Chain<A, B>where A: Clone, B: Clone,

source§

impl<A, B> Clone for Zip<A, B>where A: Clone, B: Clone,

source§

impl<B> Clone for Cow<'_, B>where B: ToOwned + ?Sized,

1.55.0 · source§

impl<B, C> Clone for ControlFlow<B, C>where B: Clone, C: Clone,

source§

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

1.34.0 · source§

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

1.43.0 · source§

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

1.28.0 · source§

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

1.7.0 · source§

impl<H> Clone for BuildHasherDefault<H>

source§

impl<I> Clone for FromIter<I>where I: Clone,

1.9.0 · source§

impl<I> Clone for DecodeUtf16<I>where I: Clone + Iterator<Item = u16>,

1.1.0 · source§

impl<I> Clone for Cloned<I>where I: Clone,

1.36.0 · source§

impl<I> Clone for Copied<I>where I: Clone,

source§

impl<I> Clone for Cycle<I>where I: Clone,

source§

impl<I> Clone for Enumerate<I>where I: Clone,

source§

impl<I> Clone for Fuse<I>where I: Clone,

source§

impl<I> Clone for Intersperse<I>where I: Clone + Iterator, <I as Iterator>::Item: Clone,

source§

impl<I> Clone for Peekable<I>where I: Clone + Iterator, <I as Iterator>::Item: Clone,

source§

impl<I> Clone for Skip<I>where I: Clone,

1.28.0 · source§

impl<I> Clone for StepBy<I>where I: Clone,

source§

impl<I> Clone for Take<I>where I: Clone,

source§

impl<I, F> Clone for FilterMap<I, F>where I: Clone, F: Clone,

source§

impl<I, F> Clone for Inspect<I, F>where I: Clone, F: Clone,

source§

impl<I, F> Clone for Map<I, F>where I: Clone, F: Clone,

source§

impl<I, F, const N: usize> Clone for MapWindows<I, F, N>where I: Iterator + Clone, F: Clone, <I as Iterator>::Item: Clone,

source§

impl<I, G> Clone for IntersperseWith<I, G>where I: Iterator + Clone, <I as Iterator>::Item: Clone, G: Clone,

source§

impl<I, P> Clone for Filter<I, P>where I: Clone, P: Clone,

1.57.0 · source§

impl<I, P> Clone for MapWhile<I, P>where I: Clone, P: Clone,

source§

impl<I, P> Clone for SkipWhile<I, P>where I: Clone, P: Clone,

source§

impl<I, P> Clone for TakeWhile<I, P>where I: Clone, P: Clone,

source§

impl<I, St, F> Clone for Scan<I, St, F>where I: Clone, St: Clone, F: Clone,

1.29.0 · source§

impl<I, U> Clone for Flatten<I>where I: Clone + Iterator, <I as Iterator>::Item: IntoIterator<IntoIter = U, Item = <U as Iterator>::Item>, U: Clone + Iterator,

source§

impl<I, U, F> Clone for FlatMap<I, U, F>where I: Clone, F: Clone, U: Clone + IntoIterator, <U as IntoIterator>::IntoIter: Clone,

source§

impl<I, const N: usize> Clone for origin_studio::std::iter::ArrayChunks<I, N>where I: Clone + Iterator, <I as Iterator>::Item: Clone,

source§

impl<Idx> Clone for origin_studio::std::ops::Range<Idx>where Idx: Clone,

source§

impl<Idx> Clone for RangeFrom<Idx>where Idx: Clone,

1.26.0 · source§

impl<Idx> Clone for RangeInclusive<Idx>where Idx: Clone,

source§

impl<Idx> Clone for RangeTo<Idx>where Idx: Clone,

1.26.0 · source§

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

source§

impl<K, V> Clone for origin_studio::std::collections::btree_map::Cursor<'_, K, V>

source§

impl<K, V> Clone for origin_studio::std::collections::btree_map::Iter<'_, K, V>

source§

impl<K, V> Clone for Keys<'_, K, V>

1.17.0 · source§

impl<K, V> Clone for origin_studio::std::collections::btree_map::Range<'_, K, V>

source§

impl<K, V> Clone for Values<'_, K, V>

source§

impl<K, V, A> Clone for BTreeMap<K, V, A>where K: Clone, V: Clone, A: Allocator + Clone,

1.33.0 · source§

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

§

impl<R> Clone for ArangeEntryIter<R>where R: Clone + Reader,

§

impl<R> Clone for ArangeHeaderIter<R>where R: Clone + Reader, <R as Reader>::Offset: Clone,

§

impl<R> Clone for CallFrameInstruction<R>where R: Clone + Reader,

§

impl<R> Clone for CfaRule<R>where R: Clone + Reader,

§

impl<R> Clone for DebugAddr<R>where R: Clone,

§

impl<R> Clone for DebugAranges<R>where R: Clone,

§

impl<R> Clone for DebugCuIndex<R>where R: Clone,

§

impl<R> Clone for DebugFrame<R>where R: Clone + Reader,

§

impl<R> Clone for DebugLineStr<R>where R: Clone,

§

impl<R> Clone for DebugLoc<R>where R: Clone,

§

impl<R> Clone for DebugLocLists<R>where R: Clone,

§

impl<R> Clone for DebugRanges<R>where R: Clone,

§

impl<R> Clone for DebugRngLists<R>where R: Clone,

§

impl<R> Clone for DebugStr<R>where R: Clone,

§

impl<R> Clone for DebugStrOffsets<R>where R: Clone,

§

impl<R> Clone for DebugTuIndex<R>where R: Clone,

§

impl<R> Clone for EhFrame<R>where R: Clone + Reader,

§

impl<R> Clone for EhFrameHdr<R>where R: Clone + Reader,

§

impl<R> Clone for Expression<R>where R: Clone + Reader,

§

impl<R> Clone for LocationListEntry<R>where R: Clone + Reader,

§

impl<R> Clone for LocationLists<R>where R: Clone,

§

impl<R> Clone for OperationIter<R>where R: Clone + Reader,

§

impl<R> Clone for ParsedEhFrameHdr<R>where R: Clone + Reader,

§

impl<R> Clone for RangeLists<R>where R: Clone,

§

impl<R> Clone for RawLocListEntry<R>where R: Clone + Reader, <R as Reader>::Offset: Clone,

§

impl<R> Clone for RegisterRule<R>where R: Clone + Reader,

§

impl<R> Clone for UnitIndex<R>where R: Clone + Reader,

§

impl<R, A> Clone for UnwindContext<R, A>where R: Clone + Reader, A: Clone + UnwindContextStorage<R>, <A as UnwindContextStorage<R>>::Stack: Clone,

§

impl<R, Offset> Clone for ArangeHeader<R, Offset>where R: Clone + Reader<Offset = Offset>, Offset: Clone + ReaderOffset,

§

impl<R, Offset> Clone for CommonInformationEntry<R, Offset>where R: Clone + Reader<Offset = Offset>, Offset: Clone + ReaderOffset,

§

impl<R, Offset> Clone for FrameDescriptionEntry<R, Offset>where R: Clone + Reader<Offset = Offset>, Offset: Clone + ReaderOffset,

§

impl<R, Offset> Clone for Location<R, Offset>where R: Clone + Reader<Offset = Offset>, Offset: Clone + ReaderOffset,

§

impl<R, Offset> Clone for Operation<R, Offset>where R: Clone + Reader<Offset = Offset>, Offset: Clone + ReaderOffset,

§

impl<R, Offset> Clone for Piece<R, Offset>where R: Clone + Reader<Offset = Offset>, Offset: Clone + ReaderOffset,

§

impl<R, S> Clone for UnwindTableRow<R, S>where R: Reader, S: UnwindContextStorage<R>,

§

impl<Storage> Clone for __BindgenBitfieldUnit<Storage>where Storage: Clone,

source§

impl<T> !Clone for &mut Twhere T: ?Sized,

Shared references can be cloned, but mutable references cannot!

1.17.0 · source§

impl<T> Clone for Bound<T>where T: Clone,

source§

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

1.36.0 · source§

impl<T> Clone for Poll<T>where T: Clone,

source§

impl<T> Clone for *const Twhere T: ?Sized,

source§

impl<T> Clone for *mut Twhere T: ?Sized,

source§

impl<T> Clone for &Twhere T: ?Sized,

Shared references can be cloned, but mutable references cannot!

source§

impl<T> Clone for Cell<T>where T: Copy,

1.70.0 · source§

impl<T> Clone for OnceCell<T>where T: Clone,

source§

impl<T> Clone for RefCell<T>where T: Clone,

1.19.0 · source§

impl<T> Clone for Reverse<T>where T: Clone,

source§

impl<T> Clone for origin_studio::std::collections::binary_heap::Iter<'_, T>

source§

impl<T> Clone for origin_studio::std::collections::btree_set::Iter<'_, T>

1.17.0 · source§

impl<T> Clone for origin_studio::std::collections::btree_set::Range<'_, T>

source§

impl<T> Clone for SymmetricDifference<'_, T>

source§

impl<T> Clone for Union<'_, T>

source§

impl<T> Clone for origin_studio::std::collections::linked_list::Iter<'_, T>

source§

impl<T> Clone for origin_studio::std::collections::vec_deque::Iter<'_, T>

1.48.0 · source§

impl<T> Clone for Pending<T>

1.48.0 · source§

impl<T> Clone for Ready<T>where T: Clone,

1.2.0 · source§

impl<T> Clone for Empty<T>

1.2.0 · source§

impl<T> Clone for Once<T>where T: Clone,

source§

impl<T> Clone for Rev<T>where T: Clone,

source§

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

1.21.0 · source§

impl<T> Clone for Discriminant<T>

1.20.0 · source§

impl<T> Clone for ManuallyDrop<T>where T: Clone + ?Sized,

source§

impl<T> Clone for Saturating<T>where T: Clone,

source§

impl<T> Clone for Wrapping<T>where T: Clone,

1.25.0 · source§

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

source§

impl<T> Clone for origin_studio::std::result::IntoIter<T>where T: Clone,

source§

impl<T> Clone for origin_studio::std::result::Iter<'_, T>

source§

impl<T> Clone for Chunks<'_, T>

1.31.0 · source§

impl<T> Clone for ChunksExact<'_, T>

source§

impl<T> Clone for origin_studio::std::slice::Iter<'_, T>

1.31.0 · source§

impl<T> Clone for RChunks<'_, T>

source§

impl<T> Clone for Windows<'_, T>

1.36.0 · source§

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

§

impl<T> Clone for DebugAbbrevOffset<T>where T: Clone,

§

impl<T> Clone for DebugAddrBase<T>where T: Clone,

§

impl<T> Clone for DebugAddrIndex<T>where T: Clone,

§

impl<T> Clone for DebugArangesOffset<T>where T: Clone,

§

impl<T> Clone for DebugFrameOffset<T>where T: Clone,

§

impl<T> Clone for DebugInfoOffset<T>where T: Clone,

§

impl<T> Clone for DebugLineOffset<T>where T: Clone,

§

impl<T> Clone for DebugLineStrOffset<T>where T: Clone,

§

impl<T> Clone for DebugLocListsBase<T>where T: Clone,

§

impl<T> Clone for DebugLocListsIndex<T>where T: Clone,

§

impl<T> Clone for DebugMacinfoOffset<T>where T: Clone,

§

impl<T> Clone for DebugMacroOffset<T>where T: Clone,

§

impl<T> Clone for DebugRngListsBase<T>where T: Clone,

§

impl<T> Clone for DebugRngListsIndex<T>where T: Clone,

§

impl<T> Clone for DebugStrOffset<T>where T: Clone,

§

impl<T> Clone for DebugStrOffsetsBase<T>where T: Clone,

§

impl<T> Clone for DebugStrOffsetsIndex<T>where T: Clone,

§

impl<T> Clone for DebugTypesOffset<T>where T: Clone,

§

impl<T> Clone for DieReference<T>where T: Clone,

§

impl<T> Clone for EhFrameOffset<T>where T: Clone,

§

impl<T> Clone for LocationListsOffset<T>where T: Clone,

§

impl<T> Clone for RangeListsOffset<T>where T: Clone,

§

impl<T> Clone for RawRangeListsOffset<T>where T: Clone,

§

impl<T> Clone for RawRngListEntry<T>where T: Clone,

§

impl<T> Clone for UnitOffset<T>where T: Clone,

§

impl<T> Clone for UnitSectionOffset<T>where T: Clone,

1.3.0 · source§

impl<T, A> Clone for Box<[T], A>where T: Clone, A: Allocator + Clone,

source§

impl<T, A> Clone for Box<T, A>where T: Clone, A: Allocator + Clone,

source§

impl<T, A> Clone for origin_studio::std::collections::binary_heap::IntoIter<T, A>where T: Clone, A: Clone + Allocator,

source§

impl<T, A> Clone for IntoIterSorted<T, A>where T: Clone, A: Clone + Allocator,

source§

impl<T, A> Clone for Difference<'_, T, A>where A: Allocator + Clone,

source§

impl<T, A> Clone for Intersection<'_, T, A>where A: Allocator + Clone,

source§

impl<T, A> Clone for origin_studio::std::collections::linked_list::Cursor<'_, T, A>where A: Allocator,

source§

impl<T, A> Clone for origin_studio::std::collections::linked_list::IntoIter<T, A>where T: Clone, A: Clone + Allocator,

source§

impl<T, A> Clone for BTreeSet<T, A>where T: Clone, A: Allocator + Clone,

source§

impl<T, A> Clone for BinaryHeap<T, A>where T: Clone, A: Allocator + Clone,

source§

impl<T, A> Clone for LinkedList<T, A>where T: Clone, A: Allocator + Clone,

source§

impl<T, A> Clone for VecDeque<T, A>where T: Clone, A: Allocator + Clone,

source§

impl<T, A> Clone for origin_studio::std::collections::vec_deque::IntoIter<T, A>where T: Clone, A: Clone + Allocator,

source§

impl<T, A> Clone for Rc<T, A>where A: Allocator + Clone, T: ?Sized,

1.4.0 · source§

impl<T, A> Clone for origin_studio::std::rc::Weak<T, A>where A: Allocator + Clone, T: ?Sized,

source§

impl<T, A> Clone for Arc<T, A>where A: Allocator + Clone, T: ?Sized,

1.4.0 · source§

impl<T, A> Clone for origin_studio::std::sync::Weak<T, A>where A: Allocator + Clone, T: ?Sized,

1.8.0 · source§

impl<T, A> Clone for origin_studio::std::vec::IntoIter<T, A>where T: Clone, A: Allocator + Clone,

source§

impl<T, A> Clone for Vec<T, A>where T: Clone, A: Allocator + Clone,

source§

impl<T, E> Clone for Result<T, E>where T: Clone, E: Clone,

1.34.0 · source§

impl<T, F> Clone for Successors<T, F>where T: Clone, F: Clone,

1.27.0 · source§

impl<T, P> Clone for origin_studio::std::slice::RSplit<'_, T, P>where P: Clone + FnMut(&T) -> bool,

source§

impl<T, P> Clone for origin_studio::std::slice::Split<'_, T, P>where P: Clone + FnMut(&T) -> bool,

1.51.0 · source§

impl<T, P> Clone for origin_studio::std::slice::SplitInclusive<'_, T, P>where P: Clone + FnMut(&T) -> bool,

source§

impl<T, const LANES: usize> Clone for Mask<T, LANES>where T: MaskElement, LaneCount<LANES>: SupportedLaneCount,

1.58.0 · source§

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

1.40.0 · source§

impl<T, const N: usize> Clone for origin_studio::std::array::IntoIter<T, N>where T: Clone,

source§

impl<T, const N: usize> Clone for Simd<T, N>where LaneCount<N>: SupportedLaneCount, T: SimdElement,

source§

impl<T, const N: usize> Clone for origin_studio::std::slice::ArrayChunks<'_, T, N>

source§

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