Default
特质只能在派生类型的内容也实现了Default
时才能被#[derive(..)]
。这意味着该特质越多被实现,就越容易使用。但是,我注意到一些来自std
的类型缺少实现,尽管它们具有完全有效的默认值(有时取决于泛型参数)。
Mutex<T>
和RWLock<T>
可以通过new(_)
实现(where T: Default
)CondVar
可以简单地通过CondVar::new()
实现Duration
可以派生(以获得零持续时间,这是一个合理的默认值)
这些缺失是否由技术原因造成?