| error[E0502]: cannot borrow `u` (via `u.z.c`) as immutable because it is also borrowed as mutable (via `u.s.a`) |
| --> $DIR/issue-45157.rs:27:20 |
| | |
| LL | let mref = &mut u.s.a; |
| | ---------- mutable borrow occurs here (via `u.s.a`) |
| ... |
| LL | let nref = &u.z.c; |
| | ^^^^^^ immutable borrow of `u.z.c` -- which overlaps with `u.s.a` -- occurs here |
| LL | |
| LL | println!("{} {}", mref, nref) |
| | ---- mutable borrow later used here |
| | |
| = note: `u.z.c` is a field of the union `U`, so it overlaps the field `u.s.a` |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0502`. |