mirror of
https://github.com/rust-lang/rustlings.git
synced 2024-12-26 00:00:03 +03:00
move_semantics4: Avoid using the dereference operator
This commit is contained in:
parent
59d6b852af
commit
d7024d80ce
|
@ -8,11 +8,11 @@ mod tests {
|
||||||
// Don't add, change or remove any line.
|
// Don't add, change or remove any line.
|
||||||
#[test]
|
#[test]
|
||||||
fn move_semantics4() {
|
fn move_semantics4() {
|
||||||
let mut x = 100;
|
let mut x = Vec::new();
|
||||||
let y = &mut x;
|
let y = &mut x;
|
||||||
let z = &mut x;
|
let z = &mut x;
|
||||||
*y += 100;
|
y.push(42);
|
||||||
*z += 1000;
|
z.push(13);
|
||||||
assert_eq!(x, 1200);
|
assert_eq!(x, [42, 13]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,15 +7,15 @@ mod tests {
|
||||||
// TODO: Fix the compiler errors only by reordering the lines in the test.
|
// TODO: Fix the compiler errors only by reordering the lines in the test.
|
||||||
// Don't add, change or remove any line.
|
// Don't add, change or remove any line.
|
||||||
#[test]
|
#[test]
|
||||||
fn move_semantics5() {
|
fn move_semantics4() {
|
||||||
let mut x = 100;
|
let mut x = Vec::new();
|
||||||
let y = &mut x;
|
let y = &mut x;
|
||||||
// `y` used here.
|
// `y` used here.
|
||||||
*y += 100;
|
y.push(42);
|
||||||
// The mutable reference `y` is not used anymore,
|
// The mutable reference `y` is not used anymore,
|
||||||
// therefore a new reference can be created.
|
// therefore a new reference can be created.
|
||||||
let z = &mut x;
|
let z = &mut x;
|
||||||
*z += 1000;
|
z.push(13);
|
||||||
assert_eq!(x, 1200);
|
assert_eq!(x, [42, 13]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue