A generalization of
Clone to borrowed data.
Some types make it possible to go from borrowed to owned, usually by
Clone trait. But
Clone works only for going from
ToOwned trait generalizes
Clone to construct owned data
from any borrow of a given type.
Associated TypesLoading content...
#[must_use = "cloning is often expensive and is not expected to have side effects"]
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning.
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
let mut s: String = String::new(); "hello".clone_into(&mut s); let mut v: Vec<i32> = Vec::new(); [1, 2][..].clone_into(&mut v);