中級 › for ループで Vec を直接回すと要素がムーブされる › パターン5
for ループで Vec を直接回すと要素がムーブされる
for x in vec のように所有権を持つVecを直接forに渡すと、内部でinto_iter()が呼ばれ各要素の所有権がムーブされます。
1 fn main() { 2 let tags = vec![String::from("s"), String::from("t")]; 3 for t in _____________ { ^ 4 println!("{}", t); 5 } 6 println!("{}", tags.len()); 7 }
error[E0382]: borrow of moved value: `tags`
空欄を埋めて実行を通す
要素を消費する必要が無いなら、常に&を付けて借用でループする方が安全です。
次の問題