diff --git a/exercises/06_move_semantics/move_semantics4.rs b/exercises/06_move_semantics/move_semantics4.rs index 83a03440..56da988c 100644 --- a/exercises/06_move_semantics/move_semantics4.rs +++ b/exercises/06_move_semantics/move_semantics4.rs @@ -8,11 +8,11 @@ mod tests { // Don't add, change or remove any line. #[test] fn move_semantics4() { - let mut x = 100; + let mut x = Vec::new(); let y = &mut x; let z = &mut x; - *y += 100; - *z += 1000; - assert_eq!(x, 1200); + y.push(42); + z.push(13); + assert_eq!(x, [42, 13]); } } diff --git a/solutions/06_move_semantics/move_semantics4.rs b/solutions/06_move_semantics/move_semantics4.rs index b7919ac0..64fdd9db 100644 --- a/solutions/06_move_semantics/move_semantics4.rs +++ b/solutions/06_move_semantics/move_semantics4.rs @@ -7,15 +7,15 @@ mod tests { // TODO: Fix the compiler errors only by reordering the lines in the test. // Don't add, change or remove any line. #[test] - fn move_semantics5() { - let mut x = 100; + fn move_semantics4() { + let mut x = Vec::new(); let y = &mut x; // `y` used here. - *y += 100; + y.push(42); // The mutable reference `y` is not used anymore, // therefore a new reference can be created. let z = &mut x; - *z += 1000; - assert_eq!(x, 1200); + z.push(13); + assert_eq!(x, [42, 13]); } }