mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 01:04:03 +00:00
dfe28debb9
Explicitly look for `expr += other_expr;` and avoid suggesting `expr.clone() += other_expr;`, instead suggesting `expr += other_expr.clone();`.
32 lines
836 B
Plaintext
32 lines
836 B
Plaintext
error[E0505]: cannot move out of `x` because it is borrowed
|
|
--> $DIR/augmented-assignments.rs:17:5
|
|
|
|
|
LL | let mut x = Int(1);
|
|
| ----- binding `x` declared here
|
|
LL | x
|
|
| - borrow of `x` occurs here
|
|
...
|
|
LL | x;
|
|
| ^ move out of `x` occurs here
|
|
|
|
|
help: consider cloning the value if the performance cost is acceptable
|
|
|
|
|
LL | x.clone();
|
|
| ++++++++
|
|
|
|
error[E0596]: cannot borrow `y` as mutable, as it is not declared as mutable
|
|
--> $DIR/augmented-assignments.rs:25:5
|
|
|
|
|
LL | y
|
|
| ^ cannot borrow as mutable
|
|
|
|
|
help: consider changing this to be mutable
|
|
|
|
|
LL | let mut y = Int(2);
|
|
| +++
|
|
|
|
error: aborting due to 2 previous errors
|
|
|
|
Some errors have detailed explanations: E0505, E0596.
|
|
For more information about an error, try `rustc --explain E0505`.
|