error[E0502]: cannot borrow `x` as immutable because it is also borrowed as mutable --> $DIR/borrowck-report-with-custom-diagnostic.rs:17:14 | LL | let y = &mut x; | - mutable borrow occurs here 16 | //~^ mutable borrow occurs here LL | let z = &x; //~ ERROR cannot borrow | ^ immutable borrow occurs here 18 | //~^ immutable borrow occurs here LL | } | - mutable borrow ends here error[E0502]: cannot borrow `x` as mutable because it is also borrowed as immutable --> $DIR/borrowck-report-with-custom-diagnostic.rs:28:26 | LL | let y = &x; | - immutable borrow occurs here 27 | //~^ immutable borrow occurs here LL | let z = &mut x; //~ ERROR cannot borrow | ^ mutable borrow occurs here 29 | //~^ mutable borrow occurs here LL | } | - immutable borrow ends here error[E0499]: cannot borrow `x` as mutable more than once at a time --> $DIR/borrowck-report-with-custom-diagnostic.rs:41:22 | LL | let y = &mut x; | - first mutable borrow occurs here 40 | //~^ first mutable borrow occurs here LL | let z = &mut x; //~ ERROR cannot borrow | ^ second mutable borrow occurs here 42 | //~^ second mutable borrow occurs here LL | }; | - first borrow ends here error: aborting due to 3 previous errors You've got a few errors: E0499, E0502 If you want more information on an error, try using "rustc --explain E0499"