中級 › move クロージャに取り込んだ値をクロージャの外で使うと E0382 になる › パターン1
move クロージャに取り込んだ値をクロージャの外で使うと E0382 になる
moveを付けたクロージャは、参照する変数の所有権を丸ごと取り込みます。
1 fn main() { 2 let name = String::from("taro"); 3 let greet = ________ || println!("hi {}", name); ^ 4 greet(); 5 println!("{}", name); 6 }
error[E0382]: borrow of moved value: `name`
空欄を埋めて実行を通す
moveを付けたクロージャは変数の所有権ごと取り込みます。外でも使いたいならmoveを外し借用させます。
次の問題