summaryrefslogtreecommitdiff
path: root/exercises/move_semantics/move_semantics2.rs
diff options
context:
space:
mode:
authormarisa <mokou@posteo.de>2019-11-11 16:51:38 +0100
committermarisa <mokou@posteo.de>2019-11-11 16:51:38 +0100
commit9bdb0a12e45a8e9f9f6a4bd4a9c172c5376c7f60 (patch)
tree3c4a094d57ecedf9706e0ba567a9f157590177c8 /exercises/move_semantics/move_semantics2.rs
parent627cdc07d07dfe6a740e885e0ddf6900e7ec336b (diff)
feat: Refactor hint system
Hints are now accessible using the CLI subcommand `rustlings hint <exercise name`. BREAKING CHANGE: This fundamentally changes the way people interact with exercises.
Diffstat (limited to 'exercises/move_semantics/move_semantics2.rs')
-rw-r--r--exercises/move_semantics/move_semantics2.rs31
1 files changed, 2 insertions, 29 deletions
diff --git a/exercises/move_semantics/move_semantics2.rs b/exercises/move_semantics/move_semantics2.rs
index f85b3ed..b945042 100644
--- a/exercises/move_semantics/move_semantics2.rs
+++ b/exercises/move_semantics/move_semantics2.rs
@@ -1,5 +1,6 @@
// move_semantics2.rs
-// Make me compile without changing line 10! Scroll down for hints :)
+// Make me compile without changing line 10!
+// Execute `rustlings hint move_semantics2` for hints :)
fn main() {
let vec0 = Vec::new();
@@ -23,31 +24,3 @@ fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
vec
}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-// So `vec0` is being *moved* into the function `fill_vec` when we call it on
-// line 7, which means it gets dropped at the end of `fill_vec`, which means we
-// can't use `vec0` again on line 10 (or anywhere else in `main` after the
-// `fill_vec` call for that matter). We could fix this in a few ways, try them
-// all!
-// 1. 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 in order to return an owned
-// `Vec<i32>`
-// 3. Make `fill_vec` *mutably* borrow its argument (which will need to be
-// mutable), modify it directly, then not return anything. Then you can get rid
-// of `vec1` entirely -- note that this will change what gets printed by the
-// first `println!`