Trait std::clone::Clone  
            
                [−]
            
        [src]
pub trait Clone {
    fn clone(&self) -> Self;
    fn clone_from(&mut self, source: &Self) { ... }
}A common trait for cloning an object.
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<T> Clone for Wrapping<T> where T: Clone
- impl Clone for Big32x40
- impl Clone for Big8x3
- impl Clone for Decoded
- impl Clone for FullDecoded
- impl Clone for Fp
- impl<'a> Clone for Part<'a>
- impl<'a> Clone for Formatted<'a>
- impl Clone for Sign
- impl Clone for Unpacked
- impl Clone for FpCategory
- impl Clone for ParseIntError
- impl Clone for IntErrorKind
- impl Clone for ParseFloatError
- impl Clone for FloatErrorKind
- impl<T> Clone for NonZero<T> where T: Zeroable + Clone
- impl<T> Clone for *const T where T: ?Sized
- impl<T> Clone for *mut T where T: ?Sized
- impl<T> Clone for PhantomData<T> where T: ?Sized
- impl Clone for RangeFull
- impl<Idx> Clone for Range<Idx> where Idx: Clone
- impl<Idx> Clone for RangeFrom<Idx> where Idx: Clone
- impl<Idx> Clone for RangeTo<Idx> where Idx: Clone
- impl Clone for Ordering
- impl<'a, T> Clone for &'a T where T: ?Sized
- impl Clone for isize
- impl Clone for i8
- impl Clone for i16
- impl Clone for i32
- impl Clone for i64
- impl Clone for usize
- impl Clone for u8
- impl Clone for u16
- impl Clone for u32
- impl Clone for u64
- impl Clone for f32
- impl Clone for f64
- impl Clone for ()
- impl Clone for bool
- impl Clone for char
- impl<ReturnType> Clone for fn() -> ReturnType
- impl<ReturnType> Clone for extern "C" fn() -> ReturnType
- impl<ReturnType> Clone for unsafe fn() -> ReturnType
- impl<ReturnType> Clone for unsafe extern "C" fn() -> ReturnType
- impl<A, ReturnType> Clone for fn(A) -> ReturnType
- impl<A, ReturnType> Clone for extern "C" fn(A) -> ReturnType
- impl<A, ReturnType> Clone for unsafe fn(A) -> ReturnType
- impl<A, ReturnType> Clone for unsafe extern "C" fn(A) -> ReturnType
- impl<A, B, ReturnType> Clone for fn(A, B) -> ReturnType
- impl<A, B, ReturnType> Clone for extern "C" fn(A, B) -> ReturnType
- impl<A, B, ReturnType> Clone for unsafe fn(A, B) -> ReturnType
- impl<A, B, ReturnType> Clone for unsafe extern "C" fn(A, B) -> ReturnType
- impl<A, B, C, ReturnType> Clone for fn(A, B, C) -> ReturnType
- impl<A, B, C, ReturnType> Clone for extern "C" fn(A, B, C) -> ReturnType
- impl<A, B, C, ReturnType> Clone for unsafe fn(A, B, C) -> ReturnType
- impl<A, B, C, ReturnType> Clone for unsafe extern "C" fn(A, B, C) -> ReturnType
- impl<A, B, C, D, ReturnType> Clone for fn(A, B, C, D) -> ReturnType
- impl<A, B, C, D, ReturnType> Clone for extern "C" fn(A, B, C, D) -> ReturnType
- impl<A, B, C, D, ReturnType> Clone for unsafe fn(A, B, C, D) -> ReturnType
- impl<A, B, C, D, ReturnType> Clone for unsafe extern "C" fn(A, B, C, D) -> ReturnType
- impl<A, B, C, D, E, ReturnType> Clone for fn(A, B, C, D, E) -> ReturnType
- impl<A, B, C, D, E, ReturnType> Clone for extern "C" fn(A, B, C, D, E) -> ReturnType
- impl<A, B, C, D, E, ReturnType> Clone for unsafe fn(A, B, C, D, E) -> ReturnType
- impl<A, B, C, D, E, ReturnType> Clone for unsafe extern "C" fn(A, B, C, D, E) -> ReturnType
- impl<A, B, C, D, E, F, ReturnType> Clone for fn(A, B, C, D, E, F) -> ReturnType
- impl<A, B, C, D, E, F, ReturnType> Clone for extern "C" fn(A, B, C, D, E, F) -> ReturnType
- impl<A, B, C, D, E, F, ReturnType> Clone for unsafe fn(A, B, C, D, E, F) -> ReturnType
- impl<A, B, C, D, E, F, ReturnType> Clone for unsafe extern "C" fn(A, B, C, D, E, F) -> ReturnType
- impl<A, B, C, D, E, F, G, ReturnType> Clone for fn(A, B, C, D, E, F, G) -> ReturnType
- impl<A, B, C, D, E, F, G, ReturnType> Clone for extern "C" fn(A, B, C, D, E, F, G) -> ReturnType
- impl<A, B, C, D, E, F, G, ReturnType> Clone for unsafe fn(A, B, C, D, E, F, G) -> ReturnType
- impl<A, B, C, D, E, F, G, ReturnType> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G) -> ReturnType
- impl<A, B, C, D, E, F, G, H, ReturnType> Clone for fn(A, B, C, D, E, F, G, H) -> ReturnType
- impl<A, B, C, D, E, F, G, H, ReturnType> Clone for extern "C" fn(A, B, C, D, E, F, G, H) -> ReturnType
- impl<A, B, C, D, E, F, G, H, ReturnType> Clone for unsafe fn(A, B, C, D, E, F, G, H) -> ReturnType
- impl<A, B, C, D, E, F, G, H, ReturnType> Clone for unsafe extern "C" fn(A, B, C, D, E, F, G, H) -> ReturnType
- impl Clone for TypeId
- impl<T> Clone for [T; 0] where T: Copy
- impl<T> Clone for [T; 1] where T: Copy
- impl<T> Clone for [T; 2] where T: Copy
- impl<T> Clone for [T; 3] where T: Copy
- impl<T> Clone for [T; 4] where T: Copy
- impl<T> Clone for [T; 5] where T: Copy
- impl<T> Clone for [T; 6] where T: Copy
- impl<T> Clone for [T; 7] where T: Copy
- impl<T> Clone for [T; 8] where T: Copy
- impl<T> Clone for [T; 9] where T: Copy
- impl<T> Clone for [T; 10] where T: Copy
- impl<T> Clone for [T; 11] where T: Copy
- impl<T> Clone for [T; 12] where T: Copy
- impl<T> Clone for [T; 13] where T: Copy
- impl<T> Clone for [T; 14] where T: Copy
- impl<T> Clone for [T; 15] where T: Copy
- impl<T> Clone for [T; 16] where T: Copy
- impl<T> Clone for [T; 17] where T: Copy
- impl<T> Clone for [T; 18] where T: Copy
- impl<T> Clone for [T; 19] where T: Copy
- impl<T> Clone for [T; 20] where T: Copy
- impl<T> Clone for [T; 21] where T: Copy
- impl<T> Clone for [T; 22] where T: Copy
- impl<T> Clone for [T; 23] where T: Copy
- impl<T> Clone for [T; 24] where T: Copy
- impl<T> Clone for [T; 25] where T: Copy
- impl<T> Clone for [T; 26] where T: Copy
- impl<T> Clone for [T; 27] where T: Copy
- impl<T> Clone for [T; 28] where T: Copy
- impl<T> Clone for [T; 29] where T: Copy
- impl<T> Clone for [T; 30] where T: Copy
- impl<T> Clone for [T; 31] where T: Copy
- impl<T> Clone for [T; 32] where T: Copy
- impl Clone for Ordering
- impl<T> Clone for Cell<T> where T: Copy
- impl Clone for BorrowState
- impl<T> Clone for RefCell<T> where T: Clone
- impl<'b> Clone for BorrowRef<'b>
- impl Clone for EscapeUnicode
- impl Clone for EscapeUnicodeState
- impl Clone for EscapeDefault
- impl Clone for EscapeDefaultState
- impl<T> Clone for Rev<T> where T: Clone
- impl<I> Clone for Cloned<I> where I: Clone
- impl<I> Clone for Cycle<I> where I: Clone
- impl<A, B> Clone for Chain<A, B> where B: Clone, A: Clone
- impl<A, B> Clone for Zip<A, B> where B: Clone, A: Clone
- impl<I, F> Clone for Map<I, F> where F: Clone, I: Clone
- impl<I, P> Clone for Filter<I, P> where I: Clone, P: Clone
- impl<I, F> Clone for FilterMap<I, F> where F: Clone, I: Clone
- impl<I> Clone for Enumerate<I> where I: Clone
- impl<I> Clone for Peekable<I> where I: Clone + Iterator, I::Item: Clone
- impl<I, P> Clone for SkipWhile<I, P> where P: Clone, I: Clone
- impl<I, P> Clone for TakeWhile<I, P> where I: Clone, P: Clone
- impl<I> Clone for Skip<I> where I: Clone
- impl<I> Clone for Take<I> where I: Clone
- impl<I, St, F> Clone for Scan<I, St, F> where F: Clone, St: Clone, I: Clone
- impl<I, U, F> Clone for FlatMap<I, U, F> where F: Clone, I: Clone, U: Clone + IntoIterator, U::IntoIter: Clone
- impl<I> Clone for Fuse<I> where I: Clone
- impl<I, F> Clone for Inspect<I, F> where F: Clone, I: Clone
- impl<A, R> Clone for StepBy<A, R> where R: Clone, A: Clone
- impl<A> Clone for RangeInclusive<A> where A: Clone
- impl<A> Clone for Repeat<A> where A: Clone
- impl<T> Clone for Empty<T>
- impl<T> Clone for Once<T> where T: Clone
- impl<T> Clone for Option<T> where T: Clone
- impl<A> Clone for Item<A> where A: Clone
- impl<'a, A> Clone for Iter<'a, A>
- impl<A> Clone for IntoIter<A> where A: Clone
- impl<T> Clone for Slice<T>
- impl Clone for TraitObject
- impl<T, E> Clone for Result<T, E> where T: Clone, E: Clone
- impl<'a, T> Clone for Iter<'a, T>
- impl Clone for i8x16
- impl Clone for i16x8
- impl Clone for i32x4
- impl Clone for i64x2
- impl Clone for u8x16
- impl Clone for u16x8
- impl Clone for u32x4
- impl Clone for u64x2
- impl Clone for f32x4
- impl Clone for f64x2
- impl<'a, T> Clone for Iter<'a, T>
- impl<'a, T, P> Clone for Split<'a, T, P> where P: Clone + FnMut(&T) -> bool
- impl<'a, T> Clone for Windows<'a, T>
- impl<'a, T> Clone for Chunks<'a, T>
- impl Clone for SearchStep
- impl<'a, C> Clone for CharEqSearcher<'a, C> where C: Clone + CharEq
- impl<'a> Clone for CharSearcher<'a>
- impl<'a, 'b> Clone for CharSliceSearcher<'a, 'b>
- impl<'a, F> Clone for CharPredicateSearcher<'a, F> where F: Clone + FnMut(char) -> bool
- impl<'a, 'b> Clone for StrSearcher<'a, 'b>
- impl Clone for StrSearcherImpl
- impl Clone for EmptyNeedle
- impl Clone for TwoWaySearcher
- impl Clone for ParseBoolError
- impl Clone for Utf8Error
- impl<'a> Clone for Chars<'a>
- impl<'a> Clone for CharIndices<'a>
- impl<'a> Clone for Bytes<'a>
- impl Clone for BytesDeref
- impl<'a, P> Clone for SplitInternal<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for Split<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for RSplit<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for SplitTerminator<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for RSplitTerminator<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for SplitNInternal<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for SplitN<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for RSplitN<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for MatchIndicesInternal<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for MatchIndices<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for RMatchIndices<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for MatchesInternal<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for Matches<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a, P> Clone for RMatches<'a, P> where P: Pattern<'a>, P::Searcher: Clone
- impl<'a> Clone for Lines<'a>
- impl<'a> Clone for LinesAny<'a>
- impl Clone for LinesAnyMap
- impl Clone for CharRange
- impl Clone for SipHasher
- impl Clone for Binary
- impl Clone for Octal
- impl Clone for Decimal
- impl Clone for LowerHex
- impl Clone for UpperHex
- impl Clone for Radix
- impl<T, R> Clone for RadixFmt<T, R> where R: Clone, T: Clone
- impl Clone for Argument
- impl Clone for FormatSpec
- impl Clone for Alignment
- impl Clone for Count
- impl Clone for Position
- impl Clone for Error
- impl Clone for FlagV1
- impl<'a> Clone for Arguments<'a>
- impl<A> Clone for (A,) where A: Clone
- impl<A, B> Clone for (A, B) where B: Clone, A: Clone
- impl<A, B, C> Clone for (A, B, C) where B: Clone, A: Clone, C: Clone
- impl<A, B, C, D> Clone for (A, B, C, D) where C: Clone, D: Clone, A: Clone, B: Clone
- impl<A, B, C, D, E> Clone for (A, B, C, D, E) where B: Clone, E: Clone, A: Clone, C: Clone, D: Clone
- impl<A, B, C, D, E, F> Clone for (A, B, C, D, E, F) where E: Clone, D: Clone, F: Clone, B: Clone, C: Clone, A: Clone
- impl<A, B, C, D, E, F, G> Clone for (A, B, C, D, E, F, G) where E: Clone, D: Clone, B: Clone, A: Clone, C: Clone, F: Clone, G: Clone
- impl<A, B, C, D, E, F, G, H> Clone for (A, B, C, D, E, F, G, H) where C: Clone, E: Clone, G: Clone, B: Clone, F: Clone, D: Clone, H: Clone, A: Clone
- impl<A, B, C, D, E, F, G, H, I> Clone for (A, B, C, D, E, F, G, H, I) where H: Clone, C: Clone, E: Clone, D: Clone, B: Clone, A: Clone, G: Clone, I: Clone, F: Clone
- impl<A, B, C, D, E, F, G, H, I, J> Clone for (A, B, C, D, E, F, G, H, I, J) where J: Clone, F: Clone, B: Clone, H: Clone, I: Clone, C: Clone, D: Clone, E: Clone, G: Clone, A: Clone
- impl<A, B, C, D, E, F, G, H, I, J, K> Clone for (A, B, C, D, E, F, G, H, I, J, K) where D: Clone, K: Clone, I: Clone, H: Clone, F: Clone, B: Clone, A: Clone, J: Clone, G: Clone, C: Clone, E: Clone
- impl<A, B, C, D, E, F, G, H, I, J, K, L> Clone for (A, B, C, D, E, F, G, H, I, J, K, L) where J: Clone, H: Clone, C: Clone, B: Clone, I: Clone, A: Clone, F: Clone, K: Clone, L: Clone, G: Clone, E: Clone, D: Clone
- impl Clone for ExchangeHeapSingleton
- impl<T> Clone for Box<T> where T: Clone
- impl Clone for Box<str>
- impl<T> Clone for Box<[T]> where T: Clone
- impl<T> Clone for Arc<T> where T: ?Sized
- impl<T> Clone for Weak<T> where T: ?Sized
- impl<T> Clone for Rc<T> where T: ?Sized
- impl<T> Clone for Weak<T> where T: ?Sized
- impl<T> Clone for BinaryHeap<T> where T: Clone
- impl<'a, T> Clone for Iter<'a, T>
- impl<K, V> Clone for Node<K, V> where V: Clone, K: Clone
- impl<NodeRef, Type, NodeType> Clone for Handle<NodeRef, Type, NodeType> where Type: Clone, NodeRef: Clone, NodeType: Clone
- impl<Elems, Edges> Clone for ElemsAndEdges<Elems, Edges> where Edges: Clone, Elems: Clone
- impl<Impl> Clone for AbsTraversal<Impl> where Impl: Clone
- impl<K, V> Clone for BTreeMap<K, V> where K: Clone, V: Clone
- impl<T> Clone for AbsIter<T> where T: Clone
- impl<'a, K, V> Clone for Iter<'a, K, V>
- impl<'a, K, V> Clone for Keys<'a, K, V>
- impl<'a, K, V> Clone for Values<'a, K, V>
- impl<'a, K, V> Clone for Range<'a, K, V>
- impl<T> Clone for BTreeSet<T> where T: Clone
- impl<'a, T> Clone for Iter<'a, T>
- impl<'a, T> Clone for Range<'a, T>
- impl<'a, T> Clone for Difference<'a, T>
- impl<'a, T> Clone for SymmetricDifference<'a, T>
- impl<'a, T> Clone for Intersection<'a, T>
- impl<'a, T> Clone for Union<'a, T>
- impl<'a, B> Clone for Cow<'a, B> where B: ToOwned + ?Sized
- impl<E> Clone for EnumSet<E>
- impl<E> Clone for Iter<E>
- impl<'a, T> Clone for Iter<'a, T>
- impl<T> Clone for IntoIter<T> where T: Clone
- impl<T> Clone for Rawlink<T>
- impl<A> Clone for LinkedList<A> where A: Clone
- impl<'a> Clone for Utf16Units<'a>
- impl Clone for String
- impl Clone for ParseError
- impl<T> Clone for Vec<T> where T: Clone
- impl<T> Clone for VecDeque<T> where T: Clone
- impl<'a, T> Clone for Iter<'a, T>
- impl<T> Clone for IntoIter<T> where T: Clone
- impl<T> Clone for Bound<T> where T: Clone
- impl<'a> Clone for Utf16Items<'a>
- impl Clone for Utf16Item
- impl<I> Clone for Utf16Encoder<I> where I: Clone
- impl Clone for LocalKeyState
- impl Clone for Thread
- impl<K: Clone, V: Clone, S: Clone> Clone for HashMap<K, V, S>
- impl<'a, K, V> Clone for Iter<'a, K, V>
- impl<'a, K, V> Clone for Keys<'a, K, V>
- impl<'a, K, V> Clone for Values<'a, K, V>
- impl Clone for RandomState
- impl<T: Clone, S: Clone> Clone for HashSet<T, S>
- impl<'a, K> Clone for Iter<'a, K>
- impl<'a, T, S> Clone for Intersection<'a, T, S>
- impl<'a, T, S> Clone for Difference<'a, T, S>
- impl<'a, T, S> Clone for SymmetricDifference<'a, T, S>
- impl<'a, T, S> Clone for Union<'a, T, S>
- impl<H> Clone for DefaultState<H>
- impl Clone for VarError
- impl Clone for CString
- impl Clone for NulError
- impl Clone for OsString
- impl Clone for OpenOptions
- impl Clone for Permissions
- impl Clone for FileType
- impl<T: Clone> Clone for Cursor<T>
- impl Clone for ErrorKind
- impl Clone for SeekFrom
- impl Clone for IpAddr
- impl Clone for Ipv6MulticastScope
- impl Clone for Ipv4Addr
- impl Clone for Ipv6Addr
- impl Clone for SocketAddr
- impl Clone for SocketAddrV4
- impl Clone for SocketAddrV6
- impl Clone for AddrParseError
- impl Clone for Shutdown
- impl<'a> Clone for Prefix<'a>
- impl<'a> Clone for PrefixComponent<'a>
- impl<'a> Clone for Component<'a>
- impl<'a> Clone for Components<'a>
- impl<'a> Clone for Iter<'a>
- impl Clone for PathBuf
- impl Clone for Output
- impl Clone for ExitStatus
- impl<T: Clone> Clone for SendError<T>
- impl Clone for RecvError
- impl Clone for TryRecvError
- impl<T: Clone> Clone for TrySendError<T>
- impl<T> Clone for Sender<T>
- impl<T> Clone for SyncSender<T>
- impl Clone for Duration
- impl Clone for StandardNormal
- impl Clone for Normal
- impl Clone for LogNormal
- impl Clone for Exp1
- impl Clone for Exp
- impl Clone for IsaacRng
- impl Clone for Isaac64Rng
- impl Clone for ChaChaRng
- impl Clone for ReseedWithDefault
- impl Clone for XorShiftRng
- impl Clone for ThreadRng
