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<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, B: Clone, G: Clone, L: Clone, D: Clone, F: Clone, H: Clone, K: Clone, J: Clone, C: Clone, A: Clone, I: 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 C: Clone, K: Clone, A: Clone, F: Clone, I: Clone, J: Clone, D: Clone, H: Clone, G: Clone, E: Clone, B: Cloneimpl<A, B, C, D, E, F, G, H, I, J> Clone for (A, B, C, D, E, F, G, H, I, J) where H: Clone, F: Clone, C: Clone, J: Clone, G: Clone, D: Clone, I: Clone, A: Clone, B: Clone, E: Cloneimpl<A, B, C, D, E, F, G, H, I> Clone for (A, B, C, D, E, F, G, H, I) where F: Clone, D: Clone, E: Clone, H: Clone, A: Clone, I: Clone, C: Clone, G: Clone, B: Cloneimpl<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, H: Clone, A: Clone, B: Clone, D: Clone, F: Cloneimpl<A, B, C, D, E, F, G> Clone for (A, B, C, D, E, F, G) where E: Clone, D: Clone, A: Clone, G: Clone, C: Clone, B: Clone, F: Cloneimpl<A, B, C, D, E, F> Clone for (A, B, C, D, E, F) where A: Clone, E: Clone, C: Clone, B: Clone, F: Clone, D: Cloneimpl<A, B, C, D, E> Clone for (A, B, C, D, E) where E: Clone, B: Clone, C: Clone, D: Clone, A: Cloneimpl<A, B, C, D> Clone for (A, B, C, D) where B: Clone, D: Clone, C: Clone, A: Cloneimpl<A, B, C> Clone for (A, B, C) where C: Clone, A: Clone, B: Cloneimpl<A, B> Clone for (A, B) where A: Clone, B: Cloneimpl<A> Clone for (A,) where A: Cloneimpl<T, E> Clone for Result<T, E> where E: Clone, T: Cloneimpl<T> Clone for [T; 32] where T: Copyimpl<T> Clone for [T; 31] where T: Copyimpl<T> Clone for [T; 30] where T: Copyimpl<T> Clone for [T; 29] where T: Copyimpl<T> Clone for [T; 28] where T: Copyimpl<T> Clone for [T; 27] where T: Copyimpl<T> Clone for [T; 26] where T: Copyimpl<T> Clone for [T; 25] where T: Copyimpl<T> Clone for [T; 24] where T: Copyimpl<T> Clone for [T; 23] where T: Copyimpl<T> Clone for [T; 22] where T: Copyimpl<T> Clone for [T; 21] where T: Copyimpl<T> Clone for [T; 20] where T: Copyimpl<T> Clone for [T; 19] where T: Copyimpl<T> Clone for [T; 18] where T: Copyimpl<T> Clone for [T; 17] where T: Copyimpl<T> Clone for [T; 16] where T: Copyimpl<T> Clone for [T; 15] where T: Copyimpl<T> Clone for [T; 14] where T: Copyimpl<T> Clone for [T; 13] where T: Copyimpl<T> Clone for [T; 12] where T: Copyimpl<T> Clone for [T; 11] where T: Copyimpl<T> Clone for [T; 10] where T: Copyimpl<T> Clone for [T; 9] where T: Copyimpl<T> Clone for [T; 8] where T: Copyimpl<T> Clone for [T; 7] where T: Copyimpl<T> Clone for [T; 6] where T: Copyimpl<T> Clone for [T; 5] where T: Copyimpl<T> Clone for [T; 4] where T: Copyimpl<T> Clone for [T; 3] where T: Copyimpl<T> Clone for [T; 2] where T: Copyimpl<T> Clone for [T; 1] where T: Copyimpl<T> Clone for [T; 0] where T: Copyimpl Clone for charimpl Clone for boolimpl Clone for ()impl Clone for f64impl Clone for f32impl Clone for u64impl Clone for u32impl Clone for u16impl Clone for u8impl Clone for usizeimpl Clone for i64impl Clone for i32impl Clone for i16impl Clone for i8impl Clone for isizeimpl<T> Clone for *mut T where T: ?Sizedimpl<T> Clone for *const T where T: ?Sizedimpl<T> Clone for Option<T> where T: Cloneimpl<T> Clone for Box<[T]> where T: Cloneimpl Clone for Box<str>impl<T> Clone for Box<T> where T: Cloneimpl<T> Clone for Vec<T> where T: Cloneimpl Clone for Stringimpl Clone for ParseIntErrorimpl<T> Clone for Wrapping<T> where T: Cloneimpl Clone for FpCategoryimpl Clone for Threadimpl Clone for LocalKeyStateimpl<A> Clone for LinkedList<A> where A: Cloneimpl<T> Clone for BinaryHeap<T> where T: Cloneimpl<T> Clone for VecDeque<T> where T: Cloneimpl<'a, K, V> Clone for Keys<'a, K, V>impl<'a, K, V> Clone for Range<'a, K, V>impl<K, V> Clone for BTreeMap<K, V> where V: Clone, K: Cloneimpl<'a, K, V> Clone for Values<'a, K, V>impl<'a, K, V> Clone for Iter<'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 Union<'a, T>impl<'a, T> Clone for Intersection<'a, T>impl<'a, T> Clone for Difference<'a, T>impl<'a, T> Clone for SymmetricDifference<'a, T>impl<T> Clone for Bound<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, T> Clone for Iter<'a, T>impl<T> Clone for IntoIter<T> where T: Cloneimpl<T> Clone for Weak<T> where T: ?Sizedimpl<T> Clone for Arc<T> where T: ?Sizedimpl 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<'a> Clone for CharIndices<'a>impl<'a> Clone for LinesAny<'a>impl Clone for Utf8Errorimpl<'a, P> Clone for SplitTerminator<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a> Clone for Bytes<'a>impl<'a, P> Clone for Matches<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a> Clone for Chars<'a>impl<'a, P> Clone for RMatchIndices<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for Split<'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 SplitN<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for RMatches<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl Clone for CharRangeimpl<'a, P> Clone for RSplitTerminator<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl Clone for ParseBoolErrorimpl<'a> Clone for Lines<'a>impl<'a, P> Clone for RSplit<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<'a, P> Clone for RSplitN<'a, P> where P: Pattern<'a>, P::Searcher: Cloneimpl<T> Clone for Rc<T> where T: ?Sizedimpl<T> Clone for Weak<T> where T: ?Sizedimpl Clone for EscapeDefaultimpl Clone for EscapeUnicodeimpl<'a, T> Clone for Iter<'a, T>impl<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 A: Clone, B: Cloneimpl<A, B> Clone for Zip<A, B> where B: Clone, A: Cloneimpl<I, F> Clone for Map<I, F> where F: Clone, I: Cloneimpl<I, P> Clone for Filter<I, P> where I: Clone, P: 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 I: Clone, F: Clone, St: Cloneimpl<I, U, F> Clone for FlatMap<I, U, F> where I: Clone, F: Clone, U: Clone + IntoIterator, U::IntoIter: Cloneimpl<I> Clone for Fuse<I> where I: Cloneimpl<I, F> Clone for Inspect<I, F> where I: Clone, F: 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 PhantomData<T> where T: ?Sizedimpl Clone for ExchangeHeapSingletonimpl<'a, T> Clone for Iter<'a, T>impl<'a, T> Clone for Chunks<'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 Clone for ParseErrorimpl Clone for Orderingimpl<T> Clone for Slice<T>impl Clone for TraitObjectimpl<T> Clone for Shared<T> where T: ?Sizedimpl<T> Clone for Cell<T> where T: Copyimpl<T> Clone for RefCell<T> where T: Cloneimpl Clone for BorrowStateimpl<'a, A> Clone for Iter<'a, A>impl<A> Clone for IntoIter<A> where A: Cloneimpl<T> Clone for IntoIter<T> where T: Cloneimpl<'a, B> Clone for Cow<'a, B> where B: ToOwned + ?Sizedimpl<'a> Clone for Arguments<'a>impl Clone for Errorimpl<H> Clone for BuildHasherDefault<H>impl Clone for SipHasherimpl Clone for TypeIdimpl 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: Clone