ラップされた内側の要素をcloneするかどうかの違い。以下は[[Option (Rust)|Option]]のケースにおける具体例。
```rust
#[derive(Clone)]
struct Human {
my_no: i32,
name: String,
}
fn main() {
let ichiro = Human {
my_no: 1,
name: "ichiro".into(),
};
let maybe_ichiro = Option::Some(&ichiro);
let r1 = maybe_ichiro.clone(); // Option<&Human>
let r2 = maybe_ichiro.cloned(); // Option<Human>
}
```
`Option<&Human>`に対して
- `Option`がcloneされるか
- `Option`の中の`&Human`がcloneされるか
の違い。