中級 › E0072: recursive type has infinite size の原因と直し方 › パターン4
E0072: recursive type has infinite size の原因と直し方
構造体が自分自身の型を直接フィールドに持つと、サイズが無限になってしまいコンパイルエラーになります。
1 struct Chain { 2 id: i32, 3 next: __________________, ^ 4 } 5 fn main() { 6 let n = Chain { id: 1, next: None }; 7 println!("{}", n.id); 8 }
error[E0072]: recursive type `Chain` has infinite size
空欄を埋めて実行を通す
コンパイラは構造体のサイズをコンパイル時に確定させる必要があるため、無限に自己参照する定義は許されません。
次の問題