--- /dev/null
+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;
+ | ---- borrow of `self.outer_field` occurs here
+LL | self.outer_field = true;
+ | ^^^^^^^^^^^^^^^^^^^^^^^ assignment to borrowed `self.outer_field` occurs here
+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 previous error
+
+For more information about this error, try `rustc --explain E0506`.