]> git.proxmox.com Git - rustc.git/blobdiff - src/test/ui/pattern/bindings-after-at/borrowck-pat-at-and-box.stderr
Update unsuspicious file list
[rustc.git] / src / test / ui / pattern / bindings-after-at / borrowck-pat-at-and-box.stderr
index 44888369ab2f71c23a7ab995a0a6f072c12e5653..f27df32ccfa5ce2afbe63b73b2f62255371b7228 100644 (file)
@@ -1,5 +1,5 @@
 error: cannot move out of value because it is borrowed
-  --> $DIR/borrowck-pat-at-and-box.rs:37:9
+  --> $DIR/borrowck-pat-at-and-box.rs:31:9
    |
 LL |     let ref a @ box b = Box::new(NC);
    |         -----^^^^^^^-
@@ -8,7 +8,7 @@ LL |     let ref a @ box b = Box::new(NC);
    |         value borrowed, by `a`, here
 
 error: cannot borrow value as mutable because it is also borrowed as immutable
-  --> $DIR/borrowck-pat-at-and-box.rs:39:9
+  --> $DIR/borrowck-pat-at-and-box.rs:34:9
    |
 LL |     let ref a @ box ref mut b = Box::new(nc());
    |         -----^^^^^^^---------
@@ -17,7 +17,7 @@ LL |     let ref a @ box ref mut b = Box::new(nc());
    |         immutable borrow, by `a`, occurs here
 
 error: cannot borrow value as mutable because it is also borrowed as immutable
-  --> $DIR/borrowck-pat-at-and-box.rs:41:9
+  --> $DIR/borrowck-pat-at-and-box.rs:36:9
    |
 LL |     let ref a @ box ref mut b = Box::new(NC);
    |         -----^^^^^^^---------
@@ -26,7 +26,7 @@ LL |     let ref a @ box ref mut b = Box::new(NC);
    |         immutable borrow, by `a`, occurs here
 
 error: cannot borrow value as mutable because it is also borrowed as immutable
-  --> $DIR/borrowck-pat-at-and-box.rs:43:9
+  --> $DIR/borrowck-pat-at-and-box.rs:38:9
    |
 LL |     let ref a @ box ref mut b = Box::new(NC);
    |         -----^^^^^^^---------
@@ -35,7 +35,7 @@ LL |     let ref a @ box ref mut b = Box::new(NC);
    |         immutable borrow, by `a`, occurs here
 
 error: cannot borrow value as mutable because it is also borrowed as immutable
-  --> $DIR/borrowck-pat-at-and-box.rs:46:9
+  --> $DIR/borrowck-pat-at-and-box.rs:42:9
    |
 LL |     let ref a @ box ref mut b = Box::new(NC);
    |         -----^^^^^^^---------
@@ -44,7 +44,7 @@ LL |     let ref a @ box ref mut b = Box::new(NC);
    |         immutable borrow, by `a`, occurs here
 
 error: cannot borrow value as immutable because it is also borrowed as mutable
-  --> $DIR/borrowck-pat-at-and-box.rs:52:9
+  --> $DIR/borrowck-pat-at-and-box.rs:48:9
    |
 LL |     let ref mut a @ box ref b = Box::new(NC);
    |         ---------^^^^^^^-----
@@ -53,7 +53,7 @@ LL |     let ref mut a @ box ref b = Box::new(NC);
    |         mutable borrow, by `a`, occurs here
 
 error: cannot borrow value as immutable because it is also borrowed as mutable
-  --> $DIR/borrowck-pat-at-and-box.rs:66:9
+  --> $DIR/borrowck-pat-at-and-box.rs:62:9
    |
 LL |         ref mut a @ box ref b => {
    |         ---------^^^^^^^-----
@@ -62,7 +62,7 @@ LL |         ref mut a @ box ref b => {
    |         mutable borrow, by `a`, occurs here
 
 error: cannot borrow value as immutable because it is also borrowed as mutable
-  --> $DIR/borrowck-pat-at-and-box.rs:58:11
+  --> $DIR/borrowck-pat-at-and-box.rs:54:11
    |
 LL |     fn f5(ref mut a @ box ref b: Box<NC>) {
    |           ---------^^^^^^^-----
@@ -70,104 +70,76 @@ LL |     fn f5(ref mut a @ box ref b: Box<NC>) {
    |           |               immutable borrow, by `b`, occurs here
    |           mutable borrow, by `a`, occurs here
 
-error[E0382]: use of moved value
-  --> $DIR/borrowck-pat-at-and-box.rs:21:18
-   |
-LL |     let a @ box &b = Box::new(&C);
-   |         ---------^   ------------ move occurs because value has type `Box<&C>`, which does not implement the `Copy` trait
-   |         |        |
-   |         |        value used here after move
-   |         value moved here
-
-error[E0382]: use of moved value
-  --> $DIR/borrowck-pat-at-and-box.rs:24:17
-   |
-LL |     let a @ box b = Box::new(C);
-   |         --------^   ----------- move occurs because value has type `Box<C>`, which does not implement the `Copy` trait
-   |         |       |
-   |         |       value used here after move
-   |         value moved here
-
-error[E0382]: use of moved value
-  --> $DIR/borrowck-pat-at-and-box.rs:34:17
-   |
-LL |     match Box::new(C) {
-   |           ----------- move occurs because value has type `Box<C>`, which does not implement the `Copy` trait
-LL |         a @ box b => {}
-   |         --------^
-   |         |       |
-   |         |       value used here after move
-   |         value moved here
+error[E0382]: borrow of moved value
+  --> $DIR/borrowck-pat-at-and-box.rs:31:9
+   |
+LL |     let ref a @ box b = Box::new(NC);
+   |         ^^^^^       - value moved here
+   |         |
+   |         value borrowed here after move
+   |
+   = note: move occurs because value has type `NC`, which does not implement the `Copy` trait
+help: borrow this binding in the pattern to avoid moving the value
+   |
+LL |     let ref a @ box ref b = Box::new(NC);
+   |                     +++
 
-error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
-  --> $DIR/borrowck-pat-at-and-box.rs:46:21
+error[E0502]: cannot borrow value as immutable because it is also borrowed as mutable
+  --> $DIR/borrowck-pat-at-and-box.rs:38:9
    |
 LL |     let ref a @ box ref mut b = Box::new(NC);
-   |         ------------^^^^^^^^^
-   |         |           |
-   |         |           mutable borrow occurs here
+   |         ^^^^^       --------- mutable borrow occurs here
+   |         |
    |         immutable borrow occurs here
 ...
-LL |     drop(a);
-   |          - immutable borrow later used here
+LL |     *b = NC;
+   |     ------- mutable borrow later used here
 
 error[E0502]: cannot borrow value as immutable because it is also borrowed as mutable
-  --> $DIR/borrowck-pat-at-and-box.rs:52:25
+  --> $DIR/borrowck-pat-at-and-box.rs:42:9
+   |
+LL |     let ref a @ box ref mut b = Box::new(NC);
+   |         ^^^^^       --------- mutable borrow occurs here
+   |         |
+   |         immutable borrow occurs here
+...
+LL |     *b = NC;
+   |     ------- mutable borrow later used here
+
+error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
+  --> $DIR/borrowck-pat-at-and-box.rs:48:9
    |
 LL |     let ref mut a @ box ref b = Box::new(NC);
-   |         ----------------^^^^^
-   |         |               |
-   |         |               immutable borrow occurs here
+   |         ^^^^^^^^^       ----- immutable borrow occurs here
+   |         |
    |         mutable borrow occurs here
 ...
-LL |     *a = Box::new(NC);
-   |     -- mutable borrow later used here
+LL |     drop(b);
+   |          - immutable borrow later used here
 
-error[E0502]: cannot borrow value as immutable because it is also borrowed as mutable
-  --> $DIR/borrowck-pat-at-and-box.rs:66:25
+error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
+  --> $DIR/borrowck-pat-at-and-box.rs:62:9
    |
 LL |         ref mut a @ box ref b => {
-   |         ----------------^^^^^
-   |         |               |
-   |         |               immutable borrow occurs here
+   |         ^^^^^^^^^       ----- immutable borrow occurs here
+   |         |
    |         mutable borrow occurs here
 ...
-LL |             *a = Box::new(NC);
-   |             -- mutable borrow later used here
-
-error[E0382]: use of moved value
-  --> $DIR/borrowck-pat-at-and-box.rs:27:20
-   |
-LL |     fn f1(a @ box &b: Box<&C>) {}
-   |           ---------^
-   |           |        |
-   |           |        value used here after move
-   |           value moved here
-   |           move occurs because value has type `Box<&C>`, which does not implement the `Copy` trait
-
-error[E0382]: use of moved value
-  --> $DIR/borrowck-pat-at-and-box.rs:30:19
-   |
-LL |     fn f2(a @ box b: Box<C>) {}
-   |           --------^
-   |           |       |
-   |           |       value used here after move
-   |           value moved here
-   |           move occurs because value has type `Box<C>`, which does not implement the `Copy` trait
+LL |             drop(b);
+   |                  - immutable borrow later used here
 
-error[E0502]: cannot borrow value as immutable because it is also borrowed as mutable
-  --> $DIR/borrowck-pat-at-and-box.rs:58:27
+error[E0502]: cannot borrow value as mutable because it is also borrowed as immutable
+  --> $DIR/borrowck-pat-at-and-box.rs:54:11
    |
 LL |     fn f5(ref mut a @ box ref b: Box<NC>) {
-   |           ----------------^^^^^
-   |           |               |
-   |           |               immutable borrow occurs here
+   |           ^^^^^^^^^       ----- immutable borrow occurs here
+   |           |
    |           mutable borrow occurs here
 ...
-LL |         *a = Box::new(NC);
-   |         -- mutable borrow later used here
+LL |         drop(b);
+   |              - immutable borrow later used here
 
-error: aborting due to 17 previous errors
+error: aborting due to 14 previous errors
 
 Some errors have detailed explanations: E0382, E0502.
 For more information about an error, try `rustc --explain E0382`.