# Trait std::borrow::ToOwned [−] [src]

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

## Associated Types

### `type Owned: Borrow<Self>`

## Required Methods

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

Creates owned data from borrowed data, usually by cloning.

## Implementors

- `impl<T> ToOwned for T where T: Clone`
- `impl<T> ToOwned for [T] where T: Clone`
- `impl ToOwned for str`
- `impl ToOwned for CStr`
- `impl ToOwned for OsStr`
- `impl ToOwned for Path`

# Help

## Keyboard Shortcuts

?
  Show this help dialog
S
  Focus the search field
⇤
  Move up in search results
⇥
  Move down in search results
⏎
  Go to active search result

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize`)