I am getting a borrow of moved value
error for this code:
let mut foo = vec![1,2,3];
let bar = &mut foo;
for i in bar { // ...value moved here
// whatever
}
bar.push(1); // borrow of moved value `bar`...
But how did the value of bar
moved there? It's just a reference, right, so it should have been borrowed, not moved?