2018-08-08 07:28:26 -05:00
|
|
|
error[E0503]: cannot use `foo` because it was mutably borrowed
|
|
|
|
--> $DIR/borrowck-match-already-borrowed.rs:23:9
|
|
|
|
|
|
|
|
|
LL | let p = &mut foo;
|
|
|
|
| -------- borrow of `foo` occurs here
|
2018-09-13 16:04:09 -05:00
|
|
|
LL | let _ = match foo {
|
2018-08-08 07:28:26 -05:00
|
|
|
LL | Foo::B => 1, //[mir]~ ERROR [E0503]
|
|
|
|
| ^^^^^^ use of borrowed `foo`
|
|
|
|
...
|
|
|
|
LL | drop(p);
|
|
|
|
| - borrow later used here
|
|
|
|
|
|
|
|
error[E0503]: cannot use `foo.0` because it was mutably borrowed
|
|
|
|
--> $DIR/borrowck-match-already-borrowed.rs:25:16
|
|
|
|
|
|
|
|
|
LL | let p = &mut foo;
|
|
|
|
| -------- borrow of `foo` occurs here
|
|
|
|
...
|
|
|
|
LL | Foo::A(x) => x //[ast]~ ERROR [E0503]
|
|
|
|
| ^ use of borrowed `foo`
|
|
|
|
...
|
|
|
|
LL | drop(p);
|
|
|
|
| - borrow later used here
|
|
|
|
|
|
|
|
error[E0503]: cannot use `x` because it was mutably borrowed
|
|
|
|
--> $DIR/borrowck-match-already-borrowed.rs:36:9
|
|
|
|
|
|
|
|
|
LL | let r = &mut x;
|
|
|
|
| ------ borrow of `x` occurs here
|
2018-09-13 16:04:09 -05:00
|
|
|
LL | let _ = match x {
|
2018-08-08 07:28:26 -05:00
|
|
|
LL | x => x + 1, //[ast]~ ERROR [E0503]
|
|
|
|
| ^ use of borrowed `x`
|
|
|
|
...
|
|
|
|
LL | drop(r);
|
|
|
|
| - borrow later used here
|
|
|
|
|
|
|
|
error[E0503]: cannot use `x` because it was mutably borrowed
|
|
|
|
--> $DIR/borrowck-match-already-borrowed.rs:38:9
|
|
|
|
|
|
|
|
|
LL | let r = &mut x;
|
|
|
|
| ------ borrow of `x` occurs here
|
|
|
|
...
|
|
|
|
LL | y => y + 2, //[ast]~ ERROR [E0503]
|
|
|
|
| ^ use of borrowed `x`
|
|
|
|
...
|
|
|
|
LL | drop(r);
|
|
|
|
| - borrow later used here
|
|
|
|
|
2018-09-13 16:04:09 -05:00
|
|
|
error: aborting due to 4 previous errors
|
2018-08-08 07:28:26 -05:00
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0503`.
|