エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
Rustでは以下のようなプログラムはコンパイルエラーになる。 struct List<X>(Option<Box<(X, List<X>)>>... Rustでは以下のようなプログラムはコンパイルエラーになる。 struct List<X>(Option<Box<(X, List<X>)>>); // 通常は X: Clone を仮定するが、あえて Option<Box<(X, List<X>)>>: Clone としてみる impl<X> Clone for List<X> where Option<Box<(X, List<X>)>>: Clone { fn clone(&self) -> Self { List(self.0.clone()) } } fn main() { let x = List::<i32>(None).clone(); } このとき、 List<i32>: Clone をするために以下のような推論が行われる。 List<i32>: Clone は上で定義されている impl を使うことができる。 そのために