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.
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();
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);