mirror of
https://git.aramjonghu.dev/AramJonghu/rustlings.git
synced 2026-09-02 16:33:30 +02:00
move_semantics2 solution
This commit is contained in:
@@ -352,16 +352,10 @@ When running this exercise for the first time, you'll notice an error about
|
||||
"borrow of moved value". In Rust, when an argument is passed to a function and
|
||||
it's not explicitly returned, you can't use the original variable anymore.
|
||||
We call this "moving" a variable. When we pass `vec0` into `fill_vec`, it's
|
||||
being "moved" into `vec1`, meaning we can't access `vec0` anymore after the
|
||||
fact.
|
||||
being "moved" into `vec1`, meaning we can't access `vec0` anymore.
|
||||
|
||||
Rust provides a couple of different ways to mitigate this issue, feel free to
|
||||
try them all:
|
||||
1. You could make another, separate version of the data that's in `vec0` and
|
||||
pass that to `fill_vec` instead.
|
||||
2. Make `fill_vec` borrow its argument instead of taking ownership of it,
|
||||
and then copy the data within the function (`vec.clone()`) in order to
|
||||
return an owned `Vec<i32>`.
|
||||
You could make another, separate version of the data that's in `vec0` and
|
||||
pass it to `fill_vec` instead.
|
||||
"""
|
||||
|
||||
[[exercises]]
|
||||
|
||||
Reference in New Issue
Block a user