error[E0499]: cannot borrow `x` as mutable more than once at a time --> $DIR/borrowck-autoref-3261.rs:25:9 | LL | (&mut x).with( | -------- | | | _____first mutable borrow occurs here | | LL | | |opt| { //~ ERROR cannot borrow `x` as mutable more than once at a time | | ^^^^^ second mutable borrow occurs here LL | | match opt { LL | | &Either::Right(ref f) => { LL | | x = X(Either::Left((0, 0))); | | - second borrow occurs due to use of `x` in closure ... | LL | | } LL | | }) | |__________- borrow later used here error: aborting due to previous error For more information about this error, try `rustc --explain E0499`.