logo

Trait std::clone::Clone

1.0.0 · source ·
pub trait Clone {
 fn clone(&self) -> Self;
 fn clone_from(&mut self, source: &Self) { ... }
}
Expand description

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

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

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

Derivable

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

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

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

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
 }
}
Run

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

fn clone(&self) -> Self

Returns a copy of the value.

Examples
let hello = "Hello"; // &str implements Clone
assert_eq!("Hello", hello.clone());
Run

Provided Methods

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

Performs copy-assignment from source.

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

Implementors

source

impl Clone for std::cmp::Ordering

source

impl Clone for TryReserveErrorKind

1.34.0 (const: unstable) · source

impl Clone for Infallible

source

impl Clone for VarError

1.28.0 · source

impl Clone for Alignment

source

impl Clone for ErrorKind

source

impl Clone for SeekFrom

1.7.0 · source

impl Clone for IpAddr

source

impl Clone for Ipv6MulticastScope

source

impl Clone for Shutdown

source

impl Clone for std::net::SocketAddr

source

impl Clone for FpCategory

1.55.0 · source

impl Clone for IntErrorKind

source

impl Clone for BacktraceStyle

source

impl Clone for Which

source

impl Clone for SearchStep

source

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

1.12.0 · source

impl Clone for RecvTimeoutError

source

impl Clone for TryRecvError

const: unstable · source

impl Clone for bool

const: unstable · source

impl Clone for char

const: unstable · source

impl Clone for f32

const: unstable · source

impl Clone for f64

const: unstable · source

impl Clone for i8

const: unstable · source

impl Clone for i16

const: unstable · source

impl Clone for i32

const: unstable · source

impl Clone for i64

const: unstable · source

impl Clone for i128

const: unstable · source

impl Clone for isize

const: unstable · source

impl Clone for !

const: unstable · source

impl Clone for u8

const: unstable · source

impl Clone for u16

const: unstable · source

impl Clone for u32

const: unstable · source

impl Clone for u64

const: unstable · source

impl Clone for u128

source

impl Clone for ()

const: unstable · source

impl Clone for usize

1.27.0 · source

impl Clone for CpuidResult

1.27.0 · source

impl Clone for __m128

source

impl Clone for __m128bh

1.27.0 · source

impl Clone for __m128d

1.27.0 · source

impl Clone for __m128i

1.27.0 · source

impl Clone for __m256

source

impl Clone for __m256bh

1.27.0 · source

impl Clone for __m256d

1.27.0 · source

impl Clone for __m256i

source

impl Clone for __m512

source

impl Clone for __m512bh

source

impl Clone for __m512d

source

impl Clone for __m512i

source

impl Clone for FromBytesUntilNulError

source

impl Clone for AllocError

source

impl Clone for Global

1.28.0 · source

impl Clone for Layout

1.50.0 · source

impl Clone for LayoutError

1.28.0 · source

impl Clone for System

source

impl Clone for TypeId

1.34.0 · source

impl Clone for TryFromSliceError

source

impl Clone for std::ascii::EscapeDefault

1.3.0 · source

impl Clone for Box<str, Global>

1.29.0 · source

impl Clone for Box<CStr, Global>

1.29.0 · source

impl Clone for Box<OsStr>

1.29.0 · source

impl Clone for Box<Path>

1.34.0 · source

impl Clone for CharTryFromError

1.9.0 · source

impl Clone for DecodeUtf16Error

1.20.0 · source

impl Clone for std::char::EscapeDebug

source

impl Clone for std::char::EscapeDefault

source

impl Clone for std::char::EscapeUnicode

1.20.0 · source

impl Clone for ParseCharError

source

impl Clone for ToLowercase

source

impl Clone for ToUppercase

1.59.0 · source

impl Clone for TryFromCharError

1.13.0 · source

impl Clone for DefaultHasher

1.7.0 · source

impl Clone for RandomState

1.57.0 · source

impl Clone for TryReserveError

1.64.0 · source

impl Clone for CString

1.64.0 · source

impl Clone for FromBytesWithNulError

1.64.0 · source

impl Clone for FromVecWithNulError

1.64.0 · source

impl Clone for IntoStringError

1.64.0 · source

impl Clone for NulError

source

impl Clone for OsString

source

impl Clone for Error

source

impl Clone for FileTimes

1.1.0 · source

impl Clone for FileType

source

impl Clone for Metadata

source

impl Clone for OpenOptions

source

impl Clone for Permissions

source

impl Clone for SipHasher

source

impl Clone for std::io::Empty

source

impl Clone for Sink

1.33.0 · source

impl Clone for PhantomPinned

source

impl Clone for Assume

source

impl Clone for AddrParseError

source

impl Clone for Ipv4Addr

source

impl Clone for Ipv6Addr

source

impl Clone for SocketAddrV4

source

impl Clone for SocketAddrV6

1.34.0 · source

impl Clone for NonZeroI8

1.34.0 · source

impl Clone for NonZeroI16

1.34.0 · source

impl Clone for NonZeroI32

1.34.0 · source

impl Clone for NonZeroI64

1.34.0 · source

impl Clone for NonZeroI128

1.34.0 · source

impl Clone for NonZeroIsize

1.28.0 · source

impl Clone for NonZeroU8

1.28.0 · source

impl Clone for NonZeroU16

1.28.0 · source

impl Clone for NonZeroU32

1.28.0 · source

impl Clone for NonZeroU64

1.28.0 · source

impl Clone for NonZeroU128

1.28.0 · source

impl Clone for NonZeroUsize

source

impl Clone for ParseFloatError

source

impl Clone for ParseIntError

1.34.0 · source

impl Clone for TryFromIntError

source

impl Clone for RangeFull

1.1.0 · source

impl Clone for stat

Available on Linux only.
1.10.0 · source

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

Available on Unix only.
source

impl Clone for SocketCred

Available on (Android or Linux) and Unix only.
source

impl Clone for UCred

Available on Unix only.
1.63.0 · source

impl Clone for InvalidHandleError

Available on Windows only.
1.63.0 · source

impl Clone for NullHandleError

Available on Windows only.
source

impl Clone for PathBuf

1.7.0 · source

impl Clone for StripPrefixError

1.61.0 · source

impl Clone for ExitCode

source

impl Clone for ExitStatus

source

impl Clone for ExitStatusError

source

impl Clone for Output

source

impl Clone for ParseBoolError

source

impl Clone for Utf8Error

source

impl Clone for FromUtf8Error

source

impl Clone for String

source

impl Clone for RecvError

1.5.0 · source

impl Clone for WaitTimeoutResult

1.36.0 · source

impl Clone for RawWakerVTable

1.36.0 · source

impl Clone for Waker

1.26.0 · source

impl Clone for AccessError

source

impl Clone for Thread

1.19.0 · source

impl Clone for ThreadId

1.3.0 · source

impl Clone for Duration

source

impl Clone for FromFloatSecsError

1.8.0 · source

impl Clone for Instant

1.8.0 · source

impl Clone for SystemTime

1.8.0 · source

impl Clone for SystemTimeError

source

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

source

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

source

impl<'a> Clone for std::error::Chain<'a>

source

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

1.36.0 · source

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

source

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

1.10.0 · source

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

1.28.0 · source

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

source

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

source

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

source

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

1.60.0 · source

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

source

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

source

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

source

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

source

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

1.8.0 · source

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

1.34.0 · source

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

1.34.0 · source

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

1.34.0 · source

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

source

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

source

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

1.34.0 · source

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

1.1.0 · source

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

source

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

source

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

source

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

source

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

1.5.0 · source

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

1.2.0 · source

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

1.5.0 · source

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

1.2.0 · source

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

source

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

source

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

source

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

source

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

1.51.0 · source

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

source

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

source

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

1.31.0 · source

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

source

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

source

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

source

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

1.63.0 · source

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

1.63.0 · source

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

Available on Windows only.
1.63.0 · source

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

Available on Windows only.
source

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

source

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

source

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

source

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

source

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

source

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

1.55.0 · source

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

source

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

1.34.0 · source

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

1.43.0 · source

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

1.28.0 · source

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

1.7.0 · source

impl<H> Clone for BuildHasherDefault<H>

source

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

1.9.0 · source

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

1.1.0 · source

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

1.36.0 · source

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

source

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

source

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

source

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

source

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

source

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

source

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

1.28.0 · source

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

source

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

source

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

source

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

source

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

source

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

source

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

1.57.0 · source

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

source

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

source

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

source

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

1.29.0 · source

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

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<Idx> Clone for std::ops::Range<Idx> where
Idx: Clone,

source

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

1.26.0 · source

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

source

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

1.26.0 · source

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

source

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

source

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

source

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

1.17.0 · source

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

source

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

source

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

source

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

source

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

source

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

source

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

1.33.0 · source

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

source

impl<Ret, T> Clone for fn (T1, T2, ..., Tn) -> Ret

This trait is implemented on function pointers with any number of arguments.

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,

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,

const: unstable · source

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

const: unstable · source

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

const: unstable · source

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

Shared references can be cloned, but mutable references cannot!

source

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

source

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

source

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

1.19.0 · source

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

source

impl<T> Clone for std::collections::binary_heap::IntoIter<T> where
T: Clone,

source

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

source

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

source

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

1.17.0 · source

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

source

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

source

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

source

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

source

impl<T> Clone for std::collections::linked_list::IntoIter<T> where
T: Clone,

source

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

source

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

source

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

source

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

1.48.0 · source

impl<T> Clone for Pending<T>

1.48.0 · source

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

source

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

1.2.0 · source

impl<T> Clone for std::iter::Empty<T>

1.2.0 · source

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

source

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

source

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

1.21.0 · source

impl<T> Clone for Discriminant<T>

1.20.0 · source

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

source

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

source

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

1.25.0 (const: unstable) · source

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

source

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

1.4.0 · source

impl<T> Clone for std::rc::Weak<T> where
T: ?Sized,

source

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

source

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

source

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

1.31.0 · source

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

source

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

1.31.0 · source

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

source

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

source

impl<T> Clone for Sender<T>

source

impl<T> Clone for SyncSender<T>

source

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

1.4.0 · source

impl<T> Clone for std::sync::Weak<T> where
T: ?Sized,

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,

source

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

source

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

source

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

source

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

source

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

source

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

1.8.0 · source

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

source

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

const: unstable · source

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

1.34.0 · source

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

1.27.0 · source

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

source

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

1.51.0 · source

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

source

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

source

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

source

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

source

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

source

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

source

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

source

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

1.58.0 · source

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

1.40.0 · source

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

source

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

source

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

source

impl<T: Clone> Clone for (T1, T2, ..., Tn)

This trait is implemented on arbitrary-length tuples.

source

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

source

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

source

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

AltStyle によって変換されたページ (->オリジナル) /