error[E0506]: cannot assign to `self.outer_field` because it is borrowed
  --> $DIR/issue-81365-4.rs:33:9
   |
LL |         let first = &self.target_field;
   |                      ---- `self.outer_field` is borrowed here
LL |         self.outer_field = true;
   |         ^^^^^^^^^^^^^^^^^^^^^^^ `self.outer_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-4.rs:24:5
   |
LL |     type Target = Container;
   |     ^^^^^^^^^^^

error: aborting due to 1 previous error

For more information about this error, try `rustc --explain E0506`.
