Default
の特性は、導出タイプの内容にもDefault
を実装している場合にのみ、#[derive(..)]
dになることがあります。これは、形質がより多く使用されるようになることを意味します。しかし、私はstd
からいくつかの型が完全に有効なデフォルト(generic paramsによることもある)を持っていますが、実装が欠落していることに気付きました。Mutex、RWLock、CondVar、Durationにデフォルトが実装されていないのはなぜですか?
Mutex<T>
とRWLock<T>
はCondVar
は単にCondVar::new()
Duration
で実装できnew(_)
で(where T: Default
)を実装することができ(賢明なデフォルトでゼロ期間、を取得するために)
これらの省略には技術的な理由がありますか?
私は0の持続時間には同意しませんでした。これは分かりやすいデフォルト*ですが、他のものは確かです。 – Shepmaster
なぜですか?あなたは賢明なデフォルトがないと思いますか、それとももっと賢明なものがあると思いますか? – llogiq
私は賢明なデフォルトがないと言いたいと思います。ほとんどの場合、タイムアウトに関する期間について考えると、ゼロのタイムアウトは私には意味をなさないものの、他の値を選ぶこともありません。私は数字が 'Default'を' 0'として実装していることがわかります。だから、¯\\ _(ツ)/¯。 – Shepmaster