Trait Clone

1.6.0 (const: unstable) · 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 that allows explicit creation of a duplicate value.

Calling clone always produces a new value. However, for types that are references to other data (such as smart pointers or references), the new value may still point to the same underlying data, rather than duplicating it. See Clone::clone for more details.

This distinction is especially important when using #[derive(Clone)] on structs containing smart pointers like Arc<Mutex<T>> - the cloned struct will share mutable state with the original.

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.

§Clone and PartialEq/Eq

Clone is intended for the duplication of objects. Consequently, when implementing both Clone and PartialEq, the following property is expected to hold:

x == x -> x.clone() == x

In other words, if an object compares equal to itself, its clone must also compare equal to the original.

For types that also implement Eq – for which x == x always holds – this implies that x.clone() == x must always be true. Standard library collections such as HashMap, HashSet, BTreeMap, BTreeSet and BinaryHeap rely on their keys respecting this property for correct behavior. Furthermore, these collections require that cloning a key preserves the outcome of the Hash and Ord methods. Thankfully, this follows automatically from x.clone() == x if Hash and Ord are correctly implemented according to their own requirements.

When deriving both Clone and PartialEq using #[derive(Clone, PartialEq)] or when additionally deriving Eq using #[derive(Clone, PartialEq, Eq)], then this property is automatically upheld – provided that it is satisfied by the underlying types.

Violating this property is a logic error. The behavior resulting from a logic error is not specified, but users of the trait must ensure that such logic errors do not result in undefined behavior. This means that unsafe code must not rely on this property being satisfied.

§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 duplicate of the value.

Note that what “duplicate” means varies by type:

  • For most types, this creates a deep, independent copy
  • For reference types like &T, this creates another reference to the same value
  • For smart pointers like Arc or Rc, this increments the reference count but still points to the same underlying data
§Examples
let hello = "Hello"; // &str implements Clone

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

Example with a reference-counted type:

use std::sync::{Arc, Mutex};

let data = Arc::new(Mutex::new(vec![1, 2, 3]));
let data_clone = data.clone(); // Creates another Arc pointing to the same Mutex

{
    let mut lock = data.lock().unwrap();
    lock.push(4);
}

// Changes are visible through the clone because they share the same underlying data
assert_eq!(*data_clone.lock().unwrap(), vec![1, 2, 3, 4]);

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§

Source§

impl Clone for AsciiChar

1.0.0 · Source§

impl Clone for llm_tools::ser::core::cmp::Ordering

1.34.0 (const: unstable) · Source§

impl Clone for Infallible

1.64.0 · Source§

impl Clone for FromBytesWithNulError

1.28.0 · Source§

impl Clone for llm_tools::ser::core::fmt::Alignment

Source§

impl Clone for DebugAsHex

Source§

impl Clone for Sign

1.7.0 · Source§

impl Clone for llm_tools::ser::core::net::IpAddr

Source§

impl Clone for Ipv6MulticastScope

1.0.0 · Source§

impl Clone for SocketAddr

1.0.0 · Source§

impl Clone for FpCategory

1.55.0 · Source§

impl Clone for IntErrorKind

1.86.0 · Source§

impl Clone for llm_tools::ser::core::slice::GetDisjointMutError

Source§

impl Clone for SearchStep

1.0.0 · Source§

impl Clone for llm_tools::ser::core::sync::atomic::Ordering

Source§

impl Clone for TryReserveErrorKind

1.0.0 · Source§

impl Clone for VarError

1.0.0 · Source§

impl Clone for SeekFrom

1.0.0 · Source§

impl Clone for ErrorKind

1.0.0 · Source§

impl Clone for Shutdown

Source§

impl Clone for BacktraceStyle

1.12.0 · Source§

impl Clone for RecvTimeoutError

1.0.0 · Source§

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

Source§

impl Clone for base64::decode::DecodeError

Source§

impl Clone for DecodeSliceError

Source§

impl Clone for EncodeSliceError

Source§

impl Clone for DecodePaddingMode

Source§

impl Clone for byteorder::BigEndian

Source§

impl Clone for byteorder::LittleEndian

Source§

impl Clone for BitOrder

Source§

impl Clone for DecodeKind

Source§

impl Clone for TruncSide

Source§

impl Clone for LineType

Source§

impl Clone for PollNext

Source§

impl Clone for hashbrown::TryReserveError

Source§

impl Clone for httparse::Error

Source§

impl Clone for TrieResult

Source§

impl Clone for TrieType

Source§

impl Clone for icu_collections::codepointtrie::error::Error

Source§

impl Clone for ExtensionType

Source§

impl Clone for icu_locale_core::parser::errors::ParseError

Source§

impl Clone for BidiPairedBracketType

Source§

impl Clone for GeneralCategory

Source§

impl Clone for BufferFormat

Source§

impl Clone for DataErrorKind

Source§

impl Clone for DnsLength

Source§

impl Clone for ErrorPolicy

Source§

impl Clone for Hyphens

Source§

impl Clone for ProcessingError

Source§

impl Clone for ProcessingSuccess

Source§

impl Clone for indexmap::GetDisjointMutError

Source§

impl Clone for IpAddrRange

Source§

impl Clone for IpNet

Source§

impl Clone for IpSubnets

Source§

impl Clone for IriSpec

Source§

impl Clone for UriSpec

Source§

impl Clone for VisitPurpose

Source§

impl Clone for iri_string::template::simple_context::Value

Source§

impl Clone for log::Level

Source§

impl Clone for log::LevelFilter

Source§

impl Clone for PrefilterConfig

Source§

impl Clone for native_tls::Protocol

Source§

impl Clone for ServerEvent

Source§

impl Clone for AudioFormat

Source§

impl Clone for ContentPart

Source§

impl Clone for FunctionType

Source§

impl Clone for IncompleteReason

Source§

impl Clone for ItemContentType

Source§

impl Clone for ItemRole

Source§

impl Clone for ItemStatus

Source§

impl Clone for ItemType

Source§

impl Clone for MaxOutputTokens

Source§

impl Clone for RealtimeVoice

Source§

impl Clone for ResponseStatus

Source§

impl Clone for ResponseStatusDetail

Source§

impl Clone for ToolChoice

Source§

impl Clone for ToolDefinition

Source§

impl Clone for TurnDetection

Source§

impl Clone for FileSearchRanker

Source§

impl Clone for Tools

Source§

impl Clone for openai_api_rs::v1::chat_completion::Content

Source§

impl Clone for ContentType

Source§

impl Clone for openai_api_rs::v1::chat_completion::MessageRole

Source§

impl Clone for ToolChoiceType

Source§

impl Clone for ToolType

Source§

impl Clone for openai_api_rs::v1::message::MessageRole

Source§

impl Clone for openai_api_rs::v1::thread::MessageRole

Source§

impl Clone for JSONSchemaType

Source§

impl Clone for OnceState

Source§

impl Clone for FilterOp

Source§

impl Clone for ParkResult

Source§

impl Clone for RequeueOp

Source§

impl Clone for BernoulliError

Source§

impl Clone for WeightedError

Source§

impl Clone for IndexVec

Source§

impl Clone for IndexVecIntoIter

Source§

impl Clone for Primitive

Source§

impl Clone for SectionKind

Source§

impl Clone for rustls_pki_types::server_name::IpAddr

Source§

impl Clone for Algorithm

Source§

impl Clone for Direction

Source§

impl Clone for schannel::schannel_cred::Protocol

Source§

impl Clone for Category

Source§

impl Clone for serde_json::value::Value

Source§

impl Clone for serde_urlencoded::ser::Error

Source§

impl Clone for slab::GetDisjointMutError

Source§

impl Clone for InterfaceIndexOrAddress

Source§

impl Clone for Connector

Source§

impl Clone for PipeEnd

Source§

impl Clone for PipeMode

Source§

impl Clone for tokio::sync::broadcast::error::RecvError

Source§

impl Clone for tokio::sync::broadcast::error::TryRecvError

Source§

impl Clone for tokio::sync::mpsc::error::TryRecvError

Source§

impl Clone for tokio::sync::oneshot::error::TryRecvError

Source§

impl Clone for MissedTickBehavior

Source§

impl Clone for GrpcCode

Source§

impl Clone for LatencyUnit

Source§

impl Clone for Action

Source§

impl Clone for CapacityError

Source§

impl Clone for ProtocolError

Source§

impl Clone for SubProtocolError

Source§

impl Clone for Role

Source§

impl Clone for CloseCode

Source§

impl Clone for Control

Source§

impl Clone for Data

Source§

impl Clone for OpCode

Source§

impl Clone for tungstenite::protocol::message::Message

Source§

impl Clone for Mode

Source§

impl Clone for Origin

Source§

impl Clone for url::parser::ParseError

Source§

impl Clone for SyntaxViolation

Source§

impl Clone for Position

Source§

impl Clone for zerocopy::byteorder::BigEndian

Source§

impl Clone for zerocopy::byteorder::LittleEndian

Source§

impl Clone for ZeroTrieBuildError

Source§

impl Clone for UleError

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 AssistantObjectWrap

Manually implemented Clone, as FileData does not implement it.

Source§

impl Clone for FileDataWrap

Manually implemented Clone, as FileData does not implement it.

Source§

impl Clone for RunObjectWrap

Manually implemented Clone, as RunObject does not implement it.

Source§

impl Clone for IgnoredAny

Source§

impl Clone for llm_tools::ser::serde::de::value::Error

Source§

impl Clone for llm_tools::ser::core::alloc::AllocError

1.28.0 · Source§

impl Clone for Layout

1.50.0 · Source§

impl Clone for LayoutError

1.0.0 · Source§

impl Clone for TypeId

1.27.0 · Source§

impl Clone for CpuidResult

1.27.0 · Source§

impl Clone for __m128

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

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

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

impl Clone for TryFromSliceError

1.0.0 · Source§

impl Clone for llm_tools::ser::core::ascii::EscapeDefault

1.34.0 · Source§

impl Clone for CharTryFromError

1.9.0 · Source§

impl Clone for DecodeUtf16Error

1.20.0 · Source§

impl Clone for llm_tools::ser::core::char::EscapeDebug

1.0.0 · Source§

impl Clone for llm_tools::ser::core::char::EscapeDefault

1.0.0 · Source§

impl Clone for llm_tools::ser::core::char::EscapeUnicode

1.20.0 · Source§

impl Clone for ParseCharError

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.69.0 · Source§

impl Clone for FromBytesUntilNulError

1.0.0 · Source§

impl Clone for llm_tools::ser::core::fmt::Error

Source§

impl Clone for FormattingOptions

1.0.0 · Source§

impl Clone for SipHasher

1.33.0 · Source§

impl Clone for PhantomPinned

Source§

impl Clone for Assume

1.0.0 · Source§

impl Clone for llm_tools::ser::core::net::AddrParseError

1.0.0 · Source§

impl Clone for llm_tools::ser::core::net::Ipv4Addr

1.0.0 · Source§

impl Clone for llm_tools::ser::core::net::Ipv6Addr

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

1.0.0 · Source§

impl Clone for RangeFull

Source§

impl Clone for llm_tools::ser::core::ptr::Alignment

1.0.0 · Source§

impl Clone for ParseBoolError

1.0.0 · Source§

impl Clone for Utf8Error

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

Source§

impl Clone for Global

1.3.0 · Source§

impl Clone for Box<str>

Source§

impl Clone for Box<ByteStr>

1.29.0 · Source§

impl Clone for Box<CStr>

1.29.0 · Source§

impl Clone for Box<OsStr>

1.29.0 · Source§

impl Clone for Box<Path>

Source§

impl Clone for Box<Utf8Path>

Source§

impl Clone for Box<dyn DynDigest>

Source§

impl Clone for Box<dyn AnyClone + Sync + Send>

Source§

impl Clone for ByteString

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 FromUtf8Error

Source§

impl Clone for IntoChars

1.0.0 · Source§

impl Clone for String

1.28.0 · Source§

impl Clone for System

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 std::fs::Metadata

1.0.0 · Source§

impl Clone for std::fs::OpenOptions

1.0.0 · Source§

impl Clone for Permissions

1.7.0 · Source§

impl Clone for DefaultHasher

1.7.0 · Source§

impl Clone for RandomState

1.0.0 · Source§

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

1.0.0 · Source§

impl Clone for Sink

1.63.0 · Source§

impl Clone for InvalidHandleError

1.63.0 · Source§

impl Clone for NullHandleError

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.0.0 · Source§

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

1.5.0 · Source§

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

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 Alphabet

Source§

impl Clone for GeneralPurpose

Source§

impl Clone for GeneralPurposeConfig

Source§

impl Clone for Eager

Source§

impl Clone for block_buffer::Error

Source§

impl Clone for Lazy

Source§

impl Clone for bytes::bytes::Bytes

Source§

impl Clone for BytesMut

Source§

impl Clone for FromPathBufError

Source§

impl Clone for FromPathError

Source§

impl Clone for Utf8PathBuf

Source§

impl Clone for InvalidLength

Source§

impl Clone for data_encoding::DecodeError

Source§

impl Clone for DecodePartial

Source§

impl Clone for Encoding

Source§

impl Clone for Specification

Source§

impl Clone for SpecificationError

Source§

impl Clone for Translate

Source§

impl Clone for Wrap

Source§

impl Clone for InvalidBufferSize

Source§

impl Clone for InvalidOutputSize

Source§

impl Clone for All

Source§

impl Clone for None

Source§

impl Clone for TestObjectWithoutImpl

Source§

impl Clone for WithDebug

Source§

impl Clone for WithDebugMultiline

Source§

impl Clone for WithDisplay

Source§

impl Clone for WithRef

Source§

impl Clone for WithWell

Source§

impl Clone for futures_channel::mpsc::SendError

Source§

impl Clone for Canceled

Source§

impl Clone for futures_util::abortable::AbortHandle

Source§

impl Clone for Aborted

Source§

impl Clone for getrandom::error::Error

Source§

impl Clone for h2::client::Builder

Source§

impl Clone for h2::ext::Protocol

Source§

impl Clone for Reason

Source§

impl Clone for h2::server::Builder

Source§

impl Clone for FlowControl

Source§

impl Clone for StreamId

Source§

impl Clone for SizeHint

Source§

impl Clone for http::extensions::Extensions

Source§

impl Clone for HeaderName

Source§

impl Clone for HeaderValue

Source§

impl Clone for Method

Source§

impl Clone for http::request::Parts

Source§

impl Clone for http::response::Parts

Source§

impl Clone for StatusCode

Source§

impl Clone for Authority

Source§

impl Clone for PathAndQuery

Source§

impl Clone for Scheme

Source§

impl Clone for Uri

Source§

impl Clone for http::version::Version

Source§

impl Clone for ParserConfig

Source§

impl Clone for hyper_util::client::legacy::client::Builder

Source§

impl Clone for CaptureConnection

Source§

impl Clone for GaiResolver

Source§

impl Clone for hyper_util::client::legacy::connect::dns::Name

Source§

impl Clone for HttpInfo

Source§

impl Clone for Intercept

Source§

impl Clone for TokioExecutor

Source§

impl Clone for TokioTimer

Source§

impl Clone for hyper::client::conn::http1::Builder

Source§

impl Clone for ReasonPhrase

Source§

impl Clone for hyper::ext::Protocol

Source§

impl Clone for OnUpgrade

Source§

impl Clone for CodePointTrieHeader

Source§

impl Clone for DataLocale

Source§

impl Clone for Other

Source§

impl Clone for icu_locale_core::extensions::private::other::Subtag

Source§

impl Clone for Private

Source§

impl Clone for icu_locale_core::extensions::Extensions

Source§

impl Clone for Fields

Source§

impl Clone for icu_locale_core::extensions::transform::key::Key

Source§

impl Clone for Transform

Source§

impl Clone for icu_locale_core::extensions::transform::value::Value

Source§

impl Clone for Attribute

Source§

impl Clone for Attributes

Source§

impl Clone for icu_locale_core::extensions::unicode::key::Key

Source§

impl Clone for Keywords

Source§

impl Clone for Unicode

Source§

impl Clone for SubdivisionId

Source§

impl Clone for SubdivisionSuffix

Source§

impl Clone for icu_locale_core::extensions::unicode::value::Value

Source§

impl Clone for LanguageIdentifier

Source§

impl Clone for Locale

Source§

impl Clone for CurrencyType

Source§

impl Clone for NumberingSystem

Source§

impl Clone for RegionOverride

Source§

impl Clone for RegionalSubdivision

Source§

impl Clone for TimeZoneShortId

Source§

impl Clone for LocalePreferences

Source§

impl Clone for Language

Source§

impl Clone for Region

Source§

impl Clone for icu_locale_core::subtags::script::Script

Source§

impl Clone for icu_locale_core::subtags::Subtag

Source§

impl Clone for Variant

Source§

impl Clone for Variants

Source§

impl Clone for BidiMirroringGlyph

Source§

impl Clone for GeneralCategoryULE

Source§

impl Clone for icu_properties::props::BidiClass

Source§

impl Clone for CanonicalCombiningClass

Source§

impl Clone for EastAsianWidth

Source§

impl Clone for GeneralCategoryGroup

Source§

impl Clone for GeneralCategoryOutOfBoundsError

Source§

impl Clone for GraphemeClusterBreak

Source§

impl Clone for HangulSyllableType

Source§

impl Clone for IndicSyllabicCategory

Source§

impl Clone for icu_properties::props::JoiningType

Source§

impl Clone for LineBreak

Source§

impl Clone for icu_properties::props::Script

Source§

impl Clone for SentenceBreak

Source§

impl Clone for VerticalOrientation

Source§

impl Clone for WordBreak

Source§

impl Clone for DataError

Source§

impl Clone for DataMarkerId

Source§

impl Clone for DataMarkerIdHash

Source§

impl Clone for DataMarkerInfo

Source§

impl Clone for DataRequestMetadata

Source§

impl Clone for Cart

Source§

impl Clone for DataResponseMetadata

Source§

impl Clone for Config

Source§

impl Clone for AsciiDenyList

Source§

impl Clone for idna_adapter::BidiClass

Source§

impl Clone for BidiClassMask

Source§

impl Clone for idna_adapter::JoiningType

Source§

impl Clone for JoiningTypeMask

Source§

impl Clone for indexmap::TryReserveError

Source§

impl Clone for Ipv4AddrRange

Source§

impl Clone for Ipv6AddrRange

Source§

impl Clone for Ipv4Net

Source§

impl Clone for Ipv4Subnets

Source§

impl Clone for Ipv6Net

Source§

impl Clone for Ipv6Subnets

Source§

impl Clone for PrefixLenError

Source§

impl Clone for ipnet::parser::AddrParseError

Source§

impl Clone for CapacityOverflowError

Source§

impl Clone for iri_string::normalize::error::Error

Source§

impl Clone for iri_string::template::error::Error

Source§

impl Clone for SimpleContext

Source§

impl Clone for UriTemplateString

Source§

impl Clone for iri_string::validate::Error

Source§

impl Clone for itoa::Buffer

Source§

impl Clone for One

Source§

impl Clone for Three

Source§

impl Clone for Two

Source§

impl Clone for memchr::arch::all::packedpair::Finder

Source§

impl Clone for Pair

Source§

impl Clone for memchr::arch::all::rabinkarp::Finder

Source§

impl Clone for memchr::arch::all::rabinkarp::FinderRev

Source§

impl Clone for memchr::arch::all::twoway::Finder

Source§

impl Clone for memchr::arch::all::twoway::FinderRev

Source§

impl Clone for FinderBuilder

Source§

impl Clone for Mime

Source§

impl Clone for mime_guess::Iter

Source§

impl Clone for IterRaw

Source§

impl Clone for MimeGuess

Source§

impl Clone for Event

Source§

impl Clone for mio::interest::Interest

Source§

impl Clone for Token

Source§

impl Clone for native_tls::Certificate

Source§

impl Clone for native_tls::Identity

Source§

impl Clone for native_tls::TlsAcceptor

Source§

impl Clone for native_tls::TlsConnector

Source§

impl Clone for ConversationItemCreate

Source§

impl Clone for ConversationItemDelete

Source§

impl Clone for ConversationItemTruncate

Source§

impl Clone for InputAudioBufferAppend

Source§

impl Clone for InputAudioBufferClear

Source§

impl Clone for InputAudioBufferCommit

Source§

impl Clone for ResponseCancel

Source§

impl Clone for ResponseCreate

Source§

impl Clone for SessionUpdate

Source§

impl Clone for ConversationCreated

Source§

impl Clone for ConversationItemCreated

Source§

impl Clone for ConversationItemDeleted

Source§

impl Clone for ConversationItemInputAudioTranscriptionCompleted

Source§

impl Clone for ConversationItemInputAudioTranscriptionFailed

Source§

impl Clone for ConversationItemTruncated

Source§

impl Clone for openai_api_rs::realtime::server_event::Error

Source§

impl Clone for InputAudioBufferCleared

Source§

impl Clone for InputAudioBufferCommited

Source§

impl Clone for InputAudioBufferSpeechStarted

Source§

impl Clone for InputAudioBufferSpeechStopped

Source§

impl Clone for RateLimitsUpdated

Source§

impl Clone for ResponseAudioDelta

Source§

impl Clone for ResponseAudioDone

Source§

impl Clone for ResponseAudioTranscriptDelta

Source§

impl Clone for ResponseAudioTranscriptDone

Source§

impl Clone for ResponseContentPartAdded

Source§

impl Clone for ResponseContentPartDone

Source§

impl Clone for ResponseCreated

Source§

impl Clone for ResponseDone

Source§

impl Clone for ResponseFunctionCallArgumentsDelta

Source§

impl Clone for ResponseFunctionCallArgumentsDone

Source§

impl Clone for ResponseOutputItemAdded

Source§

impl Clone for ResponseOutputItemDone

Source§

impl Clone for ResponseTextDelta

Source§

impl Clone for ResponseTextDone

Source§

impl Clone for SessionCreated

Source§

impl Clone for SessionUpdated

Source§

impl Clone for APIError

Source§

impl Clone for AudioTranscription

Source§

impl Clone for Conversation

Source§

impl Clone for FailedError

Source§

impl Clone for Item

Source§

impl Clone for ItemContent

Source§

impl Clone for RateLimit

Source§

impl Clone for openai_api_rs::realtime::types::Response

Source§

impl Clone for Session

Source§

impl Clone for Usage

Source§

impl Clone for AssistantFileRequest

Source§

impl Clone for AssistantRequest

Source§

impl Clone for openai_api_rs::v1::assistant::CodeInterpreter

Source§

impl Clone for openai_api_rs::v1::assistant::FileSearch

Source§

impl Clone for FileSearchRankingOptions

Source§

impl Clone for openai_api_rs::v1::assistant::ToolResource

Source§

impl Clone for ToolsFileSearch

Source§

impl Clone for ToolsFileSearchObject

Source§

impl Clone for ToolsFunction

Source§

impl Clone for openai_api_rs::v1::assistant::VectorStores

Source§

impl Clone for AudioSpeechRequest

Source§

impl Clone for AudioTranscriptionRequest

Source§

impl Clone for AudioTranslationRequest

Source§

impl Clone for ChatCompletionMessage

Source§

impl Clone for ChatCompletionRequest

Source§

impl Clone for ImageUrl

Source§

impl Clone for ImageUrlType

Source§

impl Clone for openai_api_rs::v1::chat_completion::Tool

Source§

impl Clone for ToolCall

Source§

impl Clone for ToolCallFunction

Source§

impl Clone for CompletionRequest

Source§

impl Clone for EditRequest

Source§

impl Clone for EmbeddingRequest

Source§

impl Clone for CreateFineTuningJobRequest

Source§

impl Clone for HyperParameters

Source§

impl Clone for ImageEditRequest

Source§

impl Clone for ImageGenerationRequest

Source§

impl Clone for ImageVariationRequest

Source§

impl Clone for openai_api_rs::v1::message::Attachment

Source§

impl Clone for CreateMessageRequest

Source§

impl Clone for ModifyMessageRequest

Source§

impl Clone for openai_api_rs::v1::message::Tool

Source§

impl Clone for CreateModerationRequest

Source§

impl Clone for CreateRunRequest

Source§

impl Clone for CreateThreadAndRunRequest

Source§

impl Clone for LastError

Source§

impl Clone for ListRunStep

Source§

impl Clone for ModifyRunRequest

Source§

impl Clone for RunStepObject

Source§

impl Clone for openai_api_rs::v1::thread::Attachment

Source§

impl Clone for openai_api_rs::v1::thread::CodeInterpreter

Source§

impl Clone for openai_api_rs::v1::thread::Content

Source§

impl Clone for ContentText

Source§

impl Clone for CreateThreadRequest

Source§

impl Clone for openai_api_rs::v1::thread::FileSearch

Source§

impl Clone for openai_api_rs::v1::thread::Message

Source§

impl Clone for ModifyThreadRequest

Source§

impl Clone for openai_api_rs::v1::thread::Tool

Source§

impl Clone for openai_api_rs::v1::thread::ToolResource

Source§

impl Clone for openai_api_rs::v1::thread::VectorStores

Source§

impl Clone for Function

Source§

impl Clone for FunctionParameters

Source§

impl Clone for JSONSchemaDefine

Source§

impl Clone for parking_lot::condvar::WaitTimeoutResult

Source§

impl Clone for ParkToken

Source§

impl Clone for UnparkResult

Source§

impl Clone for UnparkToken

Source§

impl Clone for PotentialCodePoint

Source§

impl Clone for G0

Source§

impl Clone for G1

Source§

impl Clone for GenericMachine

Source§

impl Clone for u32x4_generic

Source§

impl Clone for u64x2_generic

Source§

impl Clone for u128x1_generic

Source§

impl Clone for vec256_storage

Source§

impl Clone for vec512_storage

Source§

impl Clone for AbsolutePath

Source§

impl Clone for CanonicalPath

Source§

impl Clone for CurrentPath

Source§

impl Clone for NativePath

Source§

impl Clone for Bernoulli

Source§

impl Clone for Open01

Source§

impl Clone for OpenClosed01

Source§

impl Clone for Alphanumeric

Source§

impl Clone for Standard

Source§

impl Clone for UniformChar

Source§

impl Clone for UniformDuration

Source§

impl Clone for StepRng

Source§

impl Clone for StdRng

Source§

impl Clone for ThreadRng

Source§

impl Clone for ChaCha8Core

Source§

impl Clone for ChaCha8Rng

Source§

impl Clone for ChaCha12Core

Source§

impl Clone for ChaCha12Rng

Source§

impl Clone for ChaCha20Core

Source§

impl Clone for ChaCha20Rng

Source§

impl Clone for OsRng

Source§

impl Clone for reqwest::async_impl::client::Client

Source§

impl Clone for NoProxy

Source§

impl Clone for Proxy

Source§

impl Clone for reqwest::tls::Certificate

Source§

impl Clone for reqwest::tls::Identity

Source§

impl Clone for TlsInfo

Source§

impl Clone for reqwest::tls::Version

Source§

impl Clone for AlgorithmIdentifier

Source§

impl Clone for rustls_pki_types::server_name::AddrParseError

Source§

impl Clone for rustls_pki_types::server_name::Ipv4Addr

Source§

impl Clone for rustls_pki_types::server_name::Ipv6Addr

Source§

impl Clone for InvalidSignature

Source§

impl Clone for UnixTime

Source§

impl Clone for ryu::buffer::Buffer

Source§

impl Clone for CertChainContext

Source§

impl Clone for CertContext

Source§

impl Clone for HashAlgorithm

Source§

impl Clone for KeySpec

Source§

impl Clone for CertStore

Source§

impl Clone for ProviderType

Source§

impl Clone for SchannelCred

Source§

impl Clone for serde_json::map::Map<String, Value>

Source§

impl Clone for Number

Source§

impl Clone for CompactFormatter

Source§

impl Clone for Sha1Core

Source§

impl Clone for SockAddr

Source§

impl Clone for Domain

Source§

impl Clone for socket2::Protocol

Source§

impl Clone for RecvFlags

Source§

impl Clone for TcpKeepalive

Source§

impl Clone for Type

Source§

impl Clone for tokio_native_tls::TlsAcceptor

Source§

impl Clone for tokio_native_tls::TlsConnector

Source§

impl Clone for AnyDelimiterCodec

Source§

impl Clone for BytesCodec

Source§

impl Clone for tokio_util::codec::length_delimited::Builder

Source§

impl Clone for LengthDelimitedCodec

Source§

impl Clone for LinesCodec

Source§

impl Clone for CancellationToken

Source§

impl Clone for PollSemaphore

Source§

impl Clone for tokio::fs::open_options::OpenOptions

Source§

impl Clone for tokio::io::interest::Interest

Source§

impl Clone for tokio::io::ready::Ready

Source§

impl Clone for ClientOptions

Source§

impl Clone for PipeInfo

Source§

impl Clone for ServerOptions

Source§

impl Clone for Handle

Source§

impl Clone for RuntimeMetrics

Source§

impl Clone for tokio::runtime::task::abort::AbortHandle

Source§

impl Clone for tokio::runtime::task::id::Id

Source§

impl Clone for BarrierWaitResult

Source§

impl Clone for tokio::sync::oneshot::error::RecvError

Source§

impl Clone for tokio::sync::watch::error::RecvError

Source§

impl Clone for tokio::time::error::Error

Source§

impl Clone for tokio::time::instant::Instant

Source§

impl Clone for GrpcEosErrorsAsFailures

Source§

impl Clone for GrpcErrorsAsFailures

Source§

impl Clone for StatusInRangeAsFailures

Source§

impl Clone for ServerErrorsAsFailures

Source§

impl Clone for FilterCredentials

Source§

impl Clone for tower_http::follow_redirect::policy::limited::Limited

Source§

impl Clone for SameOrigin

Source§

impl Clone for RequestUri

Source§

impl Clone for tower_layer::identity::Identity

Source§

impl Clone for TimeoutLayer

Source§

impl Clone for Identifier

Source§

impl Clone for Dispatch

Source§

impl Clone for WeakDispatch

Source§

impl Clone for Field

Source§

impl Clone for Kind

Source§

impl Clone for tracing_core::metadata::Level

Source§

impl Clone for tracing_core::metadata::LevelFilter

Source§

impl Clone for ParseLevelFilterError

Source§

impl Clone for tracing_core::span::Id

Source§

impl Clone for tracing_core::subscriber::Interest

Source§

impl Clone for NoSubscriber

Source§

impl Clone for Span

Source§

impl Clone for ClientRequestBuilder

Source§

impl Clone for NoCallback

Source§

impl Clone for Frame

Source§

impl Clone for FrameHeader

Source§

impl Clone for WebSocketConfig

Source§

impl Clone for ATerm

Source§

impl Clone for B0

Source§

impl Clone for B1

Source§

impl Clone for Z0

Source§

impl Clone for Equal

Source§

impl Clone for Greater

Source§

impl Clone for Less

Source§

impl Clone for UTerm

Source§

impl Clone for OpaqueOrigin

Source§

impl Clone for Url

Source§

impl Clone for Incomplete

Source§

impl Clone for SharedGiver

Source§

impl Clone for LengthHint

Source§

impl Clone for Part

Source§

impl Clone for zerocopy::error::AllocError

Source§

impl Clone for AsciiProbeResult

Source§

impl Clone for CharULE

Source§

impl Clone for Index8

Source§

impl Clone for Index16

Source§

impl Clone for Index32

Source§

impl Clone for vec128_storage

Source§

impl<'a> Clone for Unexpected<'a>

Source§

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

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 Utf8Component<'a>

Source§

impl<'a> Clone for Utf8Prefix<'a>

Source§

impl<'a> Clone for ServerName<'a>

Source§

impl<'a> Clone for utf8::DecodeError<'a>

Source§

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

Source§

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

1.0.0 · Source§

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

Source§

impl<'a> Clone for PhantomContravariantLifetime<'a>

Source§

impl<'a> Clone for PhantomCovariantLifetime<'a>

Source§

impl<'a> Clone for PhantomInvariantLifetime<'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 llm_tools::ser::core::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 llm_tools::ser::core::str::EscapeDebug<'a>

1.34.0 · Source§

impl<'a> Clone for llm_tools::ser::core::str::EscapeDefault<'a>

1.34.0 · Source§

impl<'a> Clone for llm_tools::ser::core::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>

1.36.0 · Source§

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

Source§

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

1.0.0 · Source§

impl<'a> Clone for EncodeWide<'a>

Source§

impl<'a> Clone for anyhow::Chain<'a>

Source§

impl<'a> Clone for camino::Iter<'a>

Source§

impl<'a> Clone for Utf8Ancestors<'a>

Source§

impl<'a> Clone for Utf8Components<'a>

Source§

impl<'a> Clone for Utf8PrefixComponent<'a>

Source§

impl<'a> Clone for Parse<'a>

Source§

impl<'a> Clone for Header<'a>

Source§

impl<'a> Clone for Char16TrieIterator<'a>

Source§

impl<'a> Clone for CanonicalCompositionBorrowed<'a>

Source§

impl<'a> Clone for CodePointSetDataBorrowed<'a>

Source§

impl<'a> Clone for EmojiSetDataBorrowed<'a>

Source§

impl<'a> Clone for ScriptExtensionsSet<'a>

Source§

impl<'a> Clone for ScriptWithExtensionsBorrowed<'a>

Source§

impl<'a> Clone for DataIdentifierBorrowed<'a>

Source§

impl<'a> Clone for DataRequest<'a>

Source§

impl<'a> Clone for iri_string::build::Builder<'a>

Source§

impl<'a> Clone for PortBuilder<'a>

Source§

impl<'a> Clone for UserinfoBuilder<'a>

Source§

impl<'a> Clone for AuthorityComponents<'a>

Source§

impl<'a> Clone for VarName<'a>

Source§

impl<'a> Clone for UriTemplateVariables<'a>

Source§

impl<'a> Clone for log::Metadata<'a>

Source§

impl<'a> Clone for Record<'a>

Source§

impl<'a> Clone for MimeIter<'a>

Source§

impl<'a> Clone for mime::Name<'a>

Source§

impl<'a> Clone for mio::event::events::Iter<'a>

Source§

impl<'a> Clone for PercentDecode<'a>

Source§

impl<'a> Clone for PercentEncode<'a>

Source§

impl<'a> Clone for DnsName<'a>

Source§

impl<'a> Clone for CertificateDer<'a>

Source§

impl<'a> Clone for CertificateRevocationListDer<'a>

Source§

impl<'a> Clone for CertificateSigningRequestDer<'a>

Source§

impl<'a> Clone for Der<'a>

Source§

impl<'a> Clone for EchConfigListBytes<'a>

Source§

impl<'a> Clone for SubjectPublicKeyInfoDer<'a>

Source§

impl<'a> Clone for TrustAnchor<'a>

Source§

impl<'a> Clone for PrettyFormatter<'a>

Source§

impl<'a> Clone for ParseOptions<'a>

Source§

impl<'a> Clone for Utf8CharIndices<'a>

Source§

impl<'a> Clone for ErrorReportingUtf8Chars<'a>

Source§

impl<'a> Clone for Utf8Chars<'a>

Source§

impl<'a> Clone for ZeroAsciiIgnoreCaseTrieCursor<'a>

Source§

impl<'a> Clone for ZeroTrieSimpleAsciiCursor<'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, 'h> Clone for OneIter<'a, 'h>

Source§

impl<'a, 'h> Clone for ThreeIter<'a, 'h>

Source§

impl<'a, 'h> Clone for TwoIter<'a, 'h>

Source§

impl<'a, E> Clone for BytesDeserializer<'a, E>

Source§

impl<'a, E> Clone for CowStrDeserializer<'a, E>

Source§

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

Source§

impl<'a, K0, K1, V> Clone for ZeroMap2dBorrowed<'a, K0, K1, V>
where K0: ZeroMapKV<'a> + ?Sized, K1: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized,

Source§

impl<'a, K0, K1, V> Clone for ZeroMap2d<'a, K0, K1, V>
where K0: ZeroMapKV<'a> + ?Sized, K1: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized, <K0 as ZeroMapKV<'a>>::Container: Clone, <K1 as ZeroMapKV<'a>>::Container: Clone, <V as ZeroMapKV<'a>>::Container: Clone,

Source§

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

Source§

impl<'a, K, V> Clone for ZeroMapBorrowed<'a, K, V>
where K: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized,

Source§

impl<'a, K, V> Clone for ZeroMap<'a, K, V>
where K: ZeroMapKV<'a> + ?Sized, V: ZeroMapKV<'a> + ?Sized, <K as ZeroMapKV<'a>>::Container: Clone, <V as ZeroMapKV<'a>>::Container: Clone,

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 llm_tools::ser::core::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 llm_tools::ser::core::str::Split<'a, P>
where P: Pattern, <P as Pattern>::Searcher<'a>: Clone,

1.51.0 · Source§

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

Source§

impl<'a, S> Clone for FixedBaseResolver<'a, S>
where S: Clone + Spec,

Source§

impl<'a, S, C> Clone for Expanded<'a, S, C>
where S: Clone, C: Clone,

Source§

impl<'a, Src> Clone for MappedToUri<'a, Src>
where Src: Clone + ?Sized,

1.31.0 · Source§

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

Source§

impl<'a, T> Clone for hashbrown::table::Iter<'a, T>

Source§

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

Source§

impl<'a, T> Clone for CodePointMapDataBorrowed<'a, T>
where T: Clone + TrieValue,

Source§

impl<'a, T> Clone for PasswordMasked<'a, T>
where T: Clone + ?Sized,

Source§

impl<'a, T> Clone for Slice<'a, T>
where T: Clone,

Source§

impl<'a, T> Clone for ZeroVec<'a, T>
where T: AsULE,

Source§

impl<'a, T, F> Clone for VarZeroVec<'a, T, F>
where T: ?Sized,

Source§

impl<'a, T, How, Fallback1, Fallback2> Clone for Ref2<'a, T, How, Fallback1, Fallback2>

Source§

impl<'a, T, How, Fallback1, Fallback2> Clone for Ref3<'a, T, How, Fallback1, Fallback2>

Source§

impl<'a, T, How, Fallback1, Fallback2> Clone for format_tools::format::to_string_with_fallback::aref::Ref<'a, T, How, Fallback1, Fallback2>

Source§

impl<'a, T, I> Clone for Ptr<'a, T, I>
where T: 'a + ?Sized, I: Invariants<Aliasing = Shared>,

SAFETY: See the safety comment on Copy.

Source§

impl<'a, T, Marker> Clone for OptionalCow<'a, T, Marker>
where T: ToOwned + ?Sized, Marker: Clone + Copy + 'static,

1.89.0 · Source§

impl<'a, T, P> Clone for ChunkBy<'a, T, P>
where T: 'a, P: Clone,

Source§

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

Source§

impl<'a, V> Clone for VarZeroCow<'a, V>
where V: ?Sized,

Source§

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

Source§

impl<'data> Clone for PropertyCodePointSet<'data>

Source§

impl<'data> Clone for PropertyUnicodeSet<'data>

Source§

impl<'data> Clone for Char16Trie<'data>

Source§

impl<'data> Clone for CodePointInversionList<'data>

Source§

impl<'data> Clone for CodePointInversionListAndStringList<'data>

Source§

impl<'data> Clone for CanonicalCompositions<'data>

Source§

impl<'data> Clone for DecompositionData<'data>

Source§

impl<'data> Clone for DecompositionTables<'data>

Source§

impl<'data> Clone for NonRecursiveDecompositionSupplement<'data>

Source§

impl<'data> Clone for PropertyEnumToValueNameLinearMap<'data>

Source§

impl<'data> Clone for PropertyEnumToValueNameSparseMap<'data>

Source§

impl<'data> Clone for PropertyScriptToIcuScriptMap<'data>

Source§

impl<'data> Clone for PropertyValueNameToEnumMap<'data>

Source§

impl<'data> Clone for ScriptWithExtensionsProperty<'data>

Source§

impl<'data, T> Clone for PropertyCodePointMap<'data, T>
where T: Clone + TrieValue,

Source§

impl<'de, E> Clone for BorrowedBytesDeserializer<'de, E>

Source§

impl<'de, E> Clone for BorrowedStrDeserializer<'de, E>

Source§

impl<'de, E> Clone for StrDeserializer<'de, E>

Source§

impl<'de, I, E> Clone for MapDeserializer<'de, I, E>
where I: Iterator + Clone, <I as Iterator>::Item: Pair, <<I as Iterator>::Item as Pair>::Second: Clone,

Source§

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

Source§

impl<'h> Clone for Memchr2<'h>

Source§

impl<'h> Clone for Memchr3<'h>

Source§

impl<'h> Clone for Memchr<'h>

Source§

impl<'h, 'n> Clone for FindIter<'h, 'n>

Source§

impl<'h, 'n> Clone for FindRevIter<'h, 'n>

1.63.0 · Source§

impl<'handle> Clone for BorrowedHandle<'handle>

Source§

impl<'n> Clone for memchr::memmem::Finder<'n>

Source§

impl<'n> Clone for memchr::memmem::FinderRev<'n>

1.63.0 · Source§

impl<'socket> Clone for BorrowedSocket<'socket>

Source§

impl<'t> Clone for CloseFrame<'t>

Source§

impl<'table, Table, RowKey, Row, CellKey> Clone for AsTable<'table, Table, RowKey, Row, CellKey>
where Table: Clone, RowKey: Clone + RowKey, Row: Clone + Cells<CellKey>, CellKey: Clone + CellKey + ?Sized,

Source§

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

Source§

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

Source§

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

1.0.0 · Source§

impl<A> Clone for llm_tools::ser::core::iter::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 llm_tools::ser::core::option::IntoIter<A>
where A: Clone,

1.0.0 · Source§

impl<A> Clone for llm_tools::ser::core::option::Iter<'_, A>

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,

Source§

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

Source§

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

Source§

impl<A, B> Clone for futures_util::future::either::Either<A, B>
where A: Clone, B: Clone,

Source§

impl<A, B> Clone for tower::util::either::Either<A, B>
where A: Clone, B: Clone,

1.0.0 · Source§

impl<A, B> Clone for llm_tools::ser::core::iter::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,

Source§

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

Source§

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

Source§

impl<A, B> Clone for Tuple2ULE<A, B>
where A: ULE, B: ULE,

Source§

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

Source§

impl<A, B, C> Clone for Tuple3ULE<A, B, C>
where A: ULE, B: ULE, C: ULE,

Source§

impl<A, B, C, D> Clone for Tuple4ULE<A, B, C, D>
where A: ULE, B: ULE, C: ULE, D: ULE,

Source§

impl<A, B, C, D, E> Clone for Tuple5ULE<A, B, C, D, E>
where A: ULE, B: ULE, C: ULE, D: ULE, E: ULE,

Source§

impl<A, B, C, D, E, F> Clone for Tuple6ULE<A, B, C, D, E, F>
where A: ULE, B: ULE, C: ULE, D: ULE, E: ULE, F: ULE,

1.0.0 · Source§

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

Source§

impl<B> Clone for h2::client::SendRequest<B>
where B: Buf,

Source§

impl<B> Clone for http_body_util::limited::Limited<B>
where B: Clone,

Source§

impl<B> Clone for BodyDataStream<B>
where B: Clone,

Source§

impl<B> Clone for BodyStream<B>
where B: Clone,

Source§

impl<B> Clone for hyper::client::conn::http2::SendRequest<B>

1.55.0 · Source§

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

Source§

impl<B, F> Clone for http_body_util::combinators::map_err::MapErr<B, F>
where B: Clone, F: Clone,

Source§

impl<B, F> Clone for MapFrame<B, F>
where B: Clone, F: Clone,

Source§

impl<B, T> Clone for zerocopy::ref::def::Ref<B, T>
where B: CloneableByteSlice + Clone, T: ?Sized,

Source§

impl<BlockSize, Kind> Clone for BlockBuffer<BlockSize, Kind>
where BlockSize: ArrayLength<u8> + IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>, <BlockSize as IsLess<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UInt<UTerm, B1>, B0>, B0>, B0>, B0>, B0>, B0>, B0>, B0>>>::Output: NonZero, Kind: BufferKind,

Source§

impl<C0, C1> Clone for EitherCart<C0, C1>
where C0: Clone, C1: Clone,

Source§

impl<C> Clone for SocksV4<C>
where C: Clone,

Source§

impl<C> Clone for SocksV5<C>
where C: Clone,

Source§

impl<C> Clone for Tunnel<C>
where C: Clone,

Source§

impl<C> Clone for SharedClassifier<C>
where C: Clone,

Source§

impl<C> Clone for CartableOptionPointer<C>

Source§

impl<C, B> Clone for hyper_util::client::legacy::client::Client<C, B>
where C: Clone,

Source§

impl<C, F> Clone for MapFailureClass<C, F>
where C: Clone, F: Clone,

Source§

impl<D> Clone for http_body_util::empty::Empty<D>

Source§

impl<D> Clone for Full<D>
where D: Clone,

Source§

impl<DataStruct> Clone for ErasedMarker<DataStruct>
where DataStruct: Clone + for<'a> Yokeable<'a>,

Source§

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

Source§

impl<E> Clone for BoolDeserializer<E>

Source§

impl<E> Clone for CharDeserializer<E>

Source§

impl<E> Clone for F32Deserializer<E>

Source§

impl<E> Clone for F64Deserializer<E>

Source§

impl<E> Clone for I8Deserializer<E>

Source§

impl<E> Clone for I16Deserializer<E>

Source§

impl<E> Clone for I32Deserializer<E>

Source§

impl<E> Clone for I64Deserializer<E>

Source§

impl<E> Clone for I128Deserializer<E>

Source§

impl<E> Clone for IsizeDeserializer<E>

Source§

impl<E> Clone for StringDeserializer<E>

Source§

impl<E> Clone for U8Deserializer<E>

Source§

impl<E> Clone for U16Deserializer<E>

Source§

impl<E> Clone for U32Deserializer<E>

Source§

impl<E> Clone for U64Deserializer<E>

Source§

impl<E> Clone for U128Deserializer<E>

Source§

impl<E> Clone for UnitDeserializer<E>

Source§

impl<E> Clone for UsizeDeserializer<E>

Source§

impl<Ex> Clone for hyper::client::conn::http2::Builder<Ex>
where Ex: Clone,

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 llm_tools::ser::core::iter::RepeatWith<F>
where F: Clone,

Source§

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

Source§

impl<F> Clone for futures_util::stream::repeat_with::RepeatWith<F>
where F: Clone,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<F, S> Clone for FutureService<F, S>
where F: Clone, S: Clone,

Source§

impl<Fut> Clone for Shared<Fut>
where Fut: Future,

Source§

impl<Fut> Clone for WeakShared<Fut>
where Fut: Future,

Source§

impl<G> Clone for FromCoroutine<G>
where G: Clone,

1.7.0 · Source§

impl<H> Clone for BuildHasherDefault<H>

Source§

impl<H> Clone for HasherRng<H>
where H: Clone,

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,

Source§

impl<I> Clone for futures_util::stream::iter::Iter<I>
where I: Clone,

Source§

impl<I> Clone for CollectionDescriptor<I>
where I: Clone + Instance,

Source§

impl<I> Clone for EntityDescriptor<I>
where I: Clone + Instance,

Source§

impl<I> Clone for KeyedCollectionDescriptor<I>
where I: Clone + Instance,

Source§

impl<I, E> Clone for SeqDeserializer<I, E>
where I: Clone, E: 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 llm_tools::ser::core::iter::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 ArrayChunks<I, N>
where I: Clone + Iterator, <I as Iterator>::Item: Clone,

1.0.0 · Source§

impl<Idx> Clone for llm_tools::ser::core::ops::Range<Idx>
where Idx: Clone,

1.0.0 · Source§

impl<Idx> Clone for llm_tools::ser::core::ops::RangeFrom<Idx>
where Idx: Clone,

1.26.0 · Source§

impl<Idx> Clone for llm_tools::ser::core::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,

Source§

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

Source§

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

Source§

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

Source§

impl<In, T, U, E> Clone for BoxLayer<In, T, U, E>

Source§

impl<In, T, U, E> Clone for BoxCloneServiceLayer<In, T, U, E>

Source§

impl<In, T, U, E> Clone for BoxCloneSyncServiceLayer<In, T, U, E>

Source§

impl<Inner, Outer> Clone for Stack<Inner, Outer>
where Inner: Clone, Outer: Clone,

1.0.0 · Source§

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

Source§

impl<K> Clone for hashbrown::set::Iter<'_, K>

Source§

impl<K, V> Clone for Box<Slice<K, V>>
where K: Clone, V: Clone,

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>

Source§

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

Source§

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

Source§

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

Source§

impl<K, V> Clone for indexmap::map::iter::IntoIter<K, V>
where K: Clone, V: Clone,

Source§

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

Source§

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

Source§

impl<K, V> Clone for indexmap::map::iter::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,

Source§

impl<K, V, S> Clone for IndexMap<K, V, S>
where K: Clone, V: Clone, S: Clone,

Source§

impl<K, V, S> Clone for LiteMap<K, V, S>
where K: Clone + ?Sized, V: Clone + ?Sized, S: Clone,

Source§

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

Source§

impl<L> Clone for ServiceBuilder<L>
where L: Clone,

Source§

impl<L, R> Clone for http_body_util::either::Either<L, R>
where L: Clone, R: Clone,

Source§

impl<L, R> Clone for tokio_util::either::Either<L, R>
where L: Clone, R: Clone,

Source§

impl<M> Clone for DataPayload<M>
where M: DynamicDataMarker, <<M as DynamicDataMarker>::DataStruct as Yokeable<'a>>::Output: for<'a> Clone,

Cloning a DataPayload is generally a cheap operation. See notes in the Clone impl for Yoke.

§Examples

use icu_provider::hello_world::*;
use icu_provider::prelude::*;

let resp1: DataPayload<HelloWorldV1> = todo!();
let resp2 = resp1.clone();
Source§

impl<M> Clone for DataResponse<M>
where M: DynamicDataMarker, <<M as DynamicDataMarker>::DataStruct as Yokeable<'a>>::Output: for<'a> Clone,

Cloning a DataResponse is generally a cheap operation. See notes in the Clone impl for Yoke.

§Examples

use icu_provider::hello_world::*;
use icu_provider::prelude::*;

let resp1: DataResponse<HelloWorldV1> = todo!();
let resp2 = resp1.clone();
Source§

impl<M, O> Clone for DataPayloadOr<M, O>
where M: DynamicDataMarker, <<M as DynamicDataMarker>::DataStruct as Yokeable<'a>>::Output: for<'a> Clone, O: Clone,

Source§

impl<O> Clone for F32<O>
where O: Clone,

Source§

impl<O> Clone for F64<O>
where O: Clone,

Source§

impl<O> Clone for I16<O>
where O: Clone,

Source§

impl<O> Clone for I32<O>
where O: Clone,

Source§

impl<O> Clone for I64<O>
where O: Clone,

Source§

impl<O> Clone for I128<O>
where O: Clone,

Source§

impl<O> Clone for Isize<O>
where O: Clone,

Source§

impl<O> Clone for U16<O>
where O: Clone,

Source§

impl<O> Clone for U32<O>
where O: Clone,

Source§

impl<O> Clone for U64<O>
where O: Clone,

Source§

impl<O> Clone for U128<O>
where O: Clone,

Source§

impl<O> Clone for Usize<O>
where O: Clone,

Source§

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

Source§

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

Source§

impl<P, S> Clone for Retry<P, S>
where P: Clone, S: Clone,

1.33.0 · Source§

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

Source§

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

Source§

impl<R> Clone for BlockRng64<R>

Source§

impl<R> Clone for BlockRng<R>

Source§

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

Source§

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

Source§

impl<R, Rsdr> Clone for ReseedingRng<R, Rsdr>
where R: BlockRngCore + SeedableRng + Clone, Rsdr: RngCore + Clone,

Source§

impl<S> Clone for Host<S>
where S: Clone,

Source§

impl<S> Clone for futures_util::stream::poll_immediate::PollImmediate<S>
where S: Clone,

Source§

impl<S> Clone for StreamBody<S>
where S: Clone,

Source§

impl<S> Clone for RiAbsoluteString<S>
where S: Spec,

Source§

impl<S> Clone for RiFragmentString<S>
where S: Spec,

Source§

impl<S> Clone for RiString<S>
where S: Spec,

Source§

impl<S> Clone for RiQueryString<S>
where S: Spec,

Source§

impl<S> Clone for RiReferenceString<S>
where S: Spec,

Source§

impl<S> Clone for RiRelativeString<S>
where S: Spec,

Source§

impl<S> Clone for Ascii<S>
where S: Clone,

Source§

impl<S> Clone for UniCase<S>
where S: Clone,

Source§

impl<S, F> Clone for AndThen<S, F>
where S: Clone, F: Clone,

Source§

impl<S, F> Clone for tower::util::map_err::MapErr<S, F>
where S: Clone, F: Clone,

Source§

impl<S, F> Clone for MapFuture<S, F>
where S: Clone, F: Clone,

Source§

impl<S, F> Clone for MapRequest<S, F>
where S: Clone, F: Clone,

Source§

impl<S, F> Clone for MapResponse<S, F>
where S: Clone, F: Clone,

Source§

impl<S, F> Clone for MapResult<S, F>
where S: Clone, F: Clone,

Source§

impl<S, F> Clone for Then<S, F>
where S: Clone, F: Clone,

Source§

impl<S, P> Clone for FollowRedirect<S, P>
where S: Clone, P: Clone,

Source§

impl<Si, F> Clone for SinkMapErr<Si, F>
where Si: Clone, F: Clone,

Source§

impl<Si, Item, U, Fut, F> Clone for With<Si, Item, U, Fut, F>
where Si: Clone, F: Clone, Fut: Clone,

Source§

impl<Store> Clone for ZeroAsciiIgnoreCaseTrie<Store>
where Store: Clone + ?Sized,

Source§

impl<Store> Clone for ZeroTrie<Store>
where Store: Clone,

Source§

impl<Store> Clone for ZeroTrieExtendedCapacity<Store>
where Store: Clone + ?Sized,

Source§

impl<Store> Clone for ZeroTriePerfectHash<Store>
where Store: Clone + ?Sized,

Source§

impl<Store> Clone for ZeroTrieSimpleAscii<Store>
where Store: Clone + ?Sized,

1.0.0 · Source§

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

Shared references can be cloned, but mutable references cannot!

1.17.0 · Source§

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

1.0.0 (const: unstable) · 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 Status<T>
where T: Clone,

Source§

impl<T> Clone for tokio::sync::mpsc::error::SendTimeoutError<T>
where T: Clone,

Source§

impl<T> Clone for tokio::sync::mpsc::error::TrySendError<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!

1.0.0 · Source§

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

1.70.0 · Source§

impl<T> Clone for llm_tools::ser::core::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 llm_tools::ser::core::future::Pending<T>

1.48.0 · Source§

impl<T> Clone for llm_tools::ser::core::future::Ready<T>
where T: Clone,

1.2.0 · Source§

impl<T> Clone for llm_tools::ser::core::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,

Source§

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

Source§

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

1.0.0 · Source§

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

Source§

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

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.25.0 · Source§

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

1.0.0 · Source§

impl<T> Clone for llm_tools::ser::core::result::IntoIter<T>
where T: Clone,

1.0.0 · Source§

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

1.31.0 · Source§

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

1.0.0 · Source§

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

Source§

impl<T> Clone for Box<Slice<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.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,

Source§

impl<T> Clone for RtVariableCoreWrapper<T>

Source§

impl<T> Clone for CoreWrapper<T>

Source§

impl<T> Clone for XofReaderCoreWrapper<T>

Source§

impl<T> Clone for futures_channel::mpsc::Sender<T>

Source§

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

Source§

impl<T> Clone for futures_channel::mpsc::UnboundedSender<T>

Source§

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

Source§

impl<T> Clone for futures_util::future::pending::Pending<T>

Source§

impl<T> Clone for futures_util::future::poll_immediate::PollImmediate<T>
where T: Clone,

Source§

impl<T> Clone for futures_util::future::ready::Ready<T>
where T: Clone,

Source§

impl<T> Clone for Drain<T>

Source§

impl<T> Clone for futures_util::stream::empty::Empty<T>

Source§

impl<T> Clone for futures_util::stream::pending::Pending<T>

Source§

impl<T> Clone for futures_util::stream::repeat::Repeat<T>
where T: Clone,

Source§

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

Source§

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

Source§

impl<T> Clone for http::response::Response<T>
where T: Clone,

Source§

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

Source§

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

Source§

impl<T> Clone for CodePointTrie<'_, T>
where T: TrieValue, <T as AsULE>::ULE: Clone,

Source§

impl<T> Clone for CodePointMapData<T>
where T: Clone + TrieValue,

Source§

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

Source§

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

Source§

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

Source§

impl<T> Clone for indexmap::set::iter::IntoIter<T>
where T: Clone,

Source§

impl<T> Clone for indexmap::set::iter::Iter<'_, T>

Source§

impl<T> Clone for Built<'_, T>
where T: ?Sized,

Source§

impl<T> Clone for iri_string::template::error::CreationError<T>
where T: Clone,

Source§

impl<T> Clone for iri_string::types::generic::error::CreationError<T>
where T: Clone,

Source§

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

Source§

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

Source§

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

Source§

impl<T> Clone for slab::Iter<'_, T>

Source§

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

Source§

impl<T> Clone for PollSender<T>

Source§

impl<T> Clone for tokio::sync::broadcast::Sender<T>

Source§

impl<T> Clone for tokio::sync::broadcast::WeakSender<T>

Source§

impl<T> Clone for tokio::sync::mpsc::bounded::Sender<T>

Source§

impl<T> Clone for tokio::sync::mpsc::bounded::WeakSender<T>

Source§

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

Source§

impl<T> Clone for tokio::sync::mpsc::unbounded::UnboundedSender<T>

Source§

impl<T> Clone for WeakUnboundedSender<T>

Source§

impl<T> Clone for tokio::sync::once_cell::OnceCell<T>
where T: Clone,

Source§

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

Source§

impl<T> Clone for tokio::sync::watch::error::SendError<T>
where T: Clone,

Source§

impl<T> Clone for tokio::sync::watch::Receiver<T>

Source§

impl<T> Clone for tokio::sync::watch::Sender<T>

Source§

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

Source§

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

Source§

impl<T> Clone for DebugValue<T>
where T: Clone + Debug,

Source§

impl<T> Clone for DisplayValue<T>
where T: Clone + Display,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

1.36.0 · Source§

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

1.3.0 · Source§

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

1.0.0 · Source§

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

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 Rc<T, A>
where A: Allocator + Clone, T: ?Sized,

1.4.0 · Source§

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

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

1.8.0 · Source§

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

1.0.0 · Source§

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

Source§

impl<T, A> Clone for HashTable<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, F> Clone for AlwaysReady<T, F>
where F: Fn() -> T + Clone,

Source§

impl<T, F> Clone for VarZeroVecOwned<T, F>
where T: ?Sized,

Source§

impl<T, N> Clone for GenericArrayIter<T, N>
where T: Clone, N: ArrayLength<T>,

Source§

impl<T, N> Clone for GenericArray<T, N>
where T: Clone, N: ArrayLength<T>,

Source§

impl<T, OutSize, O> Clone for CtVariableCoreWrapper<T, OutSize, O>

1.27.0 · Source§

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

1.0.0 · Source§

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

1.51.0 · Source§

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

Source§

impl<T, S1, S2> Clone for indexmap::set::iter::SymmetricDifference<'_, T, S1, S2>

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>

Source§

impl<T, S> Clone for indexmap::set::iter::Difference<'_, T, S>

Source§

impl<T, S> Clone for indexmap::set::iter::Intersection<'_, T, S>

Source§

impl<T, S> Clone for indexmap::set::iter::Union<'_, T, S>

Source§

impl<T, S> Clone for IndexSet<T, S>
where T: Clone, S: Clone,

Source§

impl<T, S> Clone for PercentEncoded<T, S>
where T: Clone, S: Clone,

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<T, U, E> Clone for BoxCloneService<T, U, E>

Source§

impl<T, U, E> Clone for BoxCloneSyncService<T, U, E>

1.58.0 · Source§

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

1.51.0 · Source§

impl<T, const N: usize> Clone for llm_tools::ser::core::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<U> Clone for NInt<U>
where U: Clone + Unsigned + NonZero,

Source§

impl<U> Clone for PInt<U>
where U: Clone + Unsigned + NonZero,

Source§

impl<U> Clone for OptionULE<U>
where U: Copy,

Source§

impl<U, B> Clone for UInt<U, B>
where U: Clone, B: Clone,

Source§

impl<U, const N: usize> Clone for NichedOption<U, N>
where U: Clone,

Source§

impl<U, const N: usize> Clone for NichedOptionULE<U, N>
where U: NicheBytes<N> + ULE,

Source§

impl<V, A> Clone for TArr<V, A>
where V: Clone, A: Clone,

Source§

impl<X> Clone for Uniform<X>

Source§

impl<X> Clone for UniformFloat<X>
where X: Clone,

Source§

impl<X> Clone for UniformInt<X>
where X: Clone,

Source§

impl<X> Clone for WeightedIndex<X>

Source§

impl<Y> Clone for NeverMarker<Y>
where Y: Clone,

Source§

impl<Y, C> Clone for Yoke<Y, C>
where Y: for<'a> Yokeable<'a>, C: CloneableCart, <Y as Yokeable<'a>>::Output: for<'a> Clone,

Clone requires that the cart type C derefs to the same address after it is cloned. This works for Rc, Arc, and &’a T.

For other cart types, clone .backing_cart() and re-use .attach_to_cart(); however, doing so may lose mutations performed via .with_mut().

Cloning a Yoke is often a cheap operation requiring no heap allocations, in much the same way that cloning an Rc is a cheap operation. However, if the yokeable contains owned data (e.g., from .with_mut()), that data will need to be cloned.

Source§

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

Source§

impl<Z> Clone for Zeroizing<Z>
where Z: Zeroize + Clone,

Source§

impl<const N: usize> Clone for TinyAsciiStr<N>

Source§

impl<const N: usize> Clone for UnvalidatedTinyAsciiStr<N>

Source§

impl<const N: usize> Clone for RawBytesULE<N>