summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo8it <mo8it@proton.me>2024-06-21 17:04:51 +0200
committermo8it <mo8it@proton.me>2024-06-21 17:04:51 +0200
commitfd558065c7f32d38d1b8e34fda1a23fe40d1b3ab (patch)
treeabc5e223e0abac6c22a118d15fc5593339acf33d
parent68142aff7f439f3a797b4e97a275ca7800eebc45 (diff)
move_semantics3 solution
-rw-r--r--exercises/06_move_semantics/move_semantics3.rs8
-rw-r--r--solutions/06_move_semantics/move_semantics3.rs23
2 files changed, 24 insertions, 7 deletions
diff --git a/exercises/06_move_semantics/move_semantics3.rs b/exercises/06_move_semantics/move_semantics3.rs
index 24e3597..11dbbbe 100644
--- a/exercises/06_move_semantics/move_semantics3.rs
+++ b/exercises/06_move_semantics/move_semantics3.rs
@@ -1,6 +1,4 @@
-// Make me compile without adding new lines -- just changing existing lines! (no
-// lines with multiple semicolons necessary!)
-
+// TODO: Fix the compiler error in the function without adding any new line.
fn fill_vec(vec: Vec<i32>) -> Vec<i32> {
vec.push(88);
@@ -18,9 +16,7 @@ mod tests {
#[test]
fn move_semantics3() {
let vec0 = vec![22, 44, 66];
-
let vec1 = fill_vec(vec0);
-
- assert_eq!(vec1, vec![22, 44, 66, 88]);
+ assert_eq!(vec1, [22, 44, 66, 88]);
}
}
diff --git a/solutions/06_move_semantics/move_semantics3.rs b/solutions/06_move_semantics/move_semantics3.rs
index 4e18198..7ba4006 100644
--- a/solutions/06_move_semantics/move_semantics3.rs
+++ b/solutions/06_move_semantics/move_semantics3.rs
@@ -1 +1,22 @@
-// Solutions will be available before the stable release. Thank you for testing the beta version 🥰
+fn fill_vec(mut vec: Vec<i32>) -> Vec<i32> {
+ // ^^^ added
+ vec.push(88);
+
+ vec
+}
+
+fn main() {
+ // You can optionally experiment here.
+}
+
+#[cfg(test)]
+mod tests {
+ use super::*;
+
+ #[test]
+ fn move_semantics3() {
+ let vec0 = vec![22, 44, 66];
+ let vec1 = fill_vec(vec0);
+ assert_eq!(vec1, [22, 44, 66, 88]);
+ }
+}