]> git.lizzy.rs Git - rust.git/blobdiff - src/test/ui/borrowck/borrowck-move-error-with-note.stderr
Update tests for changes to cannot move errors
[rust.git] / src / test / ui / borrowck / borrowck-move-error-with-note.stderr
index 8b0722916dbfe1a2dbb84976cbc2edef306e2e83..13d3faab6508a4c3fac647e5c7de5e847cd45a69 100644 (file)
@@ -1,38 +1,56 @@
-error[E0507]: cannot move out of borrowed content
+error[E0507]: cannot move out of `f.0` which is behind a shared reference
   --> $DIR/borrowck-move-error-with-note.rs:11:11
    |
 LL |     match *f {
-   |           ^^ cannot move out of borrowed content
-LL |
+   |           ^^ help: consider removing the `*`: `f`
 LL |         Foo::Foo1(num1,
-   |                   ---- hint: to prevent move, use `ref num1` or `ref mut num1`
+   |                   ---- data moved here
 LL |                   num2) => (),
-   |                   ---- ...and here (use `ref num2` or `ref mut num2`)
+   |                   ---- ...and here
 LL |         Foo::Foo2(num) => (),
-   |                   --- ...and here (use `ref num` or `ref mut num`)
+   |                   --- ...and here
+   |
+note: move occurs because these variables have types that don't implement the `Copy` trait
+  --> $DIR/borrowck-move-error-with-note.rs:12:19
+   |
+LL |         Foo::Foo1(num1,
+   |                   ^^^^
+LL |                   num2) => (),
+   |                   ^^^^
+LL |         Foo::Foo2(num) => (),
+   |                   ^^^
 
 error[E0509]: cannot move out of type `S`, which implements the `Drop` trait
-  --> $DIR/borrowck-move-error-with-note.rs:30:9
+  --> $DIR/borrowck-move-error-with-note.rs:28:11
+   |
+LL |     match (S {f: "foo".to_string(), g: "bar".to_string()}) {
+   |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot move out of here
+...
+LL |             f: _s,
+   |                -- data moved here
+LL |             g: _t
+   |                -- ...and here
+   |
+note: move occurs because these variables have types that don't implement the `Copy` trait
+  --> $DIR/borrowck-move-error-with-note.rs:31:16
    |
-LL | /         S {
-LL | |
-LL | |             f: _s,
-   | |                -- hint: to prevent move, use `ref _s` or `ref mut _s`
-LL | |             g: _t
-   | |                -- ...and here (use `ref _t` or `ref mut _t`)
-LL | |         } => {}
-   | |_________^ cannot move out of here
+LL |             f: _s,
+   |                ^^
+LL |             g: _t
+   |                ^^
 
-error[E0507]: cannot move out of borrowed content
-  --> $DIR/borrowck-move-error-with-note.rs:47:11
+error[E0507]: cannot move out of `a.a` which is behind a shared reference
+  --> $DIR/borrowck-move-error-with-note.rs:46:11
    |
 LL |     match a.a {
-   |           ^ cannot move out of borrowed content
-LL |
+   |           ^^^ help: consider borrowing here: `&a.a`
 LL |         n => {
-   |         - hint: to prevent move, use `ref n` or `ref mut n`
+   |         -
+   |         |
+   |         data moved here
+   |         move occurs because `n` has type `std::boxed::Box<isize>`, which does not implement the `Copy` trait
 
 error: aborting due to 3 previous errors
 
-Some errors occurred: E0507, E0509.
+Some errors have detailed explanations: E0507, E0509.
 For more information about an error, try `rustc --explain E0507`.