blob: 8dc6fe50afb5fcef81cb1dafaaabcfc071d2e6a8 [file] [log] [blame]
error[E0499]: cannot borrow `*x` as mutable more than once at a time
--> $DIR/coerce-overloaded-autoderef.rs:12:24
|
LL | let y = borrow_mut(x);
| - first mutable borrow occurs here
LL | let z = borrow_mut(x);
| ^ second mutable borrow occurs here
...
LL | drop((y, z));
| - first borrow later used here
error[E0506]: cannot assign to `**x` because it is borrowed
--> $DIR/coerce-overloaded-autoderef.rs:21:5
|
LL | let y = borrow(x);
| - borrow of `**x` occurs here
LL | let z = borrow(x);
LL | **x += 1;
| ^^^^^^^^ assignment to borrowed `**x` occurs here
...
LL | drop((y, z));
| - borrow later used here
error[E0499]: cannot borrow `*x` as mutable more than once at a time
--> $DIR/coerce-overloaded-autoderef.rs:28:20
|
LL | borrow_mut2(x, x);
| ----------- - ^ second mutable borrow occurs here
| | |
| | first mutable borrow occurs here
| first borrow later used by call
error[E0502]: cannot borrow `*x` as immutable because it is also borrowed as mutable
--> $DIR/coerce-overloaded-autoderef.rs:34:16
|
LL | borrow2(x, x);
| ------- - ^ immutable borrow occurs here
| | |
| | mutable borrow occurs here
| mutable borrow later used by call
error: aborting due to 4 previous errors
Some errors occurred: E0499, E0502, E0506.
For more information about an error, try `rustc --explain E0499`.