```
error[E0596]: cannot borrow `*self.s` as mutable, as it is behind a `&` reference
--> $DIR/issue-38147-1.rs:17:9
|
LL | self.s.push('x');
| ^^^^^^ `self` is a `&` reference, so the data it refers to cannot be borrowed as mutable
|
help: consider changing this to be a mutable reference
|
LL | fn f(&mut self) {
| +++
```
Note the suggestion to add `mut` instead of replacing the entire `&self` with `&mut self`.
15 lines
316 B
Rust
15 lines
316 B
Rust
//@ edition:2018
|
|
struct S {
|
|
foo: usize,
|
|
}
|
|
impl S {
|
|
async fn bar(&self) { //~ HELP consider changing this to be a mutable reference
|
|
//~| SUGGESTION mut
|
|
self.foo += 1; //~ ERROR cannot assign to `self.foo`, which is behind a `&` reference [E0594]
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
S { foo: 1 }.bar();
|
|
}
|