| error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable |
| --> $DIR/borrowck-borrow-overloaded-deref-mut.rs:39:25 |
| | |
| LL | fn deref_mut1(x: Own<isize>) { |
| | - help: consider changing this to be mutable: `mut x` |
| LL | let __isize = &mut *x; //~ ERROR cannot borrow |
| | ^ cannot borrow as mutable |
| |
| error[E0596]: cannot borrow `*x` as mutable, as it is behind a `&` reference |
| --> $DIR/borrowck-borrow-overloaded-deref-mut.rs:51:11 |
| | |
| LL | fn deref_extend_mut1<'a>(x: &'a Own<isize>) -> &'a mut isize { |
| | -------------- help: consider changing this to be a mutable reference: `&'a mut Own<isize>` |
| LL | &mut **x //~ ERROR cannot borrow |
| | ^^ `x` is a `&` reference, so the data it refers to cannot be borrowed as mutable |
| |
| error[E0596]: cannot borrow `x` as mutable, as it is not declared as mutable |
| --> $DIR/borrowck-borrow-overloaded-deref-mut.rs:59:6 |
| | |
| LL | fn assign1<'a>(x: Own<isize>) { |
| | - help: consider changing this to be mutable: `mut x` |
| LL | *x = 3; //~ ERROR cannot borrow |
| | ^ cannot borrow as mutable |
| |
| error[E0596]: cannot borrow `*x` as mutable, as it is behind a `&` reference |
| --> $DIR/borrowck-borrow-overloaded-deref-mut.rs:63:6 |
| | |
| LL | fn assign2<'a>(x: &'a Own<isize>) { |
| | -------------- help: consider changing this to be a mutable reference: `&'a mut Own<isize>` |
| LL | **x = 3; //~ ERROR cannot borrow |
| | ^^ `x` is a `&` reference, so the data it refers to cannot be borrowed as mutable |
| |
| error: aborting due to 4 previous errors |
| |
| For more information about this error, try `rustc --explain E0596`. |