如果一个 struct 的泛型为Option<T>
,而T
可能无法实现Clone
,那么为什么不能克隆None
呢?T
型的None
和其他None
不一样吗?例如:
struct Foo<T> {
bar: Vec<Option<T>>,
}
impl <T> Foo<T> {
fn blank(size: usize) -> Foo<T> {
Foo {
bar: vec![None; size],
}
}
}