1 error[E0499]: cannot borrow `x` (via `x.b`) as mutable more than once at a time
2 --> $DIR/issue-17263.rs:17:34
4 LL | let (a, b) = (&mut x.a, &mut x.b);
5 | --- ^^^ second mutable borrow occurs here (via `x.b`)
7 | first mutable borrow occurs here (via `x.a`)
10 | - first borrow ends here
12 error[E0502]: cannot borrow `foo` (via `foo.b`) as immutable because `foo` is also borrowed as mutable (via `foo.a`)
13 --> $DIR/issue-17263.rs:21:32
15 LL | let (c, d) = (&mut foo.a, &foo.b);
16 | ----- ^^^^^ immutable borrow occurs here (via `foo.b`)
18 | mutable borrow occurs here (via `foo.a`)
19 LL | //~^ ERROR cannot borrow `foo` (via `foo.b`) as immutable
21 | - mutable borrow ends here
23 error: aborting due to 2 previous errors
25 Some errors occurred: E0499, E0502.
26 For more information about an error, try `rustc --explain E0499`.