pub trait ToOwned {
type Owned: Borrow<Self>;
fn to_owned(&self) -> 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.
fn to_owned(&self) -> Self::OwnedCreates owned data from borrowed data, usually by cloning.
Basic usage:
let s = "a"; // &str let ss = s.to_owned(); // String let v = &[1, 2]; // slice let vv = v.to_owned(); // Vec
© 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/collections/borrow/trait.ToOwned.html