error[E0506]: cannot assign to `self.container_field` because it is borrowed --> $DIR/issue-81365-8.rs:21:9 | LL | let first = &(*self).target_field; | ------- borrow of `self.container_field` occurs here LL | self.container_field = true; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.container_field` occurs here LL | first; | ----- borrow later used here | = note: borrow occurs due to deref coercion to `DerefTarget` note: deref defined here --> $DIR/issue-81365-8.rs:12:5 | LL | type Target = DerefTarget; | ^^^^^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0506`.