feat: Add move_semantics5 exercise.

This commit is contained in:
Sateesh Basavaraju 2021-05-06 23:17:27 +05:30
parent 7cd635fa84
commit 528e45ea4c
2 changed files with 21 additions and 0 deletions

View file

@ -0,0 +1,14 @@
// move_semantics5.rs
// Make me compile without adding any newlines or removing any of the lines.
// Execute `rustlings hint move_semantics5` for hints :)
// I AM NOT DONE
fn main() {
let mut x = 100;
let y = &mut x;
let z = &mut *y;
*y += 100;
*z += 1000;
assert_eq!(x, 1200);
}

View file

@ -210,6 +210,13 @@ So the end goal is to:
- since we're not creating a new vec in `main` anymore, we need to create - since we're not creating a new vec in `main` anymore, we need to create
a new vec in `fill_vec`, similarly to the way we did in `main`""" a new vec in `fill_vec`, similarly to the way we did in `main`"""
[[exercises]]
name = "move_semantics5"
path = "exercises/move_semantics/move_semantics5.rs"
mode = "compile"
hint = """Carefully reason about the range in which each mutable reference is in vogue. Does updating the value of referrent (x) immediately after the mutable reference is taken helps ? Read more about 'Mutable Referenes' in the book's section References and Borrowing': https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html#mutable-references."""
# PRIMITIVE TYPES # PRIMITIVE TYPES
[[exercises]] [[exercises]]