初級 › E0382: borrow of moved value(ムーブ後の値の使用)の原因と直し方 › パターン2
E0382: borrow of moved value(ムーブ後の値の使用)の原因と直し方
StringやVecのようにCopyトレイトを実装しない値を別の変数に代入すると、所有権が移動(ムーブ)します。
1 fn main() { 2 let name1 = String::from("taro"); 3 let name2 = ________________; ^ 4 println!("{} {}", name1, name2); 5 }
error[E0382]: borrow of moved value: `name1`
空欄を埋めて実行を通す
Stringのようにヒープにデータを持つ型は、代入すると値がコピーされず所有権だけが移動します。
次の問題