Trait core::clone::Clone
[−]
[src]
pub trait Clone: Sized {
fn clone(&self) -> Self;
fn clone_from(&mut self, source: &Self) { ... }
}A common trait for cloning an object.
This trait can be used with #[derive].
Required Methods
fn clone(&self) -> Self
Returns a copy of the value.
Examples
fn main() { let hello = "Hello"; // &str implements Clone assert_eq!("Hello", hello.clone()); }let hello = "Hello"; // &str implements Clone assert_eq!("Hello", hello.clone());
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
impl Clone for Decodedimpl Clone for FullDecodedimpl<'a> Clone for Part<'a>impl<'a> Clone for Formatted<'a>impl Clone for Signimpl Clone for Unpackedimpl Clone for ParseFloatErrorimpl Clone for FloatErrorKindimpl Clone for Big8x3impl Clone for Big32x40impl Clone for Fpimpl<T: Clone> Clone for Wrapping<T>impl Clone for FpCategoryimpl Clone for ParseIntErrorimpl Clone for IntErrorKindimpl<T: Clone + Zeroable> Clone for NonZero<T>impl<T: ?Sized> Clone for *const Timpl<T: ?Sized> Clone for *mut Timpl<Ret> Clone for fn() -> Retimpl<Ret> Clone for extern "C" fn() -> Retimpl<Ret> Clone for unsafe fn() -> Retimpl<Ret> Clone for unsafe extern "C" fn() -> Retimpl<Ret, A> Clone for fn(A) -> Retimpl<Ret, A> Clone for extern "C" fn(A) -> Retimpl<Ret, A> Clone for unsafe fn(A) -> Retimpl<Ret, A> Clone for unsafe extern "C" fn(A) -> Retimpl<Ret, A, B> Clone for fn(A, B) -> Retimpl<Ret, A, B> Clone for extern "C" fn(A, B) -> Retimpl<Ret, A, B> Clone for unsafe fn(A, B) -> Retimpl<Ret, A, B> Clone for unsafe extern "C" fn(A, B) -> Retimpl<Ret, A, B, C> Clone for fn(A, B, C) -> Retimpl<Ret, A, B, C> Clone for extern "C" fn(A, B, C) -> Retimpl<Ret, A, B, C> Clone for unsafe fn(A, B, C) -> Retimpl<Ret, A, B, C> Clone for unsafe extern "C" fn(A, B, C) -> Retimpl<Ret, A, B, C, D> Clone for fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Clone for extern "C" fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Clone for unsafe fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D> Clone for unsafe extern "C" fn(A, B, C, D) -> Retimpl<Ret, A, B, C, D, E> Clone for fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Clone for extern "C" fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Clone for unsafe fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E> Clone for unsafe extern "C" fn(A, B, C, D, E) -> Retimpl<Ret, A, B, C, D, E, F> Clone for fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Clone for extern "C" fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Clone for unsafe fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F> Clone for unsafe extern "C" fn(A, B, C, D, E, F) -> Retimpl<Ret, A, B, C, D, E, F, G> Clone for fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Clone for extern "C" fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Clone for unsafe fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Clone for fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Clone for extern "C" fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Clone for unsafe fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Clone for fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Clone for extern "C" fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Clone for unsafe fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Clone for fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Clone for extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Clone for unsafe fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Clone for fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Clone for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Clone for unsafe fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Clone for fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Clone for extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Clone for unsafe fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<Ret, A, B, C, D, E, F, G, H, I, J, K, L> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<T: ?Sized> Clone for Shared<T>impl<T: ?Sized> Clone for PhantomData<T>impl Clone for RangeFullimpl<Idx: Clone> Clone for Range<Idx>impl<Idx: Clone> Clone for RangeFrom<Idx>impl<Idx: Clone> Clone for RangeTo<Idx>impl Clone for Orderingimpl<'a, T: ?Sized> Clone for &'a Timpl Clone for isizeimpl Clone for i8impl Clone for i16impl Clone for i32impl Clone for i64impl Clone for usizeimpl Clone for u8impl Clone for u16impl Clone for u32impl Clone for u64impl Clone for f32impl Clone for f64impl Clone for ()impl Clone for boolimpl Clone for charimpl Clone for TypeIdimpl<T: Copy> Clone for [T; 0]impl<T: Copy> Clone for [T; 1]impl<T: Copy> Clone for [T; 2]impl<T: Copy> Clone for [T; 3]impl<T: Copy> Clone for [T; 4]impl<T: Copy> Clone for [T; 5]impl<T: Copy> Clone for [T; 6]impl<T: Copy> Clone for [T; 7]impl<T: Copy> Clone for [T; 8]impl<T: Copy> Clone for [T; 9]impl<T: Copy> Clone for [T; 10]impl<T: Copy> Clone for [T; 11]impl<T: Copy> Clone for [T; 12]impl<T: Copy> Clone for [T; 13]impl<T: Copy> Clone for [T; 14]impl<T: Copy> Clone for [T; 15]impl<T: Copy> Clone for [T; 16]impl<T: Copy> Clone for [T; 17]impl<T: Copy> Clone for [T; 18]impl<T: Copy> Clone for [T; 19]impl<T: Copy> Clone for [T; 20]impl<T: Copy> Clone for [T; 21]impl<T: Copy> Clone for [T; 22]impl<T: Copy> Clone for [T; 23]impl<T: Copy> Clone for [T; 24]impl<T: Copy> Clone for [T; 25]impl<T: Copy> Clone for [T; 26]impl<T: Copy> Clone for [T; 27]impl<T: Copy> Clone for [T; 28]impl<T: Copy> Clone for [T; 29]impl<T: Copy> Clone for [T; 30]impl<T: Copy> Clone for [T; 31]impl<T: Copy> Clone for [T; 32]impl Clone for Orderingimpl<T: Copy> Clone for Cell<T>impl Clone for BorrowStateimpl<T: Clone> Clone for RefCell<T>impl<'b> Clone for BorrowRef<'b>impl Clone for EscapeUnicodeimpl Clone for EscapeUnicodeStateimpl Clone for EscapeDefaultimpl Clone for EscapeDefaultStateimpl<T: Clone> Clone for Rev<T>impl<I: Clone> Clone for Cloned<I>impl<I: Clone> Clone for Cycle<I>impl<A: Clone, B: Clone> Clone for Chain<A, B>impl Clone for ChainStateimpl<A: Clone, B: Clone> Clone for Zip<A, B>impl<I: Clone, F: Clone> Clone for Map<I, F>impl<I: Clone, P: Clone> Clone for Filter<I, P>impl<I: Clone, F: Clone> Clone for FilterMap<I, F>impl<I: Clone> Clone for Enumerate<I>impl<I: Clone + Iterator> Clone for Peekable<I> where I::Item: Cloneimpl<I: Clone, P: Clone> Clone for SkipWhile<I, P>impl<I: Clone, P: Clone> Clone for TakeWhile<I, P>impl<I: Clone> Clone for Skip<I>impl<I: Clone> Clone for Take<I>impl<I: Clone, St: Clone, F: Clone> Clone for Scan<I, St, F>impl<I: Clone, U: Clone + IntoIterator, F: Clone> Clone for FlatMap<I, U, F> where U::IntoIter: Cloneimpl<I: Clone> Clone for Fuse<I>impl<I: Clone, F: Clone> Clone for Inspect<I, F>impl<A: Clone, R: Clone> Clone for StepBy<A, R>impl<A: Clone> Clone for RangeInclusive<A>impl<A: Clone> Clone for Repeat<A>impl<T> Clone for Empty<T>impl<T: Clone> Clone for Once<T>impl<T: Clone> Clone for Option<T>impl<A: Clone> Clone for Item<A>impl<'a, A> Clone for Iter<'a, A>impl<A: Clone> Clone for IntoIter<A>impl<T> Clone for Slice<T>impl Clone for TraitObjectimpl<T: Clone, E: Clone> Clone for Result<T, E>impl<'a, T> Clone for Iter<'a, T>impl<'a, T> Clone for Iter<'a, T>impl<'a, T, P> Clone for Split<'a, T, P> where P: Clone + FnMut(&T) -> boolimpl<'a, T> Clone for Windows<'a, T>impl<'a, T> Clone for Chunks<'a, T>impl Clone for SearchStepimpl<'a, C: Clone + CharEq> Clone for CharEqSearcher<'a, C>impl<'a> Clone for CharSearcher<'a>impl<'a, 'b> Clone for CharSliceSearcher<'a, 'b>impl<'a, F: Clone> Clone for CharPredicateSearcher<'a, F> where F: FnMut(char) -> boolimpl<'a, 'b> Clone for StrSearcher<'a, 'b>impl Clone for StrSearcherImplimpl Clone for EmptyNeedleimpl Clone for TwoWaySearcherimpl Clone for ParseBoolErrorimpl Clone for Utf8Errorimpl<'a> Clone for Chars<'a>impl<'a> Clone for CharIndices<'a>impl<'a> Clone for Bytes<'a>impl<'a, P: Pattern<'a>> Clone for SplitInternal<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for Split<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for RSplit<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for SplitTerminator<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for RSplitTerminator<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for SplitNInternal<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for SplitN<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for RSplitN<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for MatchIndicesInternal<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for MatchIndices<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for RMatchIndices<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for MatchesInternal<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for Matches<'a, P> where P::Searcher: Cloneimpl<'a, P: Pattern<'a>> Clone for RMatches<'a, P> where P::Searcher: Cloneimpl<'a> Clone for Lines<'a>impl<'a> Clone for LinesAny<'a>impl Clone for LinesAnyMapimpl Clone for CharRangeimpl Clone for SipHasherimpl<H> Clone for BuildHasherDefault<H>impl Clone for Binaryimpl Clone for Octalimpl Clone for Decimalimpl Clone for LowerHeximpl Clone for UpperHeximpl Clone for Radiximpl<T: Clone, R: Clone> Clone for RadixFmt<T, R>impl Clone for Argumentimpl Clone for FormatSpecimpl Clone for Alignmentimpl Clone for Countimpl Clone for Positionimpl Clone for Errorimpl<'a> Clone for ArgumentV1<'a>impl Clone for FlagV1impl<'a> Clone for Arguments<'a>impl<A: Clone> Clone for (A,)impl<A: Clone, B: Clone> Clone for (A, B)impl<A: Clone, B: Clone, C: Clone> Clone for (A, B, C)impl<A: Clone, B: Clone, C: Clone, D: Clone> Clone for (A, B, C, D)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone> Clone for (A, B, C, D, E)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone, F: Clone> Clone for (A, B, C, D, E, F)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone, F: Clone, G: Clone> Clone for (A, B, C, D, E, F, G)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone, F: Clone, G: Clone, H: Clone> Clone for (A, B, C, D, E, F, G, H)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone, F: Clone, G: Clone, H: Clone, I: Clone> Clone for (A, B, C, D, E, F, G, H, I)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone, F: Clone, G: Clone, H: Clone, I: Clone, J: Clone> Clone for (A, B, C, D, E, F, G, H, I, J)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone, F: Clone, G: Clone, H: Clone, I: Clone, J: Clone, K: Clone> Clone for (A, B, C, D, E, F, G, H, I, J, K)impl<A: Clone, B: Clone, C: Clone, D: Clone, E: Clone, F: Clone, G: Clone, H: Clone, I: Clone, J: Clone, K: Clone, L: Clone> Clone for (A, B, C, D, E, F, G, H, I, J, K, L)