Give a special message when the later use is from a call. Use the span of the callee instead of the whole expression. For conflicting borrow messages say that the later use is of the first borrow.
16 lines
660 B
Plaintext
16 lines
660 B
Plaintext
error[E0502]: cannot borrow `*block.current` as immutable because it is also borrowed as mutable
|
|
--> $DIR/borrowed-referent-issue-38899.rs:24:21
|
|
|
|
|
LL | let x = &mut block;
|
|
| ---------- mutable borrow occurs here
|
|
LL | println!("{}", x.current);
|
|
LL | let p: &'a u8 = &*block.current;
|
|
| ^^^^^^^^^^^^^^^ immutable borrow occurs here
|
|
LL | //~^ ERROR cannot borrow `*block.current` as immutable because it is also borrowed as mutable
|
|
LL | drop(x);
|
|
| - mutable borrow later used here
|
|
|
|
error: aborting due to previous error
|
|
|
|
For more information about this error, try `rustc --explain E0502`.
|