about summary refs log tree commit diff
path: root/tests/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.stderr')
-rw-r--r--tests/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.stderr28
1 files changed, 20 insertions, 8 deletions
diff --git a/tests/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.stderr b/tests/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.stderr
index a033cc0655e..1e7b990b67c 100644
--- a/tests/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.stderr
+++ b/tests/ui/pattern/move-ref-patterns/borrowck-move-ref-pattern.stderr
@@ -15,12 +15,18 @@ error[E0384]: cannot assign twice to immutable variable `_x1`
   --> $DIR/borrowck-move-ref-pattern.rs:9:5
    |
 LL |     let [ref _x0_hold, _x1, ref xs_hold @ ..] = arr;
-   |                        ---
-   |                        |
-   |                        first assignment to `_x1`
-   |                        help: consider making this binding mutable: `mut _x1`
+   |                        --- first assignment to `_x1`
 LL |     _x1 = U;
    |     ^^^^^^^ cannot assign twice to immutable variable
+   |
+help: consider making this binding mutable
+   |
+LL |     let [ref _x0_hold, mut _x1, ref xs_hold @ ..] = arr;
+   |                        ~~~~~~~
+help: to modify the original value, take a borrow instead
+   |
+LL |     let [ref _x0_hold, ref mut _x1, ref xs_hold @ ..] = arr;
+   |                        ~~~~~~~~~~~
 
 error[E0505]: cannot move out of `arr[..]` because it is borrowed
   --> $DIR/borrowck-move-ref-pattern.rs:11:10
@@ -73,12 +79,18 @@ error[E0384]: cannot assign twice to immutable variable `_x1`
   --> $DIR/borrowck-move-ref-pattern.rs:23:5
    |
 LL |     let (ref _x0, _x1, ref _x2, ..) = tup;
-   |                   ---
-   |                   |
-   |                   first assignment to `_x1`
-   |                   help: consider making this binding mutable: `mut _x1`
+   |                   --- first assignment to `_x1`
 LL |     _x1 = U;
    |     ^^^^^^^ cannot assign twice to immutable variable
+   |
+help: consider making this binding mutable
+   |
+LL |     let (ref _x0, mut _x1, ref _x2, ..) = tup;
+   |                   ~~~~~~~
+help: to modify the original value, take a borrow instead
+   |
+LL |     let (ref _x0, ref mut _x1, ref _x2, ..) = tup;
+   |                   ~~~~~~~~~~~
 
 error[E0502]: cannot borrow `tup.0` as mutable because it is also borrowed as immutable
   --> $DIR/borrowck-move-ref-pattern.rs:24:20