pub trait ToOwned {
type Owned: Borrow<Self>;
#[must_use =
"cloning is often expensive and is not expected to have side effects"] fn to_owned(&self) -> Self::Owned;
fn clone_into(&self, target: &mut Self::Owned) { ... }
}
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.
#[must_use =
"cloning is often expensive and is not expected to have side effects"]fn to_owned(&self) -> Self::OwnedCreates owned data from borrowed data, usually by cloning.
Basic usage:
let s: &str = "a"; let ss: String = s.to_owned(); let v: &[i32] = &[1, 2]; let vv: Vec<i32> = v.to_owned();
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.
Basic usage:
let mut s: String = String::new(); "hello".clone_into(&mut s); let mut v: Vec<i32> = Vec::new(); [1, 2][..].clone_into(&mut v);
impl ToOwned for str[src]
type Owned = Stringfn to_owned(&self) -> String[src]
fn clone_into(&self, target: &mut String)[src]
impl ToOwned for CStr[src]
type Owned = CStringfn to_owned(&self) -> CString[src]
fn clone_into(&self, target: &mut CString)[src]
impl ToOwned for OsStr[src]
type Owned = OsStringfn to_owned(&self) -> OsString[src]
fn clone_into(&self, target: &mut OsString)[src]
impl ToOwned for Path[src]
type Owned = PathBuffn to_owned(&self) -> PathBuf[src]
fn clone_into(&self, target: &mut PathBuf)[src]
impl<T> ToOwned for [T] where
    T: Clone, [src]
type Owned = Vec<T>fn to_owned(&self) -> Vec<T>ⓘNotable traits for Vec<u8>
impl Write for Vec<u8>
[src]
fn clone_into(&self, target: &mut Vec<T>)[src]
impl<T> ToOwned for T where
    T: Clone, [src]
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/borrow/trait.ToOwned.html