error[E0505]: cannot move out of `x` because it is borrowed --> $DIR/borrow-tuple-fields.rs:22:9 | LL | let r = &x.0; | --- borrow of `x.0` occurs here LL | let y = x; //~ ERROR cannot move out of `x` because it is borrowed | ^ move out of `x` occurs here error[E0502]: cannot borrow `x.0` as mutable because it is also borrowed as immutable --> $DIR/borrow-tuple-fields.rs:26:18 | LL | let a = &x.0; | --- immutable borrow occurs here LL | let b = &mut x.0; //~ ERROR cannot borrow `x.0` as mutable because it is also borrowed as | ^^^ mutable borrow occurs here ... LL | } | - immutable borrow ends here error[E0499]: cannot borrow `x.0` as mutable more than once at a time --> $DIR/borrow-tuple-fields.rs:30:18 | LL | let a = &mut x.0; | --- first mutable borrow occurs here LL | let b = &mut x.0; //~ ERROR cannot borrow `x.0` as mutable more than once at a time | ^^^ second mutable borrow occurs here ... LL | } | - first borrow ends here error[E0505]: cannot move out of `x` because it is borrowed --> $DIR/borrow-tuple-fields.rs:35:9 | LL | let r = &x.0; | --- borrow of `x.0` occurs here LL | let y = x; //~ ERROR cannot move out of `x` because it is borrowed | ^ move out of `x` occurs here error[E0502]: cannot borrow `x.0` as mutable because it is also borrowed as immutable --> $DIR/borrow-tuple-fields.rs:39:18 | LL | let a = &x.0; | --- immutable borrow occurs here LL | let b = &mut x.0; //~ ERROR cannot borrow `x.0` as mutable because it is also borrowed as | ^^^ mutable borrow occurs here ... LL | } | - immutable borrow ends here error[E0499]: cannot borrow `x.0` as mutable more than once at a time --> $DIR/borrow-tuple-fields.rs:43:18 | LL | let a = &mut x.0; | --- first mutable borrow occurs here LL | let b = &mut x.0; //~ ERROR cannot borrow `x.0` as mutable more than once at a time | ^^^ second mutable borrow occurs here LL | } | - first borrow ends here error: aborting due to 6 previous errors Some errors occurred: E0499, E0502, E0505. For more information about an error, try `rustc --explain E0499`.