# Error code E0499

A variable was borrowed as mutable more than once.

Erroneous code example:

ⓘ

    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

Run

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:

    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;

Run

Back to list of error codes