33 lines
1.2 KiB
Plaintext
33 lines
1.2 KiB
Plaintext
|
error[E0505]: cannot move out of `b` because it is borrowed
|
||
|
--> $DIR/issue-27282-move-match-input-into-guard.rs:26:16
|
||
|
|
|
||
|
LL | match b {
|
||
|
| _____-
|
||
|
| |_____|
|
||
|
| ||
|
||
|
LL | || &mut false => {},
|
||
|
LL | || _ if { (|| { let bar = b; *bar = false; })();
|
||
|
| || ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move out of `b` occurs here
|
||
|
LL | || //~^ ERROR cannot move out of `b` because it is borrowed [E0505]
|
||
|
... ||
|
||
|
LL | || _ => panic!("surely we could never get here, since rustc warns it is unreachable."),
|
||
|
LL | || }
|
||
|
| || -
|
||
|
| ||_____|
|
||
|
| |______borrow of `b` occurs here
|
||
|
| borrow later used here
|
||
|
|
||
|
error[E0382]: use of moved value: `*b`
|
||
|
--> $DIR/issue-27282-move-match-input-into-guard.rs:29:14
|
||
|
|
|
||
|
LL | _ if { (|| { let bar = b; *bar = false; })();
|
||
|
| ----------------------------------- value moved here
|
||
|
...
|
||
|
LL | &mut true => { println!("You might think we should get here"); },
|
||
|
| ^^^^ value used here after move
|
||
|
|
||
|
error: aborting due to 2 previous errors
|
||
|
|
||
|
Some errors occurred: E0382, E0505.
|
||
|
For more information about an error, try `rustc --explain E0382`.
|