error[E0506]: cannot assign to `p.x` because it is borrowed --> $DIR/borrowck-assign-comp.rs:10:5 | LL | let q = &p; | -- `p.x` is borrowed here ... LL | p.x = 5; | ^^^^^^^ `p.x` is assigned to here but it was already borrowed LL | q.x; | --- borrow later used here error[E0506]: cannot assign to `p` because it is borrowed --> $DIR/borrowck-assign-comp.rs:20:5 | LL | let q = &p.y; | ---- `p` is borrowed here LL | p = Point {x: 5, y: 7}; | ^^^^^^^^^^^^^^^^^^^^^^ `p` is assigned to here but it was already borrowed LL | p.x; // silence warning LL | *q; // stretch loan | -- borrow later used here error[E0506]: cannot assign to `p.y` because it is borrowed --> $DIR/borrowck-assign-comp.rs:31:5 | LL | let q = &p.y; | ---- `p.y` is borrowed here LL | p.y = 5; | ^^^^^^^ `p.y` is assigned to here but it was already borrowed LL | *q; | -- borrow later used here error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0506`.