error[E0389]: cannot borrow data mutably in a `&` reference --> $DIR/issue-38147-1.rs:17:9 | LL | fn f(&self) { | ----- use `&mut self` here to make mutable LL | self.s.push('x'); | ^^^^^^ assignment into an immutable reference error: aborting due to previous error For more information about this error, try `rustc --explain E0389`.