Trait ToOwned
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: TraitBound { trait_: Path { path: "Borrow", id: Id(28), args: Some(AngleBracketed { args: [Type(Generic("Self"))], constraints: [] }) }, generic_params: [], modifier: None }The resulting type after obtaining ownership.
Required Methods
fn to_owned(self: &Self) -> <Self as >::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: &Self, target: &mut <Self as >::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<T> ToOwned for Cow<'a, B>impl<T> ToOwned for Cursor<'a, T, A>impl<T> ToOwned for TryReserveErrorimpl<T> ToOwned for FromUtf8Errorimpl<T> ToOwned for LinkedList<T, A>impl<T> ToOwned for Weak<T, A>impl<T> ToOwned for IntoCharsimpl<T> ToOwned for Stringimpl<T> ToOwned for CStringimpl<T> ToOwned for Vec<T, A>impl<T> ToOwned for Iter<'a, T>impl ToOwned for ByteStrimpl<T> ToOwned for IntoIter<T, A>impl<T> ToOwned for SymmetricDifference<'a, T>impl<T> ToOwned for Globalimpl<T> ToOwned for FromVecWithNulErrorimpl<T> ToOwned for Iter<'a, T>impl<T> ToOwned for Rc<T, A>impl<T> ToOwned for Box<T, A>impl<T> ToOwned for Iter<'a, T>impl<T> ToOwned for Values<'a, K, V>impl<T> ToOwned for IntoIter<T, A>impl<T> ToOwned for BTreeSet<T, A>impl<T> ToOwned for IntoIter<T, A>impl<T> ToOwned for BTreeMap<K, V, A>impl<T: Clone> ToOwned for [T]impl ToOwned for strimpl<T> ToOwned for Arc<T, A>impl<T> ToOwned for Range<'a, K, V>impl<T> ToOwned for Cursor<'a, K, V>impl<T> ToOwned for Intersection<'a, T, A>impl<T> ToOwned for Range<'a, T>impl<T> ToOwned for TryReserveErrorKindimpl<T> ToOwned for Keys<'a, K, V>impl<T> ToOwned for IntoStringErrorimpl<T> ToOwned for VecDeque<T, A>impl<T> ToOwned for BinaryHeap<T, A>impl<T> ToOwned for ByteStringimpl<T> ToOwned for UnorderedKeyErrorimpl<T> ToOwned for Weak<T, A>impl<T> ToOwned for Cursor<'a, K>impl<T> ToOwned for Iter<'a, K, V>impl<T> ToOwned for Timpl ToOwned for core::ffi::CStrimpl<T> ToOwned for Union<'a, T>impl<T> ToOwned for Difference<'a, T, A>impl<T> ToOwned for IntoIterSorted<T, A>impl<T> ToOwned for NulErrorimpl<T> ToOwned for Iter<'a, T>impl<T> ToOwned for IntoIter<T, A>