Error code E0499
A variable was borrowed as mutable more than once.
Erroneous code example:
#![allow(unused)] fn main() { let mut i = 0; let mut x = &mut i; let mut a = &mut i; x; // error: cannot borrow `i` as mutable more than once at a time }
Please note that in Rust, you can either have many immutable references, or one mutable reference. For more details you may want to read the References & Borrowing section of the Book.
Example:
#![allow(unused)] fn main() { let mut i = 0; let mut x = &mut i; // ok! // or: let mut i = 0; let a = &i; // ok! let b = &i; // still ok! let c = &i; // still ok! b; a; }