wiwi::prelude_std

Trait 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§

1.0.0 · 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§

1.0.0 · 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.

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§

1.0.0 · Source§

impl Clone for wiwi::prelude_std::atomic::Ordering

1.0.0 · Source§

impl Clone for wiwi::prelude_std::cmp::Ordering

1.34.0 · Source§

impl Clone for Infallible

1.0.0 · Source§

impl Clone for VarError

1.28.0 · Source§

impl Clone for wiwi::prelude_std::fmt::Alignment

Source§

impl Clone for alloc::collections::TryReserveErrorKind

Source§

impl Clone for AsciiChar

1.7.0 · Source§

impl Clone for IpAddr

Source§

impl Clone for Ipv6MulticastScope

1.0.0 · Source§

impl Clone for core::net::socket_addr::SocketAddr

1.0.0 · Source§

impl Clone for FpCategory

1.55.0 · Source§

impl Clone for IntErrorKind

1.0.0 · Source§

impl Clone for SeekFrom

1.0.0 · Source§

impl Clone for ErrorKind

1.0.0 · Source§

impl Clone for Shutdown

1.12.0 · Source§

impl Clone for RecvTimeoutError

1.0.0 · Source§

impl Clone for std::sync::mpsc::TryRecvError

Source§

impl Clone for _Unwind_Action

Source§

impl Clone for _Unwind_Reason_Code

Source§

impl Clone for Colons

Source§

impl Clone for Fixed

Source§

impl Clone for Numeric

Source§

impl Clone for OffsetPrecision

Source§

impl Clone for Pad

Source§

impl Clone for ParseErrorKind

Source§

impl Clone for SecondsFormat

Source§

impl Clone for Month

Source§

impl Clone for RoundingError

Source§

impl Clone for Weekday

Source§

impl Clone for BacktraceStyle

Source§

impl Clone for SearchStep

1.0.0 · Source§

impl Clone for bool

1.0.0 · Source§

impl Clone for char

1.0.0 · Source§

impl Clone for f16

1.0.0 · Source§

impl Clone for f32

1.0.0 · Source§

impl Clone for f64

1.0.0 · Source§

impl Clone for f128

1.0.0 · Source§

impl Clone for i8

1.0.0 · Source§

impl Clone for i16

1.0.0 · Source§

impl Clone for i32

1.0.0 · Source§

impl Clone for i64

1.0.0 · Source§

impl Clone for i128

1.0.0 · Source§

impl Clone for isize

Source§

impl Clone for !

1.0.0 · Source§

impl Clone for u8

1.0.0 · Source§

impl Clone for u16

1.0.0 · Source§

impl Clone for u32

1.0.0 · Source§

impl Clone for u64

1.0.0 · Source§

impl Clone for u128

1.0.0 · Source§

impl Clone for usize

Source§

impl Clone for wiwi::prelude_std::alloc_mod::AllocError

Source§

impl Clone for wiwi::prelude_std::alloc_mod::Global

1.28.0 · Source§

impl Clone for Layout

1.50.0 · Source§

impl Clone for LayoutError

1.28.0 · Source§

impl Clone for System

1.34.0 · Source§

impl Clone for TryFromSliceError

1.0.0 · Source§

impl Clone for wiwi::prelude_std::fmt::Error

1.7.0 · Source§

impl Clone for DefaultHasher

1.7.0 · Source§

impl Clone for wiwi::prelude_std::hash::RandomState

1.0.0 · Source§

impl Clone for SipHasher

Source§

impl Clone for UnorderedKeyError

1.57.0 · Source§

impl Clone for alloc::collections::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

1.0.0 · Source§

impl Clone for core::ascii::EscapeDefault

1.34.0 · Source§

impl Clone for CharTryFromError

1.20.0 · Source§

impl Clone for ParseCharError

1.9.0 · Source§

impl Clone for DecodeUtf16Error

1.20.0 · Source§

impl Clone for core::char::EscapeDebug

1.0.0 · Source§

impl Clone for core::char::EscapeDefault

1.0.0 · Source§

impl Clone for core::char::EscapeUnicode

1.0.0 · Source§

impl Clone for ToLowercase

1.0.0 · Source§

impl Clone for ToUppercase

1.59.0 · Source§

impl Clone for TryFromCharError

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

Source§

impl Clone for __m128h

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

Source§

impl Clone for __m256h

1.27.0 · Source§

impl Clone for __m256i

1.72.0 · Source§

impl Clone for __m512

Source§

impl Clone for __m512bh

1.72.0 · Source§

impl Clone for __m512d

Source§

impl Clone for __m512h

1.72.0 · Source§

impl Clone for __m512i

Source§

impl Clone for bf16

1.69.0 · Source§

impl Clone for FromBytesUntilNulError

1.64.0 · Source§

impl Clone for FromBytesWithNulError

1.0.0 · Source§

impl Clone for Ipv4Addr

1.0.0 · Source§

impl Clone for Ipv6Addr

1.0.0 · Source§

impl Clone for AddrParseError

1.0.0 · Source§

impl Clone for SocketAddrV4

1.0.0 · Source§

impl Clone for SocketAddrV6

1.0.0 · Source§

impl Clone for ParseFloatError

1.0.0 · Source§

impl Clone for ParseIntError

1.34.0 · Source§

impl Clone for TryFromIntError

Source§

impl Clone for LocalWaker

1.36.0 · Source§

impl Clone for RawWakerVTable

1.36.0 · Source§

impl Clone for Waker

1.3.0 · Source§

impl Clone for Duration

1.66.0 · Source§

impl Clone for TryFromFloatSecsError

1.0.0 · Source§

impl Clone for OsString

1.75.0 · Source§

impl Clone for FileTimes

1.1.0 · Source§

impl Clone for FileType

1.0.0 · Source§

impl Clone for Metadata

1.0.0 · Source§

impl Clone for std::fs::OpenOptions

1.0.0 · Source§

impl Clone for Permissions

1.0.0 · Source§

impl Clone for std::io::util::Empty

1.0.0 · Source§

impl Clone for Sink

1.1.0 · Source§

impl Clone for std::os::linux::raw::arch::stat

1.10.0 · Source§

impl Clone for std::os::unix::net::addr::SocketAddr

Source§

impl Clone for SocketCred

Source§

impl Clone for std::os::unix::net::ucred::UCred

1.0.0 · Source§

impl Clone for PathBuf

1.7.0 · Source§

impl Clone for StripPrefixError

1.61.0 · Source§

impl Clone for ExitCode

1.0.0 · Source§

impl Clone for ExitStatus

Source§

impl Clone for ExitStatusError

1.0.0 · Source§

impl Clone for Output

Source§

impl Clone for DefaultRandomSource

1.5.0 · Source§

impl Clone for std::sync::condvar::WaitTimeoutResult

1.0.0 · Source§

impl Clone for std::sync::mpsc::RecvError

1.26.0 · Source§

impl Clone for AccessError

1.0.0 · Source§

impl Clone for Thread

1.19.0 · Source§

impl Clone for ThreadId

1.8.0 · Source§

impl Clone for std::time::Instant

1.8.0 · Source§

impl Clone for SystemTime

1.8.0 · Source§

impl Clone for SystemTimeError

Source§

impl Clone for Parsed

Source§

impl Clone for InternalFixed

Source§

impl Clone for InternalNumeric

Source§

impl Clone for OffsetFormat

Source§

impl Clone for ParseError

Source§

impl Clone for Months

Source§

impl Clone for ParseMonthError

Source§

impl Clone for NaiveDate

Source§

impl Clone for NaiveDateDaysIterator

Source§

impl Clone for NaiveDateWeeksIterator

Source§

impl Clone for NaiveDateTime

Source§

impl Clone for IsoWeek

Source§

impl Clone for Days

Source§

impl Clone for NaiveTime

Source§

impl Clone for FixedOffset

Source§

impl Clone for Local

Source§

impl Clone for Utc

Source§

impl Clone for OutOfRange

Source§

impl Clone for OutOfRangeError

Source§

impl Clone for TimeDelta

Source§

impl Clone for ParseWeekdayError

Source§

impl Clone for Assume

1.0.0 · Source§

impl Clone for RangeFull

Source§

impl Clone for wiwi::prelude_std::ptr::Alignment

1.0.0 · Source§

impl Clone for ParseBoolError

1.0.0 · Source§

impl Clone for Utf8Error

1.0.0 · Source§

impl Clone for FromUtf8Error

1.3.0 · Source§

impl Clone for wiwi::prelude_std::Box<str>

1.29.0 · Source§

impl Clone for wiwi::prelude_std::Box<CStr>

1.29.0 · Source§

impl Clone for wiwi::prelude_std::Box<OsStr>

1.29.0 · Source§

impl Clone for wiwi::prelude_std::Box<Path>

1.33.0 · Source§

impl Clone for PhantomPinned

1.0.0 · Source§

impl Clone for String

1.0.0 · Source§

impl Clone for TypeId

§

impl Clone for AbortHandle

§

impl Clone for AllocError

§

impl Clone for BarrierWaitResult

§

impl Clone for Box<str>

§

impl Clone for Box<CStr>

§

impl Clone for Bytes

§

impl Clone for BytesMut

§

impl Clone for Dl_info

§

impl Clone for Domain

§

impl Clone for Elf32_Chdr

§

impl Clone for Elf32_Ehdr

§

impl Clone for Elf32_Phdr

§

impl Clone for Elf32_Shdr

§

impl Clone for Elf32_Sym

§

impl Clone for Elf64_Chdr

§

impl Clone for Elf64_Ehdr

§

impl Clone for Elf64_Phdr

§

impl Clone for Elf64_Shdr

§

impl Clone for Elf64_Sym

§

impl Clone for Error

§

impl Clone for Event

§

impl Clone for FilterOp

§

impl Clone for FixedState

§

impl Clone for FixedState

§

impl Clone for FoldHasher

§

impl Clone for FoldHasher

§

impl Clone for Global

§

impl Clone for Handle

§

impl Clone for Id

§

impl Clone for Instant

§

impl Clone for Interest

§

impl Clone for Interest

§

impl Clone for MissedTickBehavior

§

impl Clone for OnceState

§

impl Clone for OpenOptions

§

impl Clone for OpenOptions

§

impl Clone for ParkResult

§

impl Clone for ParkToken

§

impl Clone for Protocol

§

impl Clone for RandomState

§

impl Clone for RandomState

§

impl Clone for Ready

§

impl Clone for RecvError

§

impl Clone for RecvError

§

impl Clone for RecvError

§

impl Clone for RecvFlags

§

impl Clone for RequeueOp

§

impl Clone for RuntimeMetrics

§

impl Clone for SigId

§

impl Clone for SignalKind

§

impl Clone for SockAddr

§

impl Clone for TcpKeepalive

§

impl Clone for Token

§

impl Clone for TryRecvError

§

impl Clone for TryRecvError

§

impl Clone for TryRecvError

§

impl Clone for TryReserveError

§

impl Clone for TryReserveError

§

impl Clone for TryReserveErrorKind

§

impl Clone for Type

§

impl Clone for UCred

§

impl Clone for UnparkResult

§

impl Clone for UnparkToken

§

impl Clone for WaitTimeoutResult

§

impl Clone for __c_anonymous__kernel_fsid_t

§

impl Clone for __c_anonymous_elf32_rel

§

impl Clone for __c_anonymous_elf64_rel

§

impl Clone for __c_anonymous_ifc_ifcu

§

impl Clone for __c_anonymous_ifr_ifru

§

impl Clone for __c_anonymous_ifru_map

§

impl Clone for __c_anonymous_ptrace_syscall_info_data

§

impl Clone for __c_anonymous_ptrace_syscall_info_entry

§

impl Clone for __c_anonymous_ptrace_syscall_info_exit

§

impl Clone for __c_anonymous_ptrace_syscall_info_seccomp

§

impl Clone for __c_anonymous_sockaddr_can_can_addr

§

impl Clone for __c_anonymous_sockaddr_can_j1939

§

impl Clone for __c_anonymous_sockaddr_can_tp

§

impl Clone for __exit_status

§

impl Clone for __timeval

§

impl Clone for _libc_fpstate

§

impl Clone for _libc_fpxreg

§

impl Clone for _libc_xmmreg

§

impl Clone for addrinfo

§

impl Clone for af_alg_iv

§

impl Clone for aiocb

§

impl Clone for arpd_request

§

impl Clone for arphdr

§

impl Clone for arpreq

§

impl Clone for arpreq_old

§

impl Clone for can_filter

§

impl Clone for can_frame

§

impl Clone for canfd_frame

§

impl Clone for canxl_frame

§

impl Clone for clone_args

§

impl Clone for cmsghdr

§

impl Clone for cpu_set_t

§

impl Clone for dirent

§

impl Clone for dirent64

§

impl Clone for dl_phdr_info

§

impl Clone for dqblk

§

impl Clone for epoll_event

§

impl Clone for epoll_params

§

impl Clone for fanotify_event_info_error

§

impl Clone for fanotify_event_info_fid

§

impl Clone for fanotify_event_info_header

§

impl Clone for fanotify_event_info_pidfd

§

impl Clone for fanotify_event_metadata

§

impl Clone for fanotify_response

§

impl Clone for fanout_args

§

impl Clone for fd_set

§

impl Clone for ff_condition_effect

§

impl Clone for ff_constant_effect

§

impl Clone for ff_effect

§

impl Clone for ff_envelope

§

impl Clone for ff_periodic_effect

§

impl Clone for ff_ramp_effect

§

impl Clone for ff_replay

§

impl Clone for ff_rumble_effect

§

impl Clone for ff_trigger

§

impl Clone for file_clone_range

§

impl Clone for flock

§

impl Clone for flock64

§

impl Clone for fsid_t

§

impl Clone for genlmsghdr

§

impl Clone for glob64_t

§

impl Clone for glob_t

§

impl Clone for group

§

impl Clone for hostent

§

impl Clone for hwtstamp_config

§

impl Clone for if_nameindex

§

impl Clone for ifaddrs

§

impl Clone for ifconf

§

impl Clone for ifreq

§

impl Clone for in6_addr

§

impl Clone for in6_ifreq

§

impl Clone for in6_pktinfo

§

impl Clone for in6_rtmsg

§

impl Clone for in_addr

§

impl Clone for in_pktinfo

§

impl Clone for inotify_event

§

impl Clone for input_absinfo

§

impl Clone for input_event

§

impl Clone for input_id

§

impl Clone for input_keymap_entry

§

impl Clone for input_mask

§

impl Clone for iocb

§

impl Clone for iovec

§

impl Clone for ip_mreq

§

impl Clone for ip_mreq_source

§

impl Clone for ip_mreqn

§

impl Clone for ipc_perm

§

impl Clone for ipv6_mreq

§

impl Clone for itimerspec

§

impl Clone for itimerval

§

impl Clone for j1939_filter

§

impl Clone for lconv

§

impl Clone for linger

§

impl Clone for mallinfo

§

impl Clone for mallinfo2

§

impl Clone for max_align_t

§

impl Clone for mcontext_t

§

impl Clone for mmsghdr

§

impl Clone for mntent

§

impl Clone for mq_attr

§

impl Clone for msghdr

§

impl Clone for msginfo

§

impl Clone for msqid_ds

§

impl Clone for nl_mmap_hdr

§

impl Clone for nl_mmap_req

§

impl Clone for nl_pktinfo

§

impl Clone for nlattr

§

impl Clone for nlmsgerr

§

impl Clone for nlmsghdr

§

impl Clone for ntptimeval

§

impl Clone for open_how

§

impl Clone for option

§

impl Clone for packet_mreq

§

impl Clone for passwd

§

impl Clone for pollfd

§

impl Clone for posix_spawn_file_actions_t

§

impl Clone for posix_spawnattr_t

§

impl Clone for protoent

§

impl Clone for pthread_attr_t

§

impl Clone for pthread_barrier_t

§

impl Clone for pthread_barrierattr_t

§

impl Clone for pthread_cond_t

§

impl Clone for pthread_condattr_t

§

impl Clone for pthread_mutex_t

§

impl Clone for pthread_mutexattr_t

§

impl Clone for pthread_rwlock_t

§

impl Clone for pthread_rwlockattr_t

§

impl Clone for ptrace_peeksiginfo_args

§

impl Clone for ptrace_rseq_configuration

§

impl Clone for ptrace_syscall_info

§

impl Clone for regex_t

§

impl Clone for regmatch_t

§

impl Clone for rlimit

§

impl Clone for rlimit64

§

impl Clone for rtentry

§

impl Clone for rusage

§

impl Clone for sched_attr

§

impl Clone for sched_param

§

impl Clone for sctp_authinfo

§

impl Clone for sctp_initmsg

§

impl Clone for sctp_nxtinfo

§

impl Clone for sctp_prinfo

§

impl Clone for sctp_rcvinfo

§

impl Clone for sctp_sndinfo

§

impl Clone for sctp_sndrcvinfo

§

impl Clone for seccomp_data

§

impl Clone for seccomp_notif

§

impl Clone for seccomp_notif_addfd

§

impl Clone for seccomp_notif_resp

§

impl Clone for seccomp_notif_sizes

§

impl Clone for sem_t

§

impl Clone for sembuf

§

impl Clone for semid_ds

§

impl Clone for seminfo

§

impl Clone for servent

§

impl Clone for shmid_ds

§

impl Clone for sigaction

§

impl Clone for sigevent

§

impl Clone for siginfo_t

§

impl Clone for signalfd_siginfo

§

impl Clone for sigset_t

§

impl Clone for sigval

§

impl Clone for sock_extended_err

§

impl Clone for sock_filter

§

impl Clone for sock_fprog

§

impl Clone for sock_txtime

§

impl Clone for sockaddr

§

impl Clone for sockaddr_alg

§

impl Clone for sockaddr_can

§

impl Clone for sockaddr_in

§

impl Clone for sockaddr_in6

§

impl Clone for sockaddr_ll

§

impl Clone for sockaddr_nl

§

impl Clone for sockaddr_pkt

§

impl Clone for sockaddr_storage

§

impl Clone for sockaddr_un

§

impl Clone for sockaddr_vm

§

impl Clone for sockaddr_xdp

§

impl Clone for spwd

§

impl Clone for stack_t

§

impl Clone for stat

§

impl Clone for stat64

§

impl Clone for statfs

§

impl Clone for statfs64

§

impl Clone for statvfs

§

impl Clone for statvfs64

§

impl Clone for statx

§

impl Clone for statx_timestamp

§

impl Clone for sysinfo

§

impl Clone for tcp_info

§

impl Clone for termios

§

impl Clone for termios2

§

impl Clone for timespec

§

impl Clone for timeval

§

impl Clone for timex

§

impl Clone for tls12_crypto_info_aes_gcm_128

§

impl Clone for tls12_crypto_info_aes_gcm_256

§

impl Clone for tls12_crypto_info_chacha20_poly1305

§

impl Clone for tls_crypto_info

§

impl Clone for tm

§

impl Clone for tms

§

impl Clone for tpacket2_hdr

§

impl Clone for tpacket3_hdr

§

impl Clone for tpacket_auxdata

§

impl Clone for tpacket_bd_header_u

§

impl Clone for tpacket_bd_ts

§

impl Clone for tpacket_block_desc

§

impl Clone for tpacket_hdr

§

impl Clone for tpacket_hdr_v1

§

impl Clone for tpacket_hdr_variant1

§

impl Clone for tpacket_req

§

impl Clone for tpacket_req3

§

impl Clone for tpacket_req_u

§

impl Clone for tpacket_rollover_stats

§

impl Clone for tpacket_stats

§

impl Clone for tpacket_stats_v3

§

impl Clone for tpacket_versions

§

impl Clone for ucontext_t

§

impl Clone for ucred

§

impl Clone for uinput_abs_setup

§

impl Clone for uinput_ff_erase

§

impl Clone for uinput_ff_upload

§

impl Clone for uinput_setup

§

impl Clone for uinput_user_dev

§

impl Clone for user

§

impl Clone for user_fpregs_struct

§

impl Clone for user_regs_struct

§

impl Clone for utimbuf

§

impl Clone for utmpx

§

impl Clone for utsname

§

impl Clone for winsize

§

impl Clone for xdp_desc

§

impl Clone for xdp_mmap_offsets

§

impl Clone for xdp_mmap_offsets_v1

§

impl Clone for xdp_options

§

impl Clone for xdp_ring_offset

§

impl Clone for xdp_ring_offset_v1

§

impl Clone for xdp_statistics

§

impl Clone for xdp_statistics_v1

§

impl Clone for xdp_umem_reg

§

impl Clone for xdp_umem_reg_v1

1.0.0 · Source§

impl<'a> Clone for Component<'a>

1.0.0 · Source§

impl<'a> Clone for Prefix<'a>

Source§

impl<'a> Clone for Item<'a>

Source§

impl<'a> Clone for Utf8Pattern<'a>

1.0.0 · Source§

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

Source§

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

Source§

impl<'a> Clone for core::ffi::c_str::Bytes<'a>

1.36.0 · Source§

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

1.28.0 · Source§

impl<'a> Clone for Ancestors<'a>

1.0.0 · Source§

impl<'a> Clone for Components<'a>

1.0.0 · Source§

impl<'a> Clone for std::path::Iter<'a>

1.0.0 · Source§

impl<'a> Clone for PrefixComponent<'a>

Source§

impl<'a> Clone for StrftimeItems<'a>

1.10.0 · Source§

impl<'a> Clone for Location<'a>

1.60.0 · Source§

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

Source§

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

1.0.0 · Source§

impl<'a> Clone for wiwi::prelude_std::str::Bytes<'a>

1.0.0 · Source§

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

1.0.0 · 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 wiwi::prelude_std::str::EscapeDebug<'a>

1.34.0 · Source§

impl<'a> Clone for wiwi::prelude_std::str::EscapeDefault<'a>

1.34.0 · Source§

impl<'a> Clone for wiwi::prelude_std::str::EscapeUnicode<'a>

1.0.0 · Source§

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

1.0.0 · 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>

1.79.0 · Source§

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

1.79.0 · Source§

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

§

impl<'a> Clone for Iter<'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,

Source§

impl<'a, K> Clone for alloc::collections::btree::set::Cursor<'a, K>
where K: Clone + 'a,

1.5.0 · Source§

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

1.2.0 · Source§

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

1.5.0 · Source§

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

1.2.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.51.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.31.0 · Source§

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

§

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

§

impl<'a, T> Clone for IterHash<'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>

Source§

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

1.63.0 · Source§

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

Source§

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

Source§

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

Source§

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

1.0.0 · Source§

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

1.82.0 · Source§

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

1.0.0 · Source§

impl<A> Clone for wiwi::prelude_std::option::IntoIter<A>
where A: Clone,

1.0.0 · Source§

impl<A> Clone for wiwi::prelude_std::option::Iter<'_, A>

§

impl<A> Clone for IntoIter<A>
where A: Array + Clone, <A as Array>::Item: Clone,

§

impl<A> Clone for SmallVec<A>
where A: Array, <A as Array>::Item: Clone,

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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<C, M> Clone for RcStr<C, M>
where C: Counter,

Source§

impl<C, M> Clone for RcStrWeak<C, M>
where C: Counter,

Source§

impl<C, V, S> Clone for wiwi::rc::Rc<C, V, S>
where C: Counter,

Source§

impl<C, V, S> Clone for RcWeak<C, V, S>
where C: Counter,

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,

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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,

1.0.0 · Source§

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

1.0.0 · Source§

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

1.28.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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,

1.0.0 · 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,

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · 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,

1.0.0 · 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 wiwi::prelude_std::iter::ArrayChunks<I, N>
where I: Clone + Iterator, <I as Iterator>::Item: Clone,

Source§

impl<Idx> Clone for core::range::Range<Idx>
where Idx: Clone,

Source§

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

Source§

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

1.0.0 · Source§

impl<Idx> Clone for wiwi::prelude_std::ops::Range<Idx>
where Idx: Clone,

1.0.0 · Source§

impl<Idx> Clone for wiwi::prelude_std::ops::RangeFrom<Idx>
where Idx: Clone,

1.26.0 · Source§

impl<Idx> Clone for wiwi::prelude_std::ops::RangeInclusive<Idx>
where Idx: Clone,

1.0.0 · Source§

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

1.26.0 · Source§

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

1.0.0 · Source§

impl<K> Clone for std::collections::hash::set::Iter<'_, K>

§

impl<K> Clone for Iter<'_, K>

Source§

impl<K, V> Clone for alloc::collections::btree::map::Cursor<'_, K, V>

1.0.0 · Source§

impl<K, V> Clone for alloc::collections::btree::map::Iter<'_, K, V>

1.0.0 · Source§

impl<K, V> Clone for alloc::collections::btree::map::Keys<'_, K, V>

1.17.0 · Source§

impl<K, V> Clone for alloc::collections::btree::map::Range<'_, K, V>

1.0.0 · Source§

impl<K, V> Clone for alloc::collections::btree::map::Values<'_, K, V>

1.0.0 · Source§

impl<K, V> Clone for std::collections::hash::map::Iter<'_, K, V>

1.0.0 · Source§

impl<K, V> Clone for std::collections::hash::map::Keys<'_, K, V>

1.0.0 · Source§

impl<K, V> Clone for std::collections::hash::map::Values<'_, K, V>

§

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

§

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

§

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

1.0.0 · Source§

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

1.0.0 · Source§

impl<K, V, S> Clone for std::collections::hash::map::HashMap<K, V, S>
where K: Clone, V: Clone, S: Clone,

§

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

1.33.0 · Source§

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

1.0.0 · Source§

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

Shared references can be cloned, but mutable references cannot!

1.0.0 · 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 std::sync::mpmc::error::SendTimeoutError<T>
where T: Clone,

1.0.0 · Source§

impl<T> Clone for std::sync::mpsc::TrySendError<T>
where T: Clone,

Source§

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

1.17.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

Shared references can be cloned, but mutable references cannot!

Source§

impl<T> Clone for VecChain<T>
where Vec<T>: Clone,

1.0.0 · Source§

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

1.70.0 · Source§

impl<T> Clone for wiwi::prelude_std::cell::OnceCell<T>
where T: Clone,

1.0.0 · Source§

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

1.19.0 · Source§

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

1.48.0 · Source§

impl<T> Clone for Pending<T>

1.48.0 · Source§

impl<T> Clone for wiwi::prelude_std::future::Ready<T>
where T: Clone,

1.0.0 · Source§

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

1.0.0 · Source§

impl<T> Clone for alloc::collections::btree::set::Iter<'_, T>

1.17.0 · Source§

impl<T> Clone for alloc::collections::btree::set::Range<'_, T>

1.0.0 · Source§

impl<T> Clone for alloc::collections::btree::set::SymmetricDifference<'_, T>

1.0.0 · Source§

impl<T> Clone for alloc::collections::btree::set::Union<'_, T>

1.0.0 · Source§

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

1.0.0 · Source§

impl<T> Clone for alloc::collections::vec_deque::iter::Iter<'_, T>

1.28.0 · Source§

impl<T> Clone for NonZero<T>

1.74.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

impl<T> Clone for std::io::cursor::Cursor<T>
where T: Clone,

Source§

impl<T> Clone for std::sync::mpmc::Receiver<T>

Source§

impl<T> Clone for std::sync::mpmc::Sender<T>

1.0.0 · Source§

impl<T> Clone for std::sync::mpsc::SendError<T>
where T: Clone,

1.0.0 · Source§

impl<T> Clone for std::sync::mpsc::Sender<T>

1.0.0 · Source§

impl<T> Clone for SyncSender<T>

1.70.0 · Source§

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

1.2.0 · Source§

impl<T> Clone for wiwi::prelude_std::iter::Empty<T>

1.2.0 · Source§

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

1.0.0 · Source§

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

1.21.0 · Source§

impl<T> Clone for Discriminant<T>

1.25.0 · Source§

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

1.0.0 · Source§

impl<T> Clone for wiwi::prelude_std::result::IntoIter<T>
where T: Clone,

1.0.0 · Source§

impl<T> Clone for wiwi::prelude_std::result::Iter<'_, T>

1.0.0 · Source§

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

1.31.0 · Source§

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

1.0.0 · Source§

impl<T> Clone for wiwi::prelude_std::slice::Iter<'_, T>

1.31.0 · Source§

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

1.0.0 · Source§

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

1.20.0 · Source§

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

1.0.0 · Source§

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

1.36.0 · Source§

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

§

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

§

impl<T> Clone for Receiver<T>

§

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

§

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

§

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

§

impl<T> Clone for Sender<T>

§

impl<T> Clone for Sender<T>

§

impl<T> Clone for Sender<T>

§

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

§

impl<T> Clone for UnboundedSender<T>

§

impl<T> Clone for WeakSender<T>

§

impl<T> Clone for WeakUnboundedSender<T>

1.0.0 · Source§

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

1.0.0 · Source§

impl<T, A> Clone for alloc::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,

1.0.0 · Source§

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

1.0.0 · Source§

impl<T, A> Clone for alloc::collections::btree::set::Difference<'_, T, A>
where A: Allocator + Clone,

1.0.0 · Source§

impl<T, A> Clone for alloc::collections::btree::set::Intersection<'_, T, A>
where A: Allocator + Clone,

Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

impl<T, A> Clone for alloc::collections::vec_deque::into_iter::IntoIter<T, A>
where T: Clone, A: Clone + Allocator,

1.0.0 · Source§

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

1.0.0 · Source§

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

1.4.0 · Source§

impl<T, A> Clone for wiwi::prelude_std::ArcWeak<T, A>
where A: Allocator + Clone, T: ?Sized,

1.3.0 · Source§

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

1.0.0 · Source§

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

1.0.0 · Source§

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

1.4.0 · Source§

impl<T, A> Clone for wiwi::prelude_std::RcWeak<T, A>
where A: Allocator + Clone, T: ?Sized,

1.0.0 · Source§

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

1.8.0 · Source§

impl<T, A> Clone for wiwi::prelude_std::vec::IntoIter<T, A>
where T: Clone, A: Allocator + Clone,

§

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

§

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

§

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

§

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

§

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

1.0.0 · 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,

Source§

impl<T, M> Clone for Nominal<T, M>
where T: Clone,

1.27.0 · Source§

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

1.0.0 · Source§

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

1.51.0 · Source§

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

1.0.0 · Source§

impl<T, S> Clone for std::collections::hash::set::Difference<'_, T, S>

1.0.0 · Source§

impl<T, S> Clone for std::collections::hash::set::HashSet<T, S>
where T: Clone, S: Clone,

1.0.0 · Source§

impl<T, S> Clone for std::collections::hash::set::Intersection<'_, T, S>

1.0.0 · Source§

impl<T, S> Clone for std::collections::hash::set::SymmetricDifference<'_, T, S>

1.0.0 · Source§

impl<T, S> Clone for std::collections::hash::set::Union<'_, T, S>

§

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

§

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

§

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

§

impl<T, S, A> Clone for SymmetricDifference<'_, T, S, A>
where A: Allocator,

§

impl<T, S, A> Clone for Union<'_, T, S, A>
where A: Allocator,

1.58.0 · Source§

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

Source§

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

1.40.0 · Source§

impl<T, const N: usize> Clone for wiwi::prelude_std::array::IntoIter<T, N>
where T: Clone,

Source§

impl<T, const N: usize> Clone for Mask<T, N>

Source§

impl<T, const N: usize> Clone for Simd<T, N>

Source§

impl<T, const N: usize> Clone for wiwi::prelude_std::slice::ArrayChunks<'_, T, N>

Source§

impl<Tz> Clone for Date<Tz>
where Tz: Clone + TimeZone, <Tz as TimeZone>::Offset: Clone,

Source§

impl<Tz> Clone for DateTime<Tz>
where Tz: Clone + TimeZone, <Tz as TimeZone>::Offset: Clone,

Source§

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