1 // Ensure that we cannot move out of a fixed-size array (especially
2 // when the element type has a destructor).
7 impl Drop
for D { fn drop(&mut self) { }
}
10 fn d() -> D { D { _x: 0 }
}
12 let _d1
= foo([d(), d(), d(), d()], 1);
13 let _d3
= foo([d(), d(), d(), d()], 3);
16 fn foo(a
: [D
; 4], i
: usize) -> D
{
17 a
[i
] //~ ERROR cannot move out of type `[D; 4]`, a non-copy array