pub trait ToOwned { type Owned: Borrow<Self>; #[must_use = "cloning is often expensive and is not expected to have side effects"] fn to_owned(&self) -> Self::Owned; fn clone_into(&self, target: &mut 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.
#[must_use =
"cloning is often expensive and is not expected to have side effects"]fn to_owned(&self) -> Self::Owned
fn clone_into(&self, target: &mut Self::Owned)
impl ToOwned for str
[src]
type Owned = String
fn to_owned(&self) -> String
[src]
fn clone_into(&self, target: &mut String)
[src]
impl ToOwned for CStr
[src]
type Owned = CString
fn to_owned(&self) -> CString
[src]
fn clone_into(&self, target: &mut CString)
[src]
impl ToOwned for OsStr
[src]
type Owned = OsString
fn to_owned(&self) -> OsString
[src]
fn clone_into(&self, target: &mut OsString)
[src]
impl ToOwned for Path
[src]
type Owned = PathBuf
fn to_owned(&self) -> PathBuf
[src]
fn clone_into(&self, target: &mut PathBuf)
[src]
impl<T> ToOwned for [T] where
T: Clone,
[src]
type Owned = Vec<T>
fn to_owned(&self) -> Vec<T>β
[src]
fn clone_into(&self, target: &mut Vec<T>)
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
Β© 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/std/borrow/trait.ToOwned.html