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.
The resulting type after obtaining ownership.
#[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();Run
fn clone_into(&self, target: &mut Self::Owned)
🔬 This is a nightly-only experimental API. (
Uses borrowed data to replace owned data, usually by cloning.
This is borrow-generalized version of
let mut s: String = String::new();
let mut v: Vec<i32> = Vec::new();
[1, 2][..].clone_into(&mut v);Run