logo

Trait std::borrow::ToOwned

1.0.0 · source ·
pub trait ToOwned {
 type Owned: Borrow<Self>;
 fn to_owned(&self) -> Self::Owned;
 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

type Owned: Borrow<Self>

The resulting type after obtaining ownership.

Required Methods

fn to_owned(&self) -> Self::Owned

Creates owned data from borrowed data, usually by cloning.

Examples

Basic usage:

let s: &str = "a";
let ss: String = s.to_owned();
let v: &[i32] = &[1, 2];
let vv: Vec<i32> = v.to_owned();
Run

Provided Methods

1.63.0 · source

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);
Run

Implementors

source

impl ToOwned for str

type Owned = String

1.3.0 · source

impl ToOwned for CStr

type Owned = CString

source

impl ToOwned for OsStr

type Owned = OsString

source

impl ToOwned for Path

type Owned = PathBuf

source

impl<T> ToOwned for [T] where
T: Clone,

type Owned = Vec<T, Global>

source

impl<T> ToOwned for T where
T: Clone,

type Owned = T

AltStyle によって変換されたページ (->オリジナル) /