Trait collections::borrow::ToOwned
[−]
[src]
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.
Associated Types
Required Methods
fn to_owned(&self) -> Self::Owned
Creates owned data from borrowed data, usually by cloning.
Examples
Basic usage:
fn main() { let s = "a"; // &str let ss = s.to_owned(); // String let v = &[1, 2]; // slice let vv = v.to_owned(); // Vec }let s = "a"; // &str let ss = s.to_owned(); // String let v = &[1, 2]; // slice let vv = v.to_owned(); // Vec
Implementors
impl<T: Clone> ToOwned for [T]
impl ToOwned for str