pub trait ToOwned {
type Owned: Borrow<Self>;
// Required method
fn to_owned(&self) -> Self::Owned;
// Provided method
fn clone_into(&self, target: &mut Self::Owned) { ... }
}Expand description
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.
Required Associated Types§
Required Methods§
Provided Methods§
1.63.0 · Sourcefn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
Uses borrowed data to replace owned data, usually by cloning.
This is borrow-generalized version of Clone::clone_from.
§Examples
Basic usage:
let mut s: String = String::new();
"hello".clone_into(&mut s);
let mut v: Vec<i32> = Vec::new();
[1, 2][..].clone_into(&mut v);Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementors§
Source§impl ToOwned for RelativePath
ToOwned implementation for RelativePath.
impl ToOwned for RelativePath
ToOwned implementation for RelativePath.
§Examples
use relative_path::RelativePath;
let path = RelativePath::new("foo/bar").to_owned();
assert_eq!(path, "foo/bar");