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 derive
d
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 derive
d, 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 implementClone
(even if the referent doesn’t), while variables captured by mutable reference never implementClone
.
Required Methods§
Provided Methods§
1.0.0 · Sourcefn clone_from(&mut self, source: &Self)
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§
impl Clone for AnsiColor
impl Clone for Color
impl Clone for Action
impl Clone for State
impl Clone for DependencyKind
impl Clone for Applicability
impl Clone for DiagnosticLevel
impl Clone for CargoOpt
impl Clone for Edition
impl Clone for Message
impl Clone for Cfg
impl Clone for CfgExpr
impl Clone for Platform
impl Clone for ArgAction
impl Clone for ArgPredicate
impl Clone for ValueHint
impl Clone for ContextKind
impl Clone for ContextValue
impl Clone for clap_builder::error::kind::ErrorKind
impl Clone for MatchesError
impl Clone for ValueSource
impl Clone for clap_builder::util::color::ColorChoice
impl Clone for colorchoice::ColorChoice
impl Clone for Container
impl Clone for StackFrameOffset
impl Clone for UnwindOperation
impl Clone for PrefilterConfig
impl Clone for nom::error::ErrorKind
impl Clone for VerboseErrorKind
impl Clone for Needed
impl Clone for Endianness
impl Clone for oneshot_uniffi::errors::RecvTimeoutError
impl Clone for oneshot_uniffi::errors::TryRecvError
impl Clone for plain::error::Error
impl Clone for StrCtx
impl Clone for Endian
impl Clone for Op
impl Clone for Category
impl Clone for serde_json::value::Value
impl Clone for Offset
impl Clone for toml::ser::Error
impl Clone for toml::value::Value
impl Clone for uniffi_bindgen::bindings::kotlin::gen_kotlin::ImportRequirement
impl Clone for uniffi_bindgen::bindings::python::gen_python::ImportRequirement
impl Clone for FfiType
impl Clone for UniffiTrait
impl Clone for ErrorMetadata
impl Clone for LiteralMetadata
impl Clone for uniffi_meta::Metadata
impl Clone for Radix
impl Clone for UniffiTraitMetadata
impl Clone for ExternalKind
impl Clone for ObjectImpl
impl Clone for uniffi_meta::types::Type
impl Clone for Special
impl Clone for StringifierOrInheritOrStatic
impl Clone for StringifierOrStatic
impl Clone for FloatingPointType
impl Clone for IntegerType
impl Clone for TargetLanguage
impl Clone for Level
impl Clone for LevelFilter
impl Clone for AsciiChar
impl Clone for uniffi::deps::static_assertions::_core::cmp::Ordering
impl Clone for Infallible
impl Clone for uniffi::deps::static_assertions::_core::fmt::Alignment
impl Clone for DebugAsHex
impl Clone for Sign
impl Clone for IpAddr
impl Clone for Ipv6MulticastScope
impl Clone for uniffi::deps::static_assertions::_core::net::SocketAddr
impl Clone for FpCategory
impl Clone for IntErrorKind
impl Clone for GetManyMutError
impl Clone for SearchStep
impl Clone for uniffi::deps::static_assertions::_core::sync::atomic::Ordering
impl Clone for TryReserveErrorKind
impl Clone for VarError
impl Clone for SeekFrom
impl Clone for std::io::error::ErrorKind
impl Clone for Shutdown
impl Clone for BacktraceStyle
impl Clone for std::sync::mpsc::RecvTimeoutError
impl Clone for std::sync::mpsc::TryRecvError
impl Clone for _Unwind_Action
impl Clone for _Unwind_Reason_Code
impl Clone for bool
impl Clone for char
impl Clone for f16
impl Clone for f32
impl Clone for f64
impl Clone for f128
impl Clone for i8
impl Clone for i16
impl Clone for i32
impl Clone for i64
impl Clone for i128
impl Clone for isize
impl Clone for !
impl Clone for u8
impl Clone for u16
impl Clone for u32
impl Clone for u64
impl Clone for u128
impl Clone for usize
impl Clone for StripBytes
impl Clone for StripStr
impl Clone for WinconBytes
impl Clone for Ansi256Color
impl Clone for RgbColor
impl Clone for EffectIter
impl Clone for Effects
impl Clone for Reset
impl Clone for Style
impl Clone for Params
impl Clone for AsciiParser
impl Clone for Utf8Parser
impl Clone for LoopItem
impl Clone for FromPathBufError
impl Clone for FromPathError
impl Clone for Utf8PathBuf
impl Clone for Dependency
impl Clone for Diagnostic
impl Clone for DiagnosticCode
impl Clone for DiagnosticSpan
impl Clone for DiagnosticSpanLine
impl Clone for DiagnosticSpanMacroExpansion
impl Clone for Artifact
impl Clone for ArtifactProfile
impl Clone for BuildFinished
impl Clone for BuildScript
impl Clone for CompilerMessage
impl Clone for DepKindInfo
impl Clone for cargo_metadata::Metadata
impl Clone for MetadataCommand
impl Clone for Node
impl Clone for NodeDep
impl Clone for Package
impl Clone for PackageId
impl Clone for Resolve
impl Clone for cargo_metadata::Source
impl Clone for Target
impl Clone for Arg
impl Clone for ArgGroup
impl Clone for Command
impl Clone for OsStr
impl Clone for PossibleValue
impl Clone for ValueRange
impl Clone for Str
impl Clone for StyledStr
impl Clone for Styles
impl Clone for BoolValueParser
impl Clone for BoolishValueParser
impl Clone for FalseyValueParser
impl Clone for NonEmptyStringValueParser
impl Clone for OsStringValueParser
impl Clone for PathBufValueParser
impl Clone for PossibleValuesParser
impl Clone for StringValueParser
impl Clone for UnknownArgumentValueParser
impl Clone for ValueParser
impl Clone for ArgMatches
impl Clone for Id
impl Clone for ArgCursor
impl Clone for RawArgs
impl Clone for fs_err::open_options::OpenOptions
impl Clone for MatchOptions
impl Clone for Pattern
impl Clone for MemberHeader
impl Clone for Ctx
impl Clone for goblin::elf::compression_header::compression_header32::CompressionHeader
impl Clone for goblin::elf::compression_header::compression_header64::CompressionHeader
impl Clone for goblin::elf::compression_header::CompressionHeader
impl Clone for goblin::elf::dynamic::dyn32::Dyn
impl Clone for goblin::elf::dynamic::dyn64::Dyn
impl Clone for goblin::elf::dynamic::Dyn
impl Clone for goblin::elf::header::header32::Header
impl Clone for goblin::elf::header::header64::Header
impl Clone for goblin::elf::header::Header
impl Clone for Nhdr32
impl Clone for Nhdr64
impl Clone for goblin::elf::program_header::program_header32::ProgramHeader
impl Clone for goblin::elf::program_header::program_header64::ProgramHeader
impl Clone for goblin::elf::program_header::ProgramHeader
impl Clone for goblin::elf::reloc::reloc32::Rel
impl Clone for goblin::elf::reloc::reloc32::Rela
impl Clone for goblin::elf::reloc::reloc64::Rel
impl Clone for goblin::elf::reloc::reloc64::Rela
impl Clone for Reloc
impl Clone for goblin::elf::section_header::section_header32::SectionHeader
impl Clone for goblin::elf::section_header::section_header64::SectionHeader
impl Clone for goblin::elf::section_header::SectionHeader
impl Clone for goblin::elf::sym::Sym
impl Clone for goblin::elf::sym::sym32::Sym
impl Clone for goblin::elf::sym::sym64::Sym
impl Clone for FatArch
impl Clone for FatHeader
impl Clone for Header32
impl Clone for Header64
impl Clone for goblin::mach::header::Header
impl Clone for BuildToolVersion
impl Clone for BuildVersionCommand
impl Clone for DataInCodeEntry
impl Clone for DyldInfoCommand
impl Clone for Dylib
impl Clone for DylibCommand
impl Clone for DylibModule64
impl Clone for DylibModule
impl Clone for DylibReference
impl Clone for DylibTableOfContents
impl Clone for DylinkerCommand
impl Clone for DysymtabCommand
impl Clone for EncryptionInfoCommand32
impl Clone for EncryptionInfoCommand64
impl Clone for EntryPointCommand
impl Clone for FvmfileCommand
impl Clone for Fvmlib
impl Clone for FvmlibCommand
impl Clone for IdentCommand
impl Clone for LinkeditDataCommand
impl Clone for LinkerOptionCommand
impl Clone for LoadCommandHeader
impl Clone for PrebindCksumCommand
impl Clone for PreboundDylibCommand
impl Clone for RoutinesCommand32
impl Clone for RoutinesCommand64
impl Clone for RpathCommand
impl Clone for Section32
impl Clone for Section64
impl Clone for SegmentCommand32
impl Clone for SegmentCommand64
impl Clone for SourceVersionCommand
impl Clone for SubClientCommand
impl Clone for SubFrameworkCommand
impl Clone for SubLibraryCommand
impl Clone for SubUmbrellaCommand
impl Clone for SymsegCommand
impl Clone for SymtabCommand
impl Clone for ThreadCommand
impl Clone for TwolevelHint
impl Clone for TwolevelHintsCommand
impl Clone for UuidCommand
impl Clone for VersionMinCommand
impl Clone for RelocationInfo
impl Clone for Nlist32
impl Clone for Nlist64
impl Clone for Nlist
impl Clone for SymbolsCtx
impl Clone for DataDirectories
impl Clone for DataDirectory
impl Clone for ImageDebugDirectory
impl Clone for Register
impl Clone for RuntimeFunction
impl Clone for UnwindCode
impl Clone for ExportDirectoryTable
impl Clone for CoffHeader
impl Clone for DosHeader
impl Clone for goblin::pe::header::Header
impl Clone for OptionalHeader
impl Clone for StandardFields32
impl Clone for StandardFields64
impl Clone for StandardFields
impl Clone for WindowsFields32
impl Clone for WindowsFields64
impl Clone for ParseOptions
impl Clone for Relocation
impl Clone for SectionTable
impl Clone for AuxBeginAndEndFunction
impl Clone for AuxFunctionDefinition
impl Clone for AuxSectionDefinition
impl Clone for AuxWeakExternal
impl Clone for goblin::pe::symbol::Symbol
impl Clone for itoa::Buffer
impl Clone for memchr::arch::all::memchr::One
impl Clone for memchr::arch::all::memchr::Three
impl Clone for memchr::arch::all::memchr::Two
impl Clone for memchr::arch::all::packedpair::Finder
impl Clone for Pair
impl Clone for memchr::arch::all::rabinkarp::Finder
impl Clone for memchr::arch::all::rabinkarp::FinderRev
impl Clone for memchr::arch::all::twoway::Finder
impl Clone for memchr::arch::all::twoway::FinderRev
impl Clone for memchr::arch::x86_64::avx2::memchr::One
impl Clone for memchr::arch::x86_64::avx2::memchr::Three
impl Clone for memchr::arch::x86_64::avx2::memchr::Two
impl Clone for memchr::arch::x86_64::avx2::packedpair::Finder
impl Clone for memchr::arch::x86_64::sse2::memchr::One
impl Clone for memchr::arch::x86_64::sse2::memchr::Three
impl Clone for memchr::arch::x86_64::sse2::memchr::Two
impl Clone for memchr::arch::x86_64::sse2::packedpair::Finder
impl Clone for FinderBuilder
impl Clone for oneshot_uniffi::errors::RecvError
impl Clone for ryu::buffer::Buffer
impl Clone for Sleb128
impl Clone for Uleb128
impl Clone for BuildMetadata
impl Clone for Comparator
impl Clone for Prerelease
impl Clone for Version
impl Clone for VersionReq
impl Clone for IgnoredAny
impl Clone for serde::de::value::Error
impl Clone for serde_json::map::Map<String, Value>
impl Clone for Number
impl Clone for CompactFormatter
impl Clone for Hash128
impl Clone for siphasher::sip128::SipHasher13
impl Clone for siphasher::sip128::SipHasher24
impl Clone for siphasher::sip128::SipHasher
impl Clone for siphasher::sip::SipHasher13
impl Clone for siphasher::sip::SipHasher24
impl Clone for siphasher::sip::SipHasher
impl Clone for Date
impl Clone for Datetime
impl Clone for DatetimeParseError
impl Clone for Time
impl Clone for toml::de::Error
impl Clone for toml::map::Map<String, Value>
impl Clone for TemplateExpression
impl Clone for uniffi_bindgen::bindings::kotlin::gen_kotlin::Config
impl Clone for uniffi_bindgen::bindings::kotlin::gen_kotlin::CustomTypeConfig
impl Clone for KotlinCodeOracle
impl Clone for uniffi_bindgen::bindings::python::gen_python::Config
impl Clone for uniffi_bindgen::bindings::python::gen_python::CustomTypeConfig
impl Clone for PythonCodeOracle
impl Clone for uniffi_bindgen::bindings::ruby::gen_ruby::Config
impl Clone for uniffi_bindgen::bindings::Config
impl Clone for RunScriptOptions
impl Clone for uniffi_bindgen::bindings::swift::gen_swift::Config
impl Clone for uniffi_bindgen::bindings::swift::gen_swift::CustomTypeConfig
impl Clone for SwiftCodeOracle
impl Clone for CallbackInterface
impl Clone for uniffi_bindgen::interface::enum_::Enum
impl Clone for Variant
impl Clone for FfiArgument
impl Clone for FfiFunction
impl Clone for uniffi_bindgen::interface::function::Argument
impl Clone for Function
impl Clone for uniffi_bindgen::interface::object::Constructor
impl Clone for Method
impl Clone for uniffi_bindgen::interface::object::Object
impl Clone for Field
impl Clone for uniffi_bindgen::interface::record::Record
impl Clone for uniffi_bindgen::Config
impl Clone for EmptyBindingsConfig
impl Clone for CallbackInterfaceMetadata
impl Clone for ConstructorMetadata
impl Clone for CustomTypeMetadata
impl Clone for EnumMetadata
impl Clone for FieldMetadata
impl Clone for FnMetadata
impl Clone for FnParamMetadata
impl Clone for MethodMetadata
impl Clone for NamespaceMetadata
impl Clone for ObjectMetadata
impl Clone for RecordMetadata
impl Clone for TraitMethodMetadata
impl Clone for UdlFile
impl Clone for VariantMetadata
impl Clone for utf8parse::Parser
impl Clone for BooleanLit
impl Clone for EmptyArrayLit
impl Clone for EmptyDictionaryLit
impl Clone for Any
impl Clone for ArrayBuffer
impl Clone for ArrayBufferView
impl Clone for Assign
impl Clone for Async
impl Clone for Attribute
impl Clone for Boolean
impl Clone for BufferSource
impl Clone for Byte
impl Clone for ByteString
impl Clone for Callback
impl Clone for CloseBrace
impl Clone for CloseBracket
impl Clone for CloseParen
impl Clone for Colon
impl Clone for Comma
impl Clone for Const
impl Clone for weedle::term::Constructor
impl Clone for DOMString
impl Clone for DataView
impl Clone for Deleter
impl Clone for Dictionary
impl Clone for Dot
impl Clone for Double
impl Clone for Ellipsis
impl Clone for weedle::term::Enum
impl Clone for weedle::term::Error
impl Clone for False
impl Clone for Float32Array
impl Clone for Float64Array
impl Clone for Float
impl Clone for FrozenArray
impl Clone for Getter
impl Clone for GreaterThan
impl Clone for Implements
impl Clone for Includes
impl Clone for Infinity
impl Clone for Inherit
impl Clone for Int8Array
impl Clone for Int16Array
impl Clone for Int32Array
impl Clone for Interface
impl Clone for Iterable
impl Clone for LegacyCaller
impl Clone for LessThan
impl Clone for Long
impl Clone for Maplike
impl Clone for Minus
impl Clone for Mixin
impl Clone for NaN
impl Clone for Namespace
impl Clone for NegInfinity
impl Clone for Null
impl Clone for weedle::term::Object
impl Clone for Octet
impl Clone for OpenBrace
impl Clone for OpenBracket
impl Clone for OpenParen
impl Clone for Optional
impl Clone for Or
impl Clone for Partial
impl Clone for Promise
impl Clone for QMark
impl Clone for ReadOnly
impl Clone for weedle::term::Record
impl Clone for Required
impl Clone for SemiColon
impl Clone for Sequence
impl Clone for Setlike
impl Clone for Setter
impl Clone for Short
impl Clone for Static
impl Clone for Stringifier
impl Clone for weedle::term::Symbol
impl Clone for True
impl Clone for Typedef
impl Clone for USVString
impl Clone for Uint8Array
impl Clone for Uint8ClampedArray
impl Clone for Uint16Array
impl Clone for Uint32Array
impl Clone for Undefined
impl Clone for Unrestricted
impl Clone for Unsigned
impl Clone for DoubleType
impl Clone for FloatType
impl Clone for LongLongType
impl Clone for LongType
impl Clone for ShortType
impl Clone for ForeignExecutorHandle
impl Clone for uniffi::deps::bytes::Bytes
impl Clone for BytesMut
impl Clone for AllocError
impl Clone for Layout
impl Clone for LayoutError
impl Clone for TypeId
impl Clone for CpuidResult
impl Clone for __m128
impl Clone for __m128bh
impl Clone for __m128d
impl Clone for __m128h
impl Clone for __m128i
impl Clone for __m256
impl Clone for __m256bh
impl Clone for __m256d
impl Clone for __m256h
impl Clone for __m256i
impl Clone for __m512
impl Clone for __m512bh
impl Clone for __m512d
impl Clone for __m512h
impl Clone for __m512i
impl Clone for bf16
impl Clone for TryFromSliceError
impl Clone for uniffi::deps::static_assertions::_core::ascii::EscapeDefault
impl Clone for CharTryFromError
impl Clone for DecodeUtf16Error
impl Clone for uniffi::deps::static_assertions::_core::char::EscapeDebug
impl Clone for uniffi::deps::static_assertions::_core::char::EscapeDefault
impl Clone for uniffi::deps::static_assertions::_core::char::EscapeUnicode
impl Clone for ParseCharError
impl Clone for ToLowercase
impl Clone for ToUppercase
impl Clone for TryFromCharError
impl Clone for FromBytesUntilNulError
impl Clone for FromBytesWithNulError
impl Clone for uniffi::deps::static_assertions::_core::fmt::Error
impl Clone for FormattingOptions
impl Clone for uniffi::deps::static_assertions::_core::hash::SipHasher
impl Clone for PhantomPinned
impl Clone for Assume
impl Clone for AddrParseError
impl Clone for Ipv4Addr
impl Clone for Ipv6Addr
impl Clone for SocketAddrV4
impl Clone for SocketAddrV6
impl Clone for ParseFloatError
impl Clone for ParseIntError
impl Clone for TryFromIntError
impl Clone for RangeFull
impl Clone for uniffi::deps::static_assertions::_core::ptr::Alignment
impl Clone for ParseBoolError
impl Clone for Utf8Error
impl Clone for LocalWaker
impl Clone for RawWakerVTable
impl Clone for Waker
impl Clone for Duration
impl Clone for TryFromFloatSecsError
impl Clone for Global
impl Clone for Box<str>
impl Clone for Box<Utf8Path>
impl Clone for Box<CStr>
impl Clone for Box<OsStr>
impl Clone for Box<Path>
impl Clone for UnorderedKeyError
impl Clone for TryReserveError
impl Clone for CString
impl Clone for FromVecWithNulError
impl Clone for IntoStringError
impl Clone for NulError
impl Clone for FromUtf8Error
impl Clone for String
impl Clone for System
impl Clone for OsString
impl Clone for FileTimes
impl Clone for FileType
impl Clone for std::fs::Metadata
impl Clone for std::fs::OpenOptions
impl Clone for Permissions
impl Clone for DefaultHasher
impl Clone for RandomState
impl Clone for std::io::util::Empty
impl Clone for Sink
impl Clone for stat
impl Clone for std::os::unix::net::addr::SocketAddr
impl Clone for SocketCred
impl Clone for UCred
impl Clone for PathBuf
impl Clone for StripPrefixError
impl Clone for ExitCode
impl Clone for ExitStatus
impl Clone for ExitStatusError
impl Clone for Output
impl Clone for DefaultRandomSource
impl Clone for std::sync::mpsc::RecvError
impl Clone for WaitTimeoutResult
impl Clone for AccessError
impl Clone for Thread
impl Clone for ThreadId
impl Clone for Instant
impl Clone for SystemTime
impl Clone for SystemTimeError
impl<'a> Clone for Utf8Component<'a>
impl<'a> Clone for Utf8Prefix<'a>
impl<'a> Clone for UnwindHandler<'a>
impl<'a> Clone for SyntheticImportLookupTableEntry<'a>
impl<'a> Clone for Unexpected<'a>
impl<'a> Clone for weedle::argument::Argument<'a>
impl<'a> Clone for ExtendedAttribute<'a>
impl<'a> Clone for IdentifierOrString<'a>
impl<'a> Clone for Definition<'a>
impl<'a> Clone for AsyncIterableInterfaceMember<'a>
impl<'a> Clone for InterfaceMember<'a>
impl<'a> Clone for IterableInterfaceMember<'a>
impl<'a> Clone for ConstValue<'a>
impl<'a> Clone for DefaultValue<'a>
impl<'a> Clone for FloatLit<'a>
impl<'a> Clone for IntegerLit<'a>
impl<'a> Clone for MixinMember<'a>
impl<'a> Clone for NamespaceMember<'a>
impl<'a> Clone for ConstType<'a>
impl<'a> Clone for NonAnyType<'a>
impl<'a> Clone for RecordKeyType<'a>
impl<'a> Clone for ReturnType<'a>
impl<'a> Clone for SingleType<'a>
impl<'a> Clone for weedle::types::Type<'a>
impl<'a> Clone for UnionMemberType<'a>
impl<'a> Clone for Utf8Pattern<'a>
impl<'a> Clone for Component<'a>
impl<'a> Clone for Prefix<'a>
impl<'a> Clone for camino::Iter<'a>
impl<'a> Clone for Utf8Ancestors<'a>
impl<'a> Clone for Utf8Components<'a>
impl<'a> Clone for Utf8PrefixComponent<'a>
impl<'a> Clone for IdsRef<'a>
impl<'a> Clone for Indices<'a>
impl<'a> Clone for RawValues<'a>
impl<'a> Clone for goblin::archive::Header<'a>
impl<'a> Clone for Member<'a>
impl<'a> Clone for CodeviewPDB70DebugInfo<'a>
impl<'a> Clone for DebugData<'a>
impl<'a> Clone for UnwindCodeIterator<'a>
impl<'a> Clone for UnwindInfo<'a>
impl<'a> Clone for HintNameTableEntry<'a>
impl<'a> Clone for PrettyFormatter<'a>
impl<'a> Clone for SingleArgument<'a>
impl<'a> Clone for VariadicArgument<'a>
impl<'a> Clone for ExtendedAttributeArgList<'a>
impl<'a> Clone for ExtendedAttributeIdent<'a>
impl<'a> Clone for ExtendedAttributeIdentList<'a>
impl<'a> Clone for ExtendedAttributeNamedArgList<'a>
impl<'a> Clone for ExtendedAttributeNoArgs<'a>
impl<'a> Clone for Default<'a>
impl<'a> Clone for Identifier<'a>
impl<'a> Clone for DictionaryMember<'a>
impl<'a> Clone for AttributeInterfaceMember<'a>
impl<'a> Clone for ConstMember<'a>
impl<'a> Clone for ConstructorInterfaceMember<'a>
impl<'a> Clone for DoubleTypedAsyncIterable<'a>
impl<'a> Clone for DoubleTypedIterable<'a>
impl<'a> Clone for Inheritance<'a>
impl<'a> Clone for MaplikeInterfaceMember<'a>
impl<'a> Clone for OperationInterfaceMember<'a>
impl<'a> Clone for SetlikeInterfaceMember<'a>
impl<'a> Clone for SingleTypedAsyncIterable<'a>
impl<'a> Clone for SingleTypedIterable<'a>
impl<'a> Clone for StringifierMember<'a>
impl<'a> Clone for DecLit<'a>
impl<'a> Clone for FloatValueLit<'a>
impl<'a> Clone for HexLit<'a>
impl<'a> Clone for OctLit<'a>
impl<'a> Clone for StringLit<'a>
impl<'a> Clone for AttributeMixinMember<'a>
impl<'a> Clone for OperationMixinMember<'a>
impl<'a> Clone for AttributeNamespaceMember<'a>
impl<'a> Clone for OperationNamespaceMember<'a>
impl<'a> Clone for CallbackDefinition<'a>
impl<'a> Clone for CallbackInterfaceDefinition<'a>
impl<'a> Clone for DictionaryDefinition<'a>
impl<'a> Clone for EnumDefinition<'a>
impl<'a> Clone for ImplementsDefinition<'a>
impl<'a> Clone for IncludesStatementDefinition<'a>
impl<'a> Clone for InterfaceDefinition<'a>
impl<'a> Clone for InterfaceMixinDefinition<'a>
impl<'a> Clone for NamespaceDefinition<'a>
impl<'a> Clone for PartialDictionaryDefinition<'a>
impl<'a> Clone for PartialInterfaceDefinition<'a>
impl<'a> Clone for PartialInterfaceMixinDefinition<'a>
impl<'a> Clone for PartialNamespaceDefinition<'a>
impl<'a> Clone for TypedefDefinition<'a>
impl<'a> Clone for AttributedNonAnyType<'a>
impl<'a> Clone for AttributedType<'a>
impl<'a> Clone for FrozenArrayType<'a>
impl<'a> Clone for PromiseType<'a>
impl<'a> Clone for RecordType<'a>
impl<'a> Clone for SequenceType<'a>
impl<'a> Clone for uniffi::deps::anyhow::Chain<'a>
impl<'a> Clone for uniffi::deps::log::Metadata<'a>
impl<'a> Clone for uniffi::deps::log::Record<'a>
impl<'a> Clone for uniffi::deps::static_assertions::_core::error::Source<'a>
impl<'a> Clone for uniffi::deps::static_assertions::_core::ffi::c_str::Bytes<'a>
impl<'a> Clone for Arguments<'a>
impl<'a> Clone for Location<'a>
impl<'a> Clone for EscapeAscii<'a>
impl<'a> Clone for CharSearcher<'a>
impl<'a> Clone for uniffi::deps::static_assertions::_core::str::Bytes<'a>
impl<'a> Clone for CharIndices<'a>
impl<'a> Clone for Chars<'a>
impl<'a> Clone for EncodeUtf16<'a>
impl<'a> Clone for uniffi::deps::static_assertions::_core::str::EscapeDebug<'a>
impl<'a> Clone for uniffi::deps::static_assertions::_core::str::EscapeDefault<'a>
impl<'a> Clone for uniffi::deps::static_assertions::_core::str::EscapeUnicode<'a>
impl<'a> Clone for Lines<'a>
impl<'a> Clone for LinesAny<'a>
impl<'a> Clone for SplitAsciiWhitespace<'a>
impl<'a> Clone for SplitWhitespace<'a>
impl<'a> Clone for Utf8Chunk<'a>
impl<'a> Clone for Utf8Chunks<'a>
impl<'a> Clone for IoSlice<'a>
impl<'a> Clone for Ancestors<'a>
impl<'a> Clone for Components<'a>
impl<'a> Clone for std::path::Iter<'a>
impl<'a> Clone for PrefixComponent<'a>
impl<'a, 'b> Clone for CharSliceSearcher<'a, 'b>
impl<'a, 'b> Clone for StrSearcher<'a, 'b>
impl<'a, 'b, const N: usize> Clone for CharArrayRefSearcher<'a, 'b, N>
impl<'a, 'h> Clone for memchr::arch::all::memchr::OneIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::all::memchr::ThreeIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::all::memchr::TwoIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::x86_64::avx2::memchr::OneIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::x86_64::avx2::memchr::ThreeIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::x86_64::avx2::memchr::TwoIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::x86_64::sse2::memchr::OneIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::x86_64::sse2::memchr::ThreeIter<'a, 'h>
impl<'a, 'h> Clone for memchr::arch::x86_64::sse2::memchr::TwoIter<'a, 'h>
impl<'a, E> Clone for BytesDeserializer<'a, E>
impl<'a, E> Clone for CowStrDeserializer<'a, E>
impl<'a, F> Clone for CharPredicateSearcher<'a, F>
impl<'a, K> Clone for alloc::collections::btree::set::Cursor<'a, K>where
K: Clone + 'a,
impl<'a, P> Clone for MatchIndices<'a, P>
impl<'a, P> Clone for Matches<'a, P>
impl<'a, P> Clone for RMatchIndices<'a, P>
impl<'a, P> Clone for RMatches<'a, P>
impl<'a, P> Clone for uniffi::deps::static_assertions::_core::str::RSplit<'a, P>
impl<'a, P> Clone for RSplitN<'a, P>
impl<'a, P> Clone for RSplitTerminator<'a, P>
impl<'a, P> Clone for uniffi::deps::static_assertions::_core::str::Split<'a, P>
impl<'a, P> Clone for uniffi::deps::static_assertions::_core::str::SplitInclusive<'a, P>
impl<'a, P> Clone for SplitN<'a, P>
impl<'a, P> Clone for SplitTerminator<'a, P>
impl<'a, T> Clone for ValuesRef<'a, T>where
T: Clone,
impl<'a, T> Clone for RChunksExact<'a, T>
impl<'a, T, const N: usize> Clone for ArrayWindows<'a, T, N>where
T: Clone + 'a,
impl<'a, const N: usize> Clone for CharArraySearcher<'a, N>
impl<'de, E> Clone for BorrowedBytesDeserializer<'de, E>
impl<'de, E> Clone for BorrowedStrDeserializer<'de, E>
impl<'de, E> Clone for StrDeserializer<'de, E>
impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
impl<'f> Clone for VaListImpl<'f>
impl<'fd> Clone for BorrowedFd<'fd>
impl<'h> Clone for Memchr2<'h>
impl<'h> Clone for Memchr3<'h>
impl<'h> Clone for Memchr<'h>
impl<'h, 'n> Clone for FindIter<'h, 'n>
impl<'h, 'n> Clone for FindRevIter<'h, 'n>
impl<'n> Clone for memchr::memmem::Finder<'n>
impl<'n> Clone for memchr::memmem::FinderRev<'n>
impl<'s> Clone for StrippedBytes<'s>
impl<'s> Clone for StrippedStr<'s>
impl<'s> Clone for ParsedArg<'s>
impl<'s> Clone for ShortFlags<'s>
impl<A> Clone for EnumAccessDeserializer<A>where
A: Clone,
impl<A> Clone for MapAccessDeserializer<A>where
A: Clone,
impl<A> Clone for SeqAccessDeserializer<A>where
A: Clone,
impl<A> Clone for Repeat<A>where
A: Clone,
impl<A> Clone for RepeatN<A>where
A: Clone,
impl<A> Clone for uniffi::deps::static_assertions::_core::option::IntoIter<A>where
A: Clone,
impl<A> Clone for uniffi::deps::static_assertions::_core::option::Iter<'_, A>
impl<A> Clone for IterRange<A>where
A: Clone,
impl<A> Clone for IterRangeFrom<A>where
A: Clone,
impl<A> Clone for IterRangeInclusive<A>where
A: Clone,
impl<A, B> Clone for uniffi::deps::static_assertions::_core::iter::Chain<A, B>
impl<A, B> Clone for Zip<A, B>
impl<B> Clone for Cow<'_, B>
impl<B, C> Clone for ControlFlow<B, C>
impl<C> Clone for anstyle_parse::Parser<C>where
C: Clone,
impl<Dyn> Clone for DynMetadata<Dyn>where
Dyn: ?Sized,
impl<E> Clone for Err<E>where
E: Clone,
impl<E> Clone for EnumValueParser<E>
impl<E> Clone for BoolDeserializer<E>
impl<E> Clone for CharDeserializer<E>
impl<E> Clone for F32Deserializer<E>
impl<E> Clone for F64Deserializer<E>
impl<E> Clone for I8Deserializer<E>
impl<E> Clone for I16Deserializer<E>
impl<E> Clone for I32Deserializer<E>
impl<E> Clone for I64Deserializer<E>
impl<E> Clone for I128Deserializer<E>
impl<E> Clone for IsizeDeserializer<E>
impl<E> Clone for StringDeserializer<E>
impl<E> Clone for U8Deserializer<E>
impl<E> Clone for U16Deserializer<E>
impl<E> Clone for U32Deserializer<E>
impl<E> Clone for U64Deserializer<E>
impl<E> Clone for U128Deserializer<E>
impl<E> Clone for UnitDeserializer<E>
impl<E> Clone for UsizeDeserializer<E>
impl<F> Clone for FromFn<F>where
F: Clone,
impl<F> Clone for OnceWith<F>where
F: Clone,
impl<F> Clone for RepeatWith<F>where
F: Clone,
impl<H> Clone for BuildHasherDefault<H>
impl<I> Clone for VerboseError<I>where
I: Clone,
impl<I> Clone for FromIter<I>where
I: Clone,
impl<I> Clone for DecodeUtf16<I>
impl<I> Clone for Cloned<I>where
I: Clone,
impl<I> Clone for Copied<I>where
I: Clone,
impl<I> Clone for Cycle<I>where
I: Clone,
impl<I> Clone for Enumerate<I>where
I: Clone,
impl<I> Clone for Fuse<I>where
I: Clone,
impl<I> Clone for Intersperse<I>
impl<I> Clone for Peekable<I>
impl<I> Clone for Skip<I>where
I: Clone,
impl<I> Clone for StepBy<I>where
I: Clone,
impl<I> Clone for Take<I>where
I: Clone,
impl<I, E> Clone for SeqDeserializer<I, E>
impl<I, F> Clone for FilterMap<I, F>
impl<I, F> Clone for Inspect<I, F>
impl<I, F> Clone for uniffi::deps::static_assertions::_core::iter::Map<I, F>
impl<I, F, const N: usize> Clone for MapWindows<I, F, N>
impl<I, G> Clone for IntersperseWith<I, G>
impl<I, P> Clone for Filter<I, P>
impl<I, P> Clone for MapWhile<I, P>
impl<I, P> Clone for SkipWhile<I, P>
impl<I, P> Clone for TakeWhile<I, P>
impl<I, St, F> Clone for Scan<I, St, F>
impl<I, U> Clone for Flatten<I>
impl<I, U, F> Clone for FlatMap<I, U, F>
impl<I, const N: usize> Clone for uniffi::deps::static_assertions::_core::iter::ArrayChunks<I, N>
impl<Idx> Clone for uniffi::deps::static_assertions::_core::ops::Range<Idx>where
Idx: Clone,
impl<Idx> Clone for uniffi::deps::static_assertions::_core::ops::RangeFrom<Idx>where
Idx: Clone,
impl<Idx> Clone for uniffi::deps::static_assertions::_core::ops::RangeInclusive<Idx>where
Idx: Clone,
impl<Idx> Clone for RangeTo<Idx>where
Idx: Clone,
impl<Idx> Clone for RangeToInclusive<Idx>where
Idx: Clone,
impl<Idx> Clone for uniffi::deps::static_assertions::_core::range::Range<Idx>where
Idx: Clone,
impl<Idx> Clone for uniffi::deps::static_assertions::_core::range::RangeFrom<Idx>where
Idx: Clone,
impl<Idx> Clone for uniffi::deps::static_assertions::_core::range::RangeInclusive<Idx>where
Idx: Clone,
impl<K> Clone for std::collections::hash::set::Iter<'_, K>
impl<K, V> Clone for alloc::collections::btree::map::Cursor<'_, K, V>
impl<K, V> Clone for alloc::collections::btree::map::Iter<'_, K, V>
impl<K, V> Clone for alloc::collections::btree::map::Keys<'_, K, V>
impl<K, V> Clone for alloc::collections::btree::map::Range<'_, K, V>
impl<K, V> Clone for alloc::collections::btree::map::Values<'_, K, V>
impl<K, V> Clone for std::collections::hash::map::Iter<'_, K, V>
impl<K, V> Clone for std::collections::hash::map::Keys<'_, K, V>
impl<K, V> Clone for std::collections::hash::map::Values<'_, K, V>
impl<K, V, A> Clone for BTreeMap<K, V, A>
impl<K, V, S> Clone for HashMap<K, V, S>
impl<P, F> Clone for MapValueParser<P, F>
impl<P, F> Clone for TryMapValueParser<P, F>
impl<Ptr> Clone for Pin<Ptr>where
Ptr: Clone,
impl<T> !Clone for &mut Twhere
T: ?Sized,
Shared references can be cloned, but mutable references cannot!
impl<T> Clone for Resettable<T>where
T: Clone,
impl<T> Clone for Bound<T>where
T: Clone,
impl<T> Clone for Option<T>where
T: Clone,
impl<T> Clone for Poll<T>where
T: Clone,
impl<T> Clone for SendTimeoutError<T>where
T: Clone,
impl<T> Clone for TrySendError<T>where
T: Clone,
impl<T> Clone for *const Twhere
T: ?Sized,
impl<T> Clone for *mut Twhere
T: ?Sized,
impl<T> Clone for &Twhere
T: ?Sized,
Shared references can be cloned, but mutable references cannot!