Given this 2D vector, I want to print its element, as one vector per row:
main(){
let mut 2d_vec: Vec<Vec<f64>> = Vec::new();
2d_vec = vec![
vec![1.,2.,3.],
vec![4.,5.,6.],
vec![7.,8.,9.]
];
2d_vec.into_iter().for_each(|it| {
println!("{:#?}", it);
})
}
I got the below error:
error[E0507]: cannot move out of `2d_vec`, a captured variable in an `FnMut` closure
--> src/main.rs:75:9
|
39 | let mut 2d_vec: Vec<Vec<f64>> = Vec::new();
| ----------- captured outer variable
...
75 | 2d_vec.into_iter().for_each(|it| {
| ^^^^^^^ move occurs because `2d_vec` has type `std::vec::Vec<std::vec::Vec<f64>>`, which does not implement the `Copy` trait
error: aborting due to previous error