error[E0505]: cannot move out of `b` because it is borrowed
- --> $DIR/issue-27282-move-match-input-into-guard.rs:26:16
+ --> $DIR/issue-27282-move-match-input-into-guard.rs:26:17
|
LL | match b {
| - borrow of `b` occurs here
LL | &mut false => {},
LL | _ if { (|| { let bar = b; *bar = false; })();
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move out of `b` occurs here
+ | ^^ - move occurs due to use in closure
+ | |
+ | move out of `b` occurs here
...
LL | &mut true => { println!("You might think we should get here"); },
| --------- borrow later used here
--> $DIR/issue-27282-move-match-input-into-guard.rs:29:14
|
LL | _ if { (|| { let bar = b; *bar = false; })();
- | ----------------------------------- value moved here
+ | -- - variable moved due to use in closure
+ | |
+ | value moved into closure here
...
LL | &mut true => { println!("You might think we should get here"); },
| ^^^^ value used here after move