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) { ... }
}Available on crate feature
wayland and Linux only.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§
§impl<A, B, C, D, E, F, Format> ToOwned for Tuple6VarULE<A, B, C, D, E, F, Format>
Available on crate feature alloc only.
impl<A, B, C, D, E, F, Format> ToOwned for Tuple6VarULE<A, B, C, D, E, F, Format>
Available on crate feature
alloc only.§impl<A, B, C, D, E, Format> ToOwned for Tuple5VarULE<A, B, C, D, E, Format>
Available on crate feature alloc only.
impl<A, B, C, D, E, Format> ToOwned for Tuple5VarULE<A, B, C, D, E, Format>
Available on crate feature
alloc only.§impl<A, B, C, D, Format> ToOwned for Tuple4VarULE<A, B, C, D, Format>
Available on crate feature alloc only.
impl<A, B, C, D, Format> ToOwned for Tuple4VarULE<A, B, C, D, Format>
Available on crate feature
alloc only.§impl<A, B, C, Format> ToOwned for Tuple3VarULE<A, B, C, Format>
Available on crate feature alloc only.
impl<A, B, C, Format> ToOwned for Tuple3VarULE<A, B, C, Format>
Available on crate feature
alloc only.§impl<A, V> ToOwned for VarTupleULE<A, V>where
A: AsULE + 'static,
V: VarULE + ?Sized,
Available on crate feature alloc only.
impl<A, V> ToOwned for VarTupleULE<A, V>where
A: AsULE + 'static,
V: VarULE + ?Sized,
Available on crate feature
alloc only.