about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2024-03-13 21:14:54 +0000
committerEsteban Küber <esteban@kuber.com.ar>2024-04-11 16:41:41 +0000
commitb83ebea5de815b69b9715f810f4f317a547e499a (patch)
treed50d73dc055fb6f072e937f004d3d7de9d5bf0ae
parenta1a3abb08fca88ba1c76888c0201870a5f590b5a (diff)
downloadrust-b83ebea5de815b69b9715f810f4f317a547e499a.tar.gz
rust-b83ebea5de815b69b9715f810f4f317a547e499a.zip
Update test to show incorrecct `+=` clone suggestion
-rw-r--r--tests/ui/augmented-assignments.rs2
-rw-r--r--tests/ui/augmented-assignments.stderr9
2 files changed, 9 insertions, 2 deletions
diff --git a/tests/ui/augmented-assignments.rs b/tests/ui/augmented-assignments.rs
index bd2435a78bf..ca12395e432 100644
--- a/tests/ui/augmented-assignments.rs
+++ b/tests/ui/augmented-assignments.rs
@@ -1,5 +1,6 @@
 use std::ops::AddAssign;
 
+#[derive(Clone)]
 struct Int(i32);
 
 impl AddAssign for Int {
@@ -12,6 +13,7 @@ fn main() {
     let mut x = Int(1); //~ NOTE binding `x` declared here
     x
     //~^ NOTE borrow of `x` occurs here
+    //~| HELP consider cloning
     +=
     x;
     //~^ ERROR cannot move out of `x` because it is borrowed
diff --git a/tests/ui/augmented-assignments.stderr b/tests/ui/augmented-assignments.stderr
index d1096aea279..465b88fcd5b 100644
--- a/tests/ui/augmented-assignments.stderr
+++ b/tests/ui/augmented-assignments.stderr
@@ -1,5 +1,5 @@
 error[E0505]: cannot move out of `x` because it is borrowed
-  --> $DIR/augmented-assignments.rs:16:5
+  --> $DIR/augmented-assignments.rs:17:5
    |
 LL |     let mut x = Int(1);
    |         ----- binding `x` declared here
@@ -8,9 +8,14 @@ LL |     x
 ...
 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:23:5
+  --> $DIR/augmented-assignments.rs:25:5
    |
 LL |     y
    |     ^ cannot borrow as mutable