- 1 Clone trait通用实现
- 2 Rc::clone
- 3 impl<T: Clone> Clone for Option
https://qa.1r1g.com/sf/ask/4107238131/
有一个通用的实现
impl<T: Clone> Clone for Option<T> {
#[inline]
fn clone(&self) -> Self {
match self {
Some(x) => Some(x.clone()),
None => None,
}
}
// ...
}
所以如果x是Option<Rc>,x.clone()就干脆顺从上Clone执行了Rc。