Trait sgx_tstd::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.

Object Safety§

This trait is not object safe.

Implementors§

source§

impl Clone for hashbrown_tstd::TryReserveError

source§

impl Clone for PolledOk

source§

impl Clone for OCallError

source§

impl Clone for AddressKind

source§

impl Clone for SockAddr

source§

impl Clone for DIR

source§

impl Clone for MapAddr

source§

impl Clone for FutexClockId

source§

impl Clone for FutexOp

source§

impl Clone for PageType

source§

impl Clone for Feature

source§

impl Clone for Version

source§

impl Clone for ExceptionType

source§

impl Clone for ExceptionVector

source§

impl Clone for HandleResult

source§

impl Clone for PceError

source§

impl Clone for QcnlError

source§

impl Clone for Quote3Error

source§

impl Clone for SgxStatus

source§

impl Clone for DirIndex

source§

impl Clone for EcResult

source§

impl Clone for RsaKeyType

source§

impl Clone for RsaResult

source§

impl Clone for PckCertFlag

source§

impl Clone for ProdType

source§

impl Clone for QeType

source§

impl Clone for QlAttestationAlgorithmId

source§

impl Clone for QlCertKeyType

source§

impl Clone for QlConfigVersion

source§

impl Clone for QlLogLevel

source§

impl Clone for QlPathType

source§

impl Clone for QlQvResult

source§

impl Clone for QlRequestPolicy

source§

impl Clone for QvPathType

source§

impl Clone for DhSessionRole

source§

impl Clone for EnclaveMode

source§

impl Clone for KeyName

source§

impl Clone for ProtectPerm

source§

impl Clone for RaKeyType

source§

impl Clone for QuoteSignType

source§

impl Clone for SwitchlessWokerEvent

source§

impl Clone for SwitchlessWokerType

source§

impl Clone for SgxDeviceStatus

source§

impl Clone for AsciiChar

source§

impl Clone for sgx_tstd::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 sgx_tstd::fmt::Alignment

source§

impl Clone for ErrorKind

source§

impl Clone for SeekFrom

1.7.0 · source§

impl Clone for IpAddr

source§

impl Clone for Ipv6MulticastScope

source§

impl Clone for Shutdown

source§

impl Clone for SocketAddr

source§

impl Clone for FpCategory

1.55.0 · source§

impl Clone for IntErrorKind

source§

impl Clone for SearchStep

source§

impl Clone for sgx_tstd::sync::atomic::Ordering

source§

impl Clone for TcsPolicy

source§

impl Clone for Which

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 AlighAllocErr

source§

impl Clone for AlignLayout

source§

impl Clone for AlignLayoutErr

source§

impl Clone for AlignReq

source§

impl Clone for addr_info

source§

impl Clone for sgx_oc::linux::ocall::cpuid::CpuidResult

source§

impl Clone for AddrInfo

source§

impl Clone for AddrInfoHints

source§

impl Clone for MsgHdrFlags

source§

impl Clone for addrinfo

source§

impl Clone for cmsghdr

source§

impl Clone for cpu_set_t

source§

impl Clone for dirent64

source§

impl Clone for dirent

source§

impl Clone for epoll_event

source§

impl Clone for fd_set

source§

impl Clone for hostent

source§

impl Clone for in6_addr

source§

impl Clone for in_addr

source§

impl Clone for iovec

source§

impl Clone for ip_mreq

source§

impl Clone for ipv6_mreq

source§

impl Clone for linger

source§

impl Clone for msghdr

source§

impl Clone for passwd

source§

impl Clone for pollfd

source§

impl Clone for sigaction

source§

impl Clone for siginfo_t

source§

impl Clone for sigset_t

source§

impl Clone for sigval

source§

impl Clone for sockaddr

source§

impl Clone for sockaddr_in6

source§

impl Clone for sockaddr_in

source§

impl Clone for sockaddr_ll

source§

impl Clone for sockaddr_nl

source§

impl Clone for sockaddr_storage

source§

impl Clone for sockaddr_un

source§

impl Clone for stat64

source§

impl Clone for sgx_oc::linux::x86_64::stat

source§

impl Clone for timeval

source§

impl Clone for tm

source§

impl Clone for ucred

source§

impl Clone for utsname

source§

impl Clone for winsize

source§

impl Clone for RsrvMemAllocErr

source§

impl Clone for Nothing

source§

impl Clone for Zero

source§

impl Clone for FutexFlags

source§

impl Clone for Timespec

source§

impl Clone for PageFlags

source§

impl Clone for PageInfo

source§

impl Clone for PageRange

source§

impl Clone for AlignKeyRequest

source§

impl Clone for AlignReport2Mac

source§

impl Clone for AlignReport

source§

impl Clone for AlignReportData

source§

impl Clone for AlignTargetInfo

source§

impl Clone for TcsId

source§

impl Clone for CpuContext

source§

impl Clone for ExceptionInfo

source§

impl Clone for Handle

source§

impl Clone for CssBody

source§

impl Clone for CssBuffer

source§

impl Clone for CssHeader

source§

impl Clone for CssKey

source§

impl Clone for DataDir

source§

impl Clone for ElRangeConfig

source§

impl Clone for EnclaveCss

source§

impl Clone for MetaData

source§

impl Clone for AlignEc256PrivateKey

source§

impl Clone for AlignEc256SharedKey

source§

impl Clone for AlignKey128bit

source§

impl Clone for AlignKey256bit

source§

impl Clone for AlignMac128bit

source§

impl Clone for AlignMac256bit

source§

impl Clone for Ec256PrivateKey

source§

impl Clone for Ec256PublicKey

source§

impl Clone for Ec256SharedKey

source§

impl Clone for Ec256Signature

source§

impl Clone for Rsa2048Key

source§

impl Clone for Rsa2048Param

source§

impl Clone for Rsa2048PrivKey

source§

impl Clone for Rsa2048PubKey

source§

impl Clone for Rsa2048Signature

source§

impl Clone for Rsa3072Key

source§

impl Clone for Rsa3072Param

source§

impl Clone for Rsa3072PrivKey

source§

impl Clone for Rsa3072PubKey

source§

impl Clone for Rsa3072Signature

source§

impl Clone for Sha1Hash

source§

impl Clone for Sha256Hash

source§

impl Clone for Sha384Hash

source§

impl Clone for Sm3Hash

source§

impl Clone for PceInfo

source§

impl Clone for QlAuthData

source§

impl Clone for QlCertificationData

source§

impl Clone for QlEcdsaSigData

source§

impl Clone for QlPPIDRsa3072EncryptedCertInfo

source§

impl Clone for QlQe3Id

source§

impl Clone for QlQeReportInfo

source§

impl Clone for QlQvSupplemental

source§

impl Clone for QlQveCollateralParam

source§

impl Clone for Quote3

source§

impl Clone for QuoteHeader

source§

impl Clone for CDhMsg1

source§

impl Clone for CDhMsg2

source§

impl Clone for CDhMsg3

source§

impl Clone for CDhMsg3Body

source§

impl Clone for CDhSession

source§

impl Clone for CEnclaveIdentity

source§

impl Clone for CRaMsg1

source§

impl Clone for CRaMsg2

source§

impl Clone for CRaMsg3

source§

impl Clone for PsSecPropDesc

source§

impl Clone for AttKeyId

source§

impl Clone for AttKeyIdExt

source§

impl Clone for BaseName

source§

impl Clone for PlatformInfo

source§

impl Clone for QeReportInfo

source§

impl Clone for QlAttKeyId

source§

impl Clone for Quote

source§

impl Clone for QuoteNonce

source§

impl Clone for Spid

source§

impl Clone for UpdateInfoBit

source§

impl Clone for CDcapMRaMsg2

source§

impl Clone for CDcapRaMsg1

source§

impl Clone for CDcapRaMsg3

source§

impl Clone for CDcapURaMsg2

source§

impl Clone for EnclaveIdentity

source§

impl Clone for timespec

source§

impl Clone for Report2

source§

impl Clone for Report2Mac

source§

impl Clone for TeeAttributes

source§

impl Clone for TeeCpuSvn

source§

impl Clone for TeeMeasurement

source§

impl Clone for TeeReportData

source§

impl Clone for TeeReportType

source§

impl Clone for CAesGcmData

source§

impl Clone for CSealedData

source§

impl Clone for Attributes

source§

impl Clone for AttributesFlags

source§

impl Clone for ConfigId

source§

impl Clone for CpuSvn

source§

impl Clone for KeyId

source§

impl Clone for KeyPolicy

source§

impl Clone for KeyRequest

source§

impl Clone for Measurement

source§

impl Clone for MiscAttribute

source§

impl Clone for MiscSelect

source§

impl Clone for Report

source§

impl Clone for ReportBody

source§

impl Clone for ReportData

source§

impl Clone for TargetInfo

source§

impl Clone for SwitchlessConfig

source§

impl Clone for SwitchlessWokerStats

source§

impl Clone for EcdsaSigDataV4

source§

impl Clone for QeReportCertificationData

source§

impl Clone for Quote4

source§

impl Clone for Quote4Header

source§

impl Clone for Report2Body

source§

impl Clone for TeeInfo

source§

impl Clone for TeeTcbInfo

source§

impl Clone for TeeTcbSvn

source§

impl Clone for KssConfig

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.34.0 · source§

impl Clone for TryFromSliceError

source§

impl Clone for sgx_tstd::ascii::EscapeDefault

1.3.0 · source§

impl Clone for Box<str>

1.29.0 · source§

impl Clone for Box<CStr>

source§

impl Clone for Box<OsStr>

source§

impl Clone for Box<Path>

1.34.0 · source§

impl Clone for CharTryFromError

1.9.0 · source§

impl Clone for DecodeUtf16Error

1.20.0 · source§

impl Clone for sgx_tstd::char::EscapeDebug

source§

impl Clone for sgx_tstd::char::EscapeDefault

source§

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

source§

impl Clone for DefaultHasher

source§

impl Clone for RandomState

1.57.0 · source§

impl Clone for sgx_tstd::collections::TryReserveError

1.64.0 · source§

impl Clone for CString

1.69.0 · source§

impl Clone for FromBytesUntilNulError

1.64.0 · source§

impl Clone for FromBytesWithNulError

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 OsString

source§

impl Clone for Error

source§

impl Clone for SipHasher

source§

impl Clone for sgx_tstd::io::Empty

source§

impl Clone for Sink

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 sgx_tstd::os::linux::raw::stat

source§

impl Clone for PathBuf

source§

impl Clone for StripPrefixError

source§

impl Clone for sgx_tstd::ptr::Alignment

source§

impl Clone for ParseBoolError

source§

impl Clone for Utf8Error

source§

impl Clone for FromUtf8Error

source§

impl Clone for String

source§

impl Clone for WaitTimeoutResult

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 ThreadId

1.3.0 · source§

impl Clone for Duration

source§

impl Clone for Instant

source§

impl Clone for SystemTime

source§

impl Clone for SystemTimeError

1.66.0 · source§

impl Clone for TryFromFloatSecsError

source§

impl Clone for FileTimes

source§

impl Clone for FileType

source§

impl Clone for Metadata

source§

impl Clone for OpenOptions

source§

impl Clone for Permissions

1.27.0 · source§

impl Clone for core::core_arch::x86::cpuid::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.76.0 · source§

impl Clone for __m512

source§

impl Clone for __m512bh

1.76.0 · source§

impl Clone for __m512d

1.76.0 · source§

impl Clone for __m512i

source§

impl Clone for TimSortRun

§

impl Clone for _Unwind_Action

§

impl Clone for _Unwind_Reason_Code

source§

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

source§

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

source§

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

source§

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

1.10.0 · source§

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

source§

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

source§

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

source§

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

source§

impl<'a> Clone for PrefixComponent<'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 sgx_tstd::str::EscapeDebug<'a>

1.34.0 · source§

impl<'a> Clone for sgx_tstd::str::EscapeDefault<'a>

1.34.0 · source§

impl<'a> Clone for sgx_tstd::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 Source<'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 sgx_tstd::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 sgx_tstd::str::Split<'a, P>where P: Pattern<'a>, <P as Pattern<'a>>::Searcher: Clone,

1.51.0 · source§

impl<'a, P> Clone for sgx_tstd::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,

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>

source§

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

source§

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

source§

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

source§

impl<A> Clone for sgx_tstd::option::IntoIter<A>where A: Clone,

source§

impl<A> Clone for sgx_tstd::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 sgx_tstd::iter::ArrayChunks<I, N>where I: Clone + Iterator, <I as Iterator>::Item: Clone,

source§

impl<Idx> Clone for sgx_tstd::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> Clone for hashbrown_tstd::set::Iter<'_, K>

source§

impl<K> Clone for sgx_tstd::collections::hash_set::Iter<'_, K>

source§

impl<K, V> Clone for hashbrown_tstd::map::Iter<'_, K, V>

source§

impl<K, V> Clone for hashbrown_tstd::map::Keys<'_, K, V>

source§

impl<K, V> Clone for hashbrown_tstd::map::Values<'_, K, V>

source§

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

source§

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

source§

impl<K, V> Clone for sgx_tstd::collections::btree_map::Keys<'_, K, V>

1.17.0 · source§

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

source§

impl<K, V> Clone for sgx_tstd::collections::btree_map::Values<'_, K, V>

source§

impl<K, V> Clone for sgx_tstd::collections::hash_map::Iter<'_, K, V>

source§

impl<K, V> Clone for sgx_tstd::collections::hash_map::Keys<'_, K, V>

source§

impl<K, V> Clone for sgx_tstd::collections::hash_map::Values<'_, K, V>

source§

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

source§

impl<K, V, S> Clone for sgx_tstd::collections::hash_map::HashMap<K, V, S>where K: Clone, V: Clone, S: Clone,

source§

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

1.33.0 · source§

impl<P> Clone for Pin<P>where P: 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 AlignBox<T>where T: Clone,

source§

impl<T> Clone for MapObject<T>where T: Clone + Map,

source§

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

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 sgx_tstd::collections::binary_heap::Iter<'_, T>

source§

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

1.17.0 · source§

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

source§

impl<T> Clone for sgx_tstd::collections::btree_set::SymmetricDifference<'_, T>

source§

impl<T> Clone for sgx_tstd::collections::btree_set::Union<'_, T>

source§

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

source§

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

source§

impl<T> Clone for sgx_tstd::io::Cursor<T>where T: Clone,

1.2.0 · source§

impl<T> Clone for sgx_tstd::iter::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 Wrapping<T>where T: Clone,

1.25.0 · source§

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

source§

impl<T> Clone for sgx_tstd::result::IntoIter<T>where T: Clone,

source§

impl<T> Clone for sgx_tstd::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 sgx_tstd::slice::Iter<'_, T>

1.31.0 · source§

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

source§

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

1.74.0 · source§

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

1.36.0 · source§

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

source§

impl<T, A> Clone for HashTable<T, A>where T: Clone, A: Allocator + 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 sgx_tstd::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 sgx_tstd::collections::btree_set::Difference<'_, T, A>where A: Allocator + Clone,

source§

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

source§

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

source§

impl<T, A> Clone for sgx_tstd::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 sgx_tstd::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 sgx_tstd::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 sgx_tstd::sync::Weak<T, A>where A: Allocator + Clone, T: ?Sized,

1.8.0 · source§

impl<T, A> Clone for sgx_tstd::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 sgx_tstd::slice::RSplit<'_, T, P>where P: Clone + FnMut(&T) -> bool,

source§

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

1.51.0 · source§

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

source§

impl<T, S> Clone for sgx_tstd::collections::hash_set::Difference<'_, T, S>

source§

impl<T, S> Clone for sgx_tstd::collections::hash_set::HashSet<T, S>where T: Clone, S: Clone,

source§

impl<T, S> Clone for sgx_tstd::collections::hash_set::Intersection<'_, T, S>

source§

impl<T, S> Clone for sgx_tstd::collections::hash_set::SymmetricDifference<'_, T, S>

source§

impl<T, S> Clone for sgx_tstd::collections::hash_set::Union<'_, T, S>

source§

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

source§

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

source§

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

source§

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

source§

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

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 sgx_tstd::array::IntoIter<T, N>where T: Clone,

source§

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

source§

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

source§

impl<T: Clone> Clone for sgx_tstd::sync::OnceLock<T>

source§

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