Make move errors more consistent with typeck errors

This commit is contained in:
ashtneoi 2018-08-12 13:55:34 -07:00
parent 701c74e067
commit 10aaba8dbe
3 changed files with 23 additions and 23 deletions

View File

@ -360,7 +360,7 @@ impl<'a, 'gcx, 'tcx> MirBorrowckCtxt<'a, 'gcx, 'tcx> {
} else { } else {
err.span_suggestion( err.span_suggestion(
span, span,
"consider using a reference instead", "consider borrowing here",
format!("&{}", snippet), format!("&{}", snippet),
); );
} }

View File

@ -110,26 +110,26 @@ pub fn main() {
let X(_t) = vs_[0]; let X(_t) = vs_[0];
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vs_[0] //~| SUGGESTION &vs_[0]
if let Either::One(_t) = vr[0] { } if let Either::One(_t) = vr[0] { }
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vr[0] //~| SUGGESTION &vr[0]
while let Either::One(_t) = vr[0] { } while let Either::One(_t) = vr[0] { }
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vr[0] //~| SUGGESTION &vr[0]
match vr[0] { match vr[0] {
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vr[0] //~| SUGGESTION &vr[0]
Either::One(_t) Either::One(_t)
| Either::Two(_t) => (), | Either::Two(_t) => (),
} }
match vr[0] { match vr[0] {
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vr[0] //~| SUGGESTION &vr[0]
Either::One(_t) => (), Either::One(_t) => (),
Either::Two(ref _t) => (), Either::Two(ref _t) => (),
@ -138,26 +138,26 @@ pub fn main() {
let X(_t) = vsm[0]; let X(_t) = vsm[0];
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vsm[0] //~| SUGGESTION &vsm[0]
if let Either::One(_t) = vrm[0] { } if let Either::One(_t) = vrm[0] { }
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vrm[0] //~| SUGGESTION &vrm[0]
while let Either::One(_t) = vrm[0] { } while let Either::One(_t) = vrm[0] { }
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vrm[0] //~| SUGGESTION &vrm[0]
match vrm[0] { match vrm[0] {
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vrm[0] //~| SUGGESTION &vrm[0]
Either::One(_t) Either::One(_t)
| Either::Two(_t) => (), | Either::Two(_t) => (),
} }
match vrm[0] { match vrm[0] {
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vrm[0] //~| SUGGESTION &vrm[0]
Either::One(_t) => (), Either::One(_t) => (),
Either::Two(ref _t) => (), Either::Two(ref _t) => (),
@ -165,7 +165,7 @@ pub fn main() {
} }
match vrm[0] { match vrm[0] {
//~^ ERROR cannot move //~^ ERROR cannot move
//~| HELP consider using a reference instead //~| HELP consider borrowing here
//~| SUGGESTION &vrm[0] //~| SUGGESTION &vrm[0]
Either::One(_t) => (), Either::One(_t) => (),
Either::Two(ref mut _t) => (), Either::Two(ref mut _t) => (),

View File

@ -191,7 +191,7 @@ LL | let X(_t) = vs_[0];
| -- ^^^^^^ | -- ^^^^^^
| | | | | |
| | cannot move out of borrowed content | | cannot move out of borrowed content
| | help: consider using a reference instead: `&vs_[0]` | | help: consider borrowing here: `&vs_[0]`
| data moved here | data moved here
| |
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
@ -207,7 +207,7 @@ LL | if let Either::One(_t) = vr[0] { }
| -- ^^^^^ | -- ^^^^^
| | | | | |
| | cannot move out of borrowed content | | cannot move out of borrowed content
| | help: consider using a reference instead: `&vr[0]` | | help: consider borrowing here: `&vr[0]`
| data moved here | data moved here
| |
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
@ -223,7 +223,7 @@ LL | while let Either::One(_t) = vr[0] { }
| -- ^^^^^ | -- ^^^^^
| | | | | |
| | cannot move out of borrowed content | | cannot move out of borrowed content
| | help: consider using a reference instead: `&vr[0]` | | help: consider borrowing here: `&vr[0]`
| data moved here | data moved here
| |
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
@ -239,7 +239,7 @@ LL | match vr[0] {
| ^^^^^ | ^^^^^
| | | |
| cannot move out of borrowed content | cannot move out of borrowed content
| help: consider using a reference instead: `&vr[0]` | help: consider borrowing here: `&vr[0]`
... ...
LL | Either::One(_t) LL | Either::One(_t)
| -- data moved here | -- data moved here
@ -257,7 +257,7 @@ LL | match vr[0] {
| ^^^^^ | ^^^^^
| | | |
| cannot move out of borrowed content | cannot move out of borrowed content
| help: consider using a reference instead: `&vr[0]` | help: consider borrowing here: `&vr[0]`
... ...
LL | Either::One(_t) => (), LL | Either::One(_t) => (),
| -- data moved here | -- data moved here
@ -275,7 +275,7 @@ LL | let X(_t) = vsm[0];
| -- ^^^^^^ | -- ^^^^^^
| | | | | |
| | cannot move out of borrowed content | | cannot move out of borrowed content
| | help: consider using a reference instead: `&vsm[0]` | | help: consider borrowing here: `&vsm[0]`
| data moved here | data moved here
| |
note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait note: move occurs because `_t` has type `Y`, which does not implement the `Copy` trait
@ -291,7 +291,7 @@ LL | if let Either::One(_t) = vrm[0] { }
| -- ^^^^^^ | -- ^^^^^^
| | | | | |
| | cannot move out of borrowed content | | cannot move out of borrowed content
| | help: consider using a reference instead: `&vrm[0]` | | help: consider borrowing here: `&vrm[0]`
| data moved here | data moved here
| |
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
@ -307,7 +307,7 @@ LL | while let Either::One(_t) = vrm[0] { }
| -- ^^^^^^ | -- ^^^^^^
| | | | | |
| | cannot move out of borrowed content | | cannot move out of borrowed content
| | help: consider using a reference instead: `&vrm[0]` | | help: consider borrowing here: `&vrm[0]`
| data moved here | data moved here
| |
note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait note: move occurs because `_t` has type `X`, which does not implement the `Copy` trait
@ -323,7 +323,7 @@ LL | match vrm[0] {
| ^^^^^^ | ^^^^^^
| | | |
| cannot move out of borrowed content | cannot move out of borrowed content
| help: consider using a reference instead: `&vrm[0]` | help: consider borrowing here: `&vrm[0]`
... ...
LL | Either::One(_t) LL | Either::One(_t)
| -- data moved here | -- data moved here
@ -341,7 +341,7 @@ LL | match vrm[0] {
| ^^^^^^ | ^^^^^^
| | | |
| cannot move out of borrowed content | cannot move out of borrowed content
| help: consider using a reference instead: `&vrm[0]` | help: consider borrowing here: `&vrm[0]`
... ...
LL | Either::One(_t) => (), LL | Either::One(_t) => (),
| -- data moved here | -- data moved here
@ -359,7 +359,7 @@ LL | match vrm[0] {
| ^^^^^^ | ^^^^^^
| | | |
| cannot move out of borrowed content | cannot move out of borrowed content
| help: consider using a reference instead: `&vrm[0]` | help: consider borrowing here: `&vrm[0]`
... ...
LL | Either::One(_t) => (), LL | Either::One(_t) => (),
| -- data moved here | -- data moved here