Trait bitflags::__core::clone::Clone
[−]
[src]
pub trait Clone {
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
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 LocalKeyStateimpl Clone for Threadimpl<K, V, S> Clone for HashMap<K, V, S> where V: Clone, K: Clone, S: Cloneimpl<'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 RandomStateimpl<T, S> Clone for HashSet<T, S> where S: Clone, T: Cloneimpl<'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<T> Clone for BinaryHeap<T> where T: Cloneimpl<'a, T> Clone for Iter<'a, T>impl<T> Clone for IntoIter<T> where T: Cloneimpl<T> Clone for VecDeque<T> where T: Cloneimpl<'a, T> Clone for Iter<'a, T>impl<T> Clone for IntoIter<T> where T: Cloneimpl<'a, T> Clone for Iter<'a, T>impl<T> Clone for IntoIter<T> where T: Cloneimpl<A> Clone for LinkedList<A> where A: Cloneimpl Clone for VarErrorimpl Clone for CStringimpl Clone for NulErrorimpl Clone for IntoStringErrorimpl Clone for OsStringimpl Clone for Metadataimpl Clone for OpenOptionsimpl Clone for Permissionsimpl Clone for FileTypeimpl<T> Clone for Cursor<T> where T: Cloneimpl Clone for ErrorKindimpl Clone for SeekFromimpl Clone for IpAddrimpl Clone for Ipv6MulticastScopeimpl Clone for Ipv4Addrimpl Clone for Ipv6Addrimpl Clone for SocketAddrimpl Clone for SocketAddrV4impl Clone for SocketAddrV6impl Clone for AddrParseErrorimpl Clone for Shutdownimpl Clone for statimpl Clone for SocketAddrimpl<'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 PathBufimpl Clone for StripPrefixErrorimpl Clone for Outputimpl Clone for ExitStatusimpl<T> Clone for SendError<T> where T: Cloneimpl Clone for RecvErrorimpl Clone for TryRecvErrorimpl<T> Clone for TrySendError<T> where T: Cloneimpl<T> Clone for Sender<T>impl<T> Clone for SyncSender<T>impl Clone for WaitTimeoutResultimpl Clone for Orderingimpl Clone for Durationimpl Clone for Instantimpl Clone for SystemTimeimpl Clone for SystemTimeErrorimpl Clone for utimbufimpl Clone for timevalimpl Clone for timespecimpl Clone for rlimitimpl Clone for rusageimpl Clone for in_addrimpl Clone for in6_addrimpl Clone for ip_mreqimpl Clone for ipv6_mreqimpl Clone for hostentimpl Clone for iovecimpl Clone for pollfdimpl Clone for winsizeimpl Clone for sockaddrimpl Clone for sockaddr_inimpl Clone for sockaddr_in6impl Clone for sockaddr_unimpl Clone for sockaddr_storageimpl Clone for addrinfoimpl Clone for sockaddr_nlimpl Clone for sockaddr_llimpl Clone for fd_setimpl Clone for tmimpl Clone for sched_paramimpl Clone for Dl_infoimpl Clone for epoll_eventimpl Clone for utsnameimpl Clone for lconvimpl Clone for direntimpl Clone for dirent64impl Clone for rlimit64impl Clone for glob_timpl Clone for ifaddrsimpl Clone for pthread_mutex_timpl Clone for pthread_rwlock_timpl Clone for pthread_mutexattr_timpl Clone for pthread_cond_timpl Clone for passwdimpl Clone for statvfsimpl Clone for dqblkimpl Clone for signalfd_siginfoimpl Clone for fsid_timpl Clone for mq_attrimpl Clone for cpu_set_timpl Clone for sigactionimpl Clone for stack_timpl Clone for siginfo_timpl Clone for glob64_timpl Clone for ucredimpl Clone for statfsimpl Clone for msghdrimpl Clone for termiosimpl Clone for flockimpl Clone for ipc_permimpl Clone for shmid_dsimpl Clone for sigset_timpl Clone for statimpl Clone for stat64impl Clone for pthread_attr_timpl Clone for mcontext_timpl Clone for ucontext_timpl<'a, T> Clone for &'a T where T: ?Sizedimpl 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> Clone for Vec<T> where T: Cloneimpl<T> Clone for IntoIter<T> where T: Cloneimpl<T> Clone for Rc<T> where T: ?Sizedimpl<T> Clone for Weak<T> where T: ?Sizedimpl<T> Clone for Option<T> where T: Cloneimpl<'a, A> Clone for Iter<'a, A>impl<A> Clone for IntoIter<A> where A: Cloneimpl<T> Clone for Cell<T> where T: Copyimpl Clone for BorrowStateimpl<T> Clone for RefCell<T> where T: Cloneimpl<'a, B> Clone for Cow<'a, B> where B: ToOwned + ?Sizedimpl<T> Clone for *const T where T: ?Sizedimpl<T> Clone for *mut T where T: ?Sizedimpl<Ret> Clone for fn() -> Retimpl<Ret> Clone for extern fn() -> Retimpl<Ret> Clone for unsafe fn() -> Retimpl<Ret> Clone for unsafe extern fn() -> Retimpl<Ret, A> Clone for fn(A) -> Retimpl<Ret, A> Clone for extern fn(A) -> Retimpl<Ret, A> Clone for unsafe fn(A) -> Retimpl<Ret, A> Clone for unsafe extern fn(A) -> Retimpl<Ret, A, B> Clone for fn(A, B) -> Retimpl<Ret, A, B> Clone for extern fn(A, B) -> Retimpl<Ret, A, B> Clone for unsafe fn(A, B) -> Retimpl<Ret, A, B> Clone for unsafe extern fn(A, B) -> Retimpl<Ret, A, B, C> Clone for fn(A, B, C) -> Retimpl<Ret, A, B, C> Clone for extern 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 fn(A, B, C, D, E, F, G, H, I, J, K, L) -> Retimpl<T> Clone for Shared<T> where T: ?Sizedimpl Clone for RangeFullimpl<Idx> Clone for Range<Idx> where Idx: Cloneimpl<Idx> Clone for RangeFrom<Idx> where Idx: Cloneimpl<Idx> Clone for RangeTo<Idx> where Idx: Cloneimpl<Idx> Clone for RangeInclusive<Idx> where Idx: Cloneimpl<Idx> Clone for RangeToInclusive<Idx> where Idx: Cloneimpl<A, R> Clone for StepBy<A, R> where R: Clone, A: Cloneimpl<A> Clone for Repeat<A> where A: Cloneimpl<T> Clone for Empty<T>impl<T> Clone for Once<T> where T: Cloneimpl<T> Clone for Rev<T> where T: Cloneimpl<I> Clone for Cloned<I> where I: Cloneimpl<I> Clone for Cycle<I> where I: Cloneimpl<A, B> Clone for Chain<A, B> where B: Clone, A: Cloneimpl<A, B> Clone for Zip<A, B> where A: Clone, B: Cloneimpl<I, F> Clone for Map<I, F> where I: Clone, F: Cloneimpl<I, P> Clone for Filter<I, P> where P: Clone, I: Cloneimpl<I, F> Clone for FilterMap<I, F> where I: Clone, F: Cloneimpl<I> Clone for Enumerate<I> where I: Cloneimpl<I> Clone for Peekable<I> where I: Clone + Iterator, I::Item: Cloneimpl<I, P> Clone for SkipWhile<I, P> where P: Clone, I: Cloneimpl<I, P> Clone for TakeWhile<I, P> where I: Clone, P: Cloneimpl<I> Clone for Skip<I> where I: Cloneimpl<I> Clone for Take<I> where I: Cloneimpl<I, St, F> Clone for Scan<I, St, F> where St: Clone, I: Clone, F: Cloneimpl<I, U, F> Clone for FlatMap<I, U, F> where U: Clone + IntoIterator, I: Clone, F: Clone, U::IntoIter: Cloneimpl<I> Clone for Fuse<I> where I: Cloneimpl<I, F> Clone for Inspect<I, F> where F: Clone, I: Cloneimpl Clone for ExchangeHeapSingletonimpl<T> Clone for Box<T> where T: Cloneimpl Clone for Box<str>impl<T> Clone for Box<[T]> where T: Cloneimpl<T> Clone for PhantomData<T> where T: ?Sizedimpl<T> Clone for Slice<T>impl Clone for TraitObjectimpl<I> Clone for DecodeUtf16<I> where I: Clone + Iterator<Item=u16>impl Clone for DecodeUtf16Errorimpl<T, E> Clone for Result<T, E> where E: Clone, T: Cloneimpl<'a, T> Clone for Iter<'a, T>impl Clone for Stringimpl Clone for ParseErrorimpl Clone for SipHasherimpl<H> Clone for BuildHasherDefault<H>impl Clone for Orderingimpl<'a> Clone for EncodeUtf16<'a>impl Clone for SearchStepimpl<'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) -> boolimpl<'a, 'b> Clone for StrSearcher<'a, 'b>impl<T> Clone for Wrapping<T> where T: Cloneimpl Clone for ParseFloatErrorimpl Clone for FpCategoryimpl Clone for ParseIntErrorimpl<T> Clone for NonZero<T> where T: Zeroable + Cloneimpl<T> Clone for [T; 0] where T: Copyimpl<T> Clone for [T; 1] where T: Copyimpl<T> Clone for [T; 2] where T: Copyimpl<T> Clone for [T; 3] where T: Copyimpl<T> Clone for [T; 4] where T: Copyimpl<T> Clone for [T; 5] where T: Copyimpl<T> Clone for [T; 6] where T: Copyimpl<T> Clone for [T; 7] where T: Copyimpl<T> Clone for [T; 8] where T: Copyimpl<T> Clone for [T; 9] where T: Copyimpl<T> Clone for [T; 10] where T: Copyimpl<T> Clone for [T; 11] where T: Copyimpl<T> Clone for [T; 12] where T: Copyimpl<T> Clone for [T; 13] where T: Copyimpl<T> Clone for [T; 14] where T: Copyimpl<T> Clone for [T; 15] where T: Copyimpl<T> Clone for [T; 16] where T: Copyimpl<T> Clone for [T; 17] where T: Copyimpl<T> Clone for [T; 18] where T: Copyimpl<T> Clone for [T; 19] where T: Copyimpl<T> Clone for [T; 20] where T: Copyimpl<T> Clone for [T; 21] where T: Copyimpl<T> Clone for [T; 22] where T: Copyimpl<T> Clone for [T; 23] where T: Copyimpl<T> Clone for [T; 24] where T: Copyimpl<T> Clone for [T; 25] where T: Copyimpl<T> Clone for [T; 26] where T: Copyimpl<T> Clone for [T; 27] where T: Copyimpl<T> Clone for [T; 28] where T: Copyimpl<T> Clone for [T; 29] where T: Copyimpl<T> Clone for [T; 30] where T: Copyimpl<T> Clone for [T; 31] where T: Copyimpl<T> Clone for [T; 32] where T: Copyimpl Clone for EscapeUnicodeimpl Clone for EscapeDefaultimpl<'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 ParseBoolErrorimpl Clone for Utf8Errorimpl<'a> Clone for Chars<'a>impl<'a> Clone for CharIndices<'a>impl<'a> Clone for Bytes<'a>impl<'a, P> Clone for Split<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for RSplit<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for SplitTerminator<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for RSplitTerminator<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for SplitN<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for RSplitN<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for MatchIndices<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for RMatchIndices<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for Matches<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for RMatches<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a> Clone for Lines<'a>impl<'a> Clone for LinesAny<'a>impl Clone for CharRangeimpl Clone for Errorimpl<'a> Clone for Arguments<'a>impl<A> Clone for (A,) where A: Cloneimpl<A, B> Clone for (A, B) where A: Clone, B: Cloneimpl<A, B, C> Clone for (A, B, C) where A: Clone, B: Clone, C: Cloneimpl<A, B, C, D> Clone for (A, B, C, D) where D: Clone, C: Clone, B: Clone, A: Cloneimpl<A, B, C, D, E> Clone for (A, B, C, D, E) where D: Clone, E: Clone, A: Clone, B: Clone, C: Cloneimpl<A, B, C, D, E, F> Clone for (A, B, C, D, E, F) where B: Clone, D: Clone, F: Clone, E: Clone, A: Clone, C: Cloneimpl<A, B, C, D, E, F, G> Clone for (A, B, C, D, E, F, G) where E: Clone, G: Clone, C: Clone, D: Clone, B: Clone, F: Clone, A: Cloneimpl<A, B, C, D, E, F, G, H> Clone for (A, B, C, D, E, F, G, H) where D: Clone, H: Clone, C: Clone, B: Clone, E: Clone, A: Clone, F: Clone, G: Cloneimpl<A, B, C, D, E, F, G, H, I> Clone for (A, B, C, D, E, F, G, H, I) where G: Clone, F: Clone, E: Clone, C: Clone, D: Clone, B: Clone, H: Clone, A: Clone, I: Cloneimpl<A, B, C, D, E, F, G, H, I, J> Clone for (A, B, C, D, E, F, G, H, I, J) where F: Clone, J: Clone, G: Clone, D: Clone, A: Clone, I: Clone, H: Clone, E: Clone, C: Clone, B: Cloneimpl<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 H: Clone, E: Clone, J: Clone, D: Clone, B: Clone, I: Clone, G: Clone, C: Clone, K: Clone, F: Clone, A: Cloneimpl<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 E: Clone, L: Clone, K: Clone, A: Clone, F: Clone, B: Clone, D: Clone, G: Clone, C: Clone, H: Clone, J: Clone, I: Cloneimpl<K, V> Clone for BTreeMap<K, V> where K: Clone, V: Cloneimpl<'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: Cloneimpl<'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<E> Clone for EnumSet<E>impl<E> Clone for Iter<E>impl<T> Clone for Bound<T> where T: Cloneimpl<T> Clone for Arc<T> where T: ?Sizedimpl<T> Clone for Weak<T> where T: ?Sizedimpl Clone for StandardNormalimpl Clone for Normalimpl Clone for LogNormalimpl Clone for Exp1impl Clone for Expimpl Clone for IsaacRngimpl Clone for Isaac64Rngimpl Clone for ChaChaRngimpl Clone for ReseedWithDefaultimpl Clone for XorShiftRngimpl<I> Clone for Utf16Encoder<I> where I: Clone