上級 › E0782: trait objects must include the `dyn` keyword の原因と直し方 › パターン3
E0782: trait objects must include the `dyn` keyword の原因と直し方
トレイトを直接型として使おうとすると、コンパイル時のサイズが確定できないためエラーになります。
1 trait Job { 2 fn run(&self) -> i32; 3 } 4 struct Task; 5 impl Job for Task { 6 fn run(&self) -> i32 { 1 } 7 } 8 fn main() { 9 let jobs: Vec<Box<_______>> = vec![Box::new(Task)]; ^ 10 println!("{}", jobs[0].run()); 11 }
error[E0782]: trait objects must include the `dyn` keyword
空欄を埋めて実行を通す
Rust 2021ではdynの省略は許されず、必ず明示する必要があります。
次の問題