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.
The resulting type after obtaining ownership.
1.0.0 · SourceCreates owned data from borrowed data, usually by cloning.
§ExamplesBasic usage:
let s: &str = "a";
let ss: String = s.to_owned();
let v: &[i32] = &[1, 2];
let vv: Vec<i32> = v.to_owned();
1.63.0 · Source
Uses borrowed data to replace owned data, usually by cloning.
This is borrow-generalized version of Clone::clone_from
.
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);
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4