fn clone_from(&mut self, source: &Self) {
        match (self, source) {
            (&mut Owned(ref mut dest), &Owned(ref o)) => o.borrow().clone_into(dest),
            (t, s) => *t = s.clone(),
        }
    }
Extracts the owned data.

Clones the data if it is not already owned.

# Examples

Calling `into_owned` on a `Cow::Borrowed` clones the underlying data
and becomes a `Cow::Owned`:

```
use std::borrow::Cow;

let s = "Hello world!";
benchmarks/haystacks/code/rust-library.rs