| // Ensure that we cannot move into an uninitialized fixed-size array. | |
| struct D { _x: u8 } | |
| fn d() -> D { D { _x: 0 } } | |
| fn main() { | |
| foo([d(), d(), d(), d()], 1); | |
| foo([d(), d(), d(), d()], 3); | |
| } | |
| fn foo(mut a: [D; 4], i: usize) { | |
| drop(a); | |
| a[i] = d(); //~ ERROR use of moved value: `a` | |
| } |