Trait ToOwned
pub trait ToOwned
A generalization of Clone to borrowed data.
Some types make it possible to go from borrowed to owned, usually by
implementing the Clone trait. But Clone works only for going from &T
to T. The ToOwned trait generalizes Clone to construct owned data
from any borrow of a given type.
Associated Types
type Owned: Borrow<Self>;The resulting type after obtaining ownership.
Required Methods
fn to_owned(&self) -> Self::OwnedCreates owned data from borrowed data, usually by cloning.
Examples
Basic usage:
let s: &str = "a"; let ss: String = s.to_owned; let v: & = &; let vv: = v.to_owned;
Provided Methods
fn clone_into(&self, target: &mut Self::Owned)Uses borrowed data to replace owned data, usually by cloning.
This is borrow-generalized version of
Clone::clone_from.Examples
Basic usage:
let mut s: String = Stringnew; "hello".clone_into; let mut v: = Vecnew; .clone_into;
Implementors
impl ToOwned for ByteStrimpl ToOwned for CStrimpl ToOwned for strimpl<T> ToOwned for Arc<T, A> where T: Clone,impl<T> ToOwned for BTreeMap<K, V, A> where T: Clone,impl<T> ToOwned for BTreeSet<T, A> where T: Clone,impl<T> ToOwned for BinaryHeap<T, A> where T: Clone,impl<T> ToOwned for Box<T, A> where T: Clone,impl<T> ToOwned for BoxedArrayIntoIter<T, N, A> where T: Clone,impl<T> ToOwned for ByteString where T: Clone,impl<T> ToOwned for CString where T: Clone,impl<T> ToOwned for Cow<'a, B> where T: Clone,impl<T> ToOwned for Cursor<'a, K> where T: Clone,impl<T> ToOwned for Cursor<'a, K, V> where T: Clone,impl<T> ToOwned for Cursor<'a, T, A> where T: Clone,impl<T> ToOwned for Difference<'a, T, A> where T: Clone,impl<T> ToOwned for FromBytesWithNulErrorKind where T: Clone,impl<T> ToOwned for FromUtf16ErrorKind where T: Clone,impl<T> ToOwned for FromUtf8Error where T: Clone,impl<T> ToOwned for FromVecWithNulError where T: Clone,impl<T> ToOwned for Global where T: Clone,impl<T> ToOwned for Handle<Node, Type> where T: Clone,impl<T> ToOwned for Intersection<'a, T, A> where T: Clone,impl<T> ToOwned for IntoChars where T: Clone,impl<T> ToOwned for IntoIter<T, A> where T: Clone,impl<T> ToOwned for IntoIter<T, A> where T: Clone,impl<T> ToOwned for IntoIter<T, A> where T: Clone,impl<T> ToOwned for IntoIter<T, A> where T: Clone,impl<T> ToOwned for IntoIterSorted<T, A> where T: Clone,impl<T> ToOwned for IntoStringError where T: Clone,impl<T> ToOwned for Iter<'a, K, V> where T: Clone,impl<T> ToOwned for Iter<'a, T> where T: Clone,impl<T> ToOwned for Iter<'a, T> where T: Clone,impl<T> ToOwned for Iter<'a, T> where T: Clone,impl<T> ToOwned for Iter<'a, T> where T: Clone,impl<T> ToOwned for Keys<'a, K, V> where T: Clone,impl<T> ToOwned for LazyLeafHandle<BorrowType, K, V> where T: Clone,impl<T> ToOwned for LazyLeafRange<BorrowType, K, V> where T: Clone,impl<T> ToOwned for LeafRange<BorrowType, K, V> where T: Clone,impl<T> ToOwned for LinkedList<T, A> where T: Clone,impl<T> ToOwned for MergeIterInner<I> where T: Clone,impl<T> ToOwned for NodeRef<BorrowType, K, V, Type> where T: Clone,impl<T> ToOwned for NulError where T: Clone,impl<T> ToOwned for Peeked<I> where T: Clone,impl<T> ToOwned for Range<'a, K, V> where T: Clone,impl<T> ToOwned for Range<'a, T> where T: Clone,impl<T> ToOwned for Rc<T, A> where T: Clone,impl<T> ToOwned for SetValZST where T: Clone,impl<T> ToOwned for String where T: Clone,impl<T> ToOwned for SymmetricDifference<'a, T> where T: Clone,impl<T> ToOwned for T where T: Clone,impl<T> ToOwned for TryReserveError where T: Clone,impl<T> ToOwned for TryReserveErrorKind where T: Clone,impl<T> ToOwned for Union<'a, T> where T: Clone,impl<T> ToOwned for UnorderedKeyError where T: Clone,impl<T> ToOwned for Values<'a, K, V> where T: Clone,impl<T> ToOwned for Vec<T, A> where T: Clone,impl<T> ToOwned for VecDeque<T, A> where T: Clone,impl<T> ToOwned for Weak<T, A> where T: Clone,impl<T> ToOwned for Weak<T, A> where T: Clone,impl<T> ToOwned for WrappedIndex where T: Clone,impl<T: Clone> ToOwned for [T]