| A variable was borrowed as mutable more than once. | |
| Erroneous code example: | |
| ```compile_fail,E0499 | |
| 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][references-and-borrowing] section of the Book. | |
| [references-and-borrowing]: https://doc.rust-lang.org/book/ch04-02-references-and-borrowing.html | |
| Example: | |
| ``` | |
| 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; | |
| ``` |