error[E0510]: cannot assign `q` in match guard
  --> $DIR/match-guards-partially-borrow.rs:35:13
   |
LL |     match q {
   |           - value is immutable in match guard
...
LL |             q = true; //~ ERROR
   |             ^^^^^^^^ cannot assign
...
LL |         _ => (),
   |         - borrow later used here

error[E0510]: cannot assign `r` in match guard
  --> $DIR/match-guards-partially-borrow.rs:47:13
   |
LL |     match r {
   |           - value is immutable in match guard
...
LL |             r = true; //~ ERROR
   |             ^^^^^^^^ cannot assign
...
LL |         _ => (),
   |         - borrow later used here

error[E0503]: cannot use `s` because it was mutably borrowed
  --> $DIR/match-guards-partially-borrow.rs:56:11
   |
LL |     let h = &mut s;
   |             ------ borrow of `s` occurs here
LL |     match s { //~ ERROR
   |           ^ use of borrowed `s`
...
LL |             *h = !*h;
   |                   -- borrow later used here

error[E0510]: cannot assign `t` in match guard
  --> $DIR/match-guards-partially-borrow.rs:71:13
   |
LL |     match t {
   |           - value is immutable in match guard
...
LL |             t = true; //~ ERROR
   |             ^^^^^^^^ cannot assign
...
LL |         false => (),
   |         ----- borrow later used here

error[E0506]: cannot assign to `u` because it is borrowed
  --> $DIR/match-guards-partially-borrow.rs:83:13
   |
LL |     match u {
   |           - borrow of `u` occurs here
...
LL |             u = true; //~ ERROR
   |             ^^^^^^^^ assignment to borrowed `u` occurs here
...
LL |         x => (),
   |         - borrow later used here

error[E0510]: cannot mutably borrow `x.0` in match guard
  --> $DIR/match-guards-partially-borrow.rs:97:22
   |
LL |     match x {
   |           - value is immutable in match guard
...
LL |                 Some(ref mut r) => *r = None, //~ ERROR
   |                      ^^^^^^^^^ cannot mutably borrow

error[E0506]: cannot assign to `*w.0` because it is borrowed
  --> $DIR/match-guards-partially-borrow.rs:112:13
   |
LL |     match w {
   |           - borrow of `*w.0` occurs here
...
LL |             *w.0 = true; //~ ERROR
   |             ^^^^^^^^^^^ assignment to borrowed `*w.0` occurs here
...
LL |         x => (),
   |         - borrow later used here

error[E0510]: cannot assign `y` in match guard
  --> $DIR/match-guards-partially-borrow.rs:123:13
   |
LL |     match *y {
   |           -- value is immutable in match guard
...
LL |             y = &true; //~ ERROR
   |             ^^^^^^^^^ cannot assign
...
LL |         false => (),
   |         ----- borrow later used here

error[E0510]: cannot assign `z` in match guard
  --> $DIR/match-guards-partially-borrow.rs:134:13
   |
LL |     match z {
   |           - value is immutable in match guard
...
LL |             z = &true; //~ ERROR
   |             ^^^^^^^^^ cannot assign
...
LL |         &false => (),
   |         ------ borrow later used here

error[E0510]: cannot assign `a` in match guard
  --> $DIR/match-guards-partially-borrow.rs:146:13
   |
LL |     match a {
   |           - value is immutable in match guard
...
LL |             a = &true; //~ ERROR
   |             ^^^^^^^^^ cannot assign
...
LL |         false => (),
   |         ----- borrow later used here

error[E0510]: cannot assign `b` in match guard
  --> $DIR/match-guards-partially-borrow.rs:157:13
   |
LL |     match b {
   |           - value is immutable in match guard
...
LL |             b = &true; //~ ERROR
   |             ^^^^^^^^^ cannot assign
...
LL |         &b => (),
   |         -- borrow later used here

error: aborting due to 11 previous errors

Some errors occurred: E0503, E0506, E0510.
For more information about an error, try `rustc --explain E0503`.
