#[derive(Default, Debug, Clone)]
struct Test {
vector: Vec<i32>,
}
fn main() {
const N: usize = 10;
const DEFAULT: Test = Test { vector: vec![] };
let mut array: [Test; N] = [DEFAULT; N];
for x in &mut array {
for i in 1..100 {
x.vector.push(i);
}
}
let array_ptr = array.as_mut_ptr();
for i in (1..N).rev() {
unsafe {
array_ptr.add(i).write(array_ptr.add(i - 1).read());
}
}
// unsafe { array_ptr.write(Default::default()); }
array[0] = Default::default();
println!("{:?}", array);
}