error[E0506]: cannot assign to `self.container.container_field` because it is borrowed --> $DIR/issue-81365-3.rs:32:9 | LL | let first = &self.target_field; | ---- `self.container.container_field` is borrowed here LL | self.container.container_field = true; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `self.container.container_field` is assigned to here but it was already borrowed LL | first; | ----- borrow later used here | = note: borrow occurs due to deref coercion to `Container` note: deref defined here --> $DIR/issue-81365-3.rs:23:5 | LL | type Target = Container; | ^^^^^^^^^^^ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0506`.