error[E0382]: use of moved value: `a` --> $DIR/move-into-dead-array-2.rs:14:5 | LL | fn foo(mut a: [D; 4], i: usize) { | ----- move occurs because `a` has type `[D; 4]`, which does not implement the `Copy` trait LL | drop(a); | - value moved here LL | a[i] = d(); | ^^^^ value used here after move error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.