error[E07001]: referential transparency violated ┌─ tests/move_check/borrows/borrow_field_combo_invalid.move:14:18 │ 13 │ let c; if (cond) c = copy inner else c = &mut outer.s1; │ ---------- It is still being mutably borrowed by this reference 14 │ let f1 = &inner.f1; │ ^^^^^^^^^ Invalid immutable borrow at field 'f1'. error[E07001]: referential transparency violated ┌─ tests/move_check/borrows/borrow_field_combo_invalid.move:25:18 │ 24 │ let c; if (cond) c = id_mut(copy inner) else c = &mut outer.s1; │ ------------------ It is still being mutably borrowed by this reference 25 │ let f1 = &inner.f1; │ ^^^^^^^^^ Invalid immutable borrow at field 'f1'. error[E07002]: mutable ownership violated ┌─ tests/move_check/borrows/borrow_field_combo_invalid.move:36:18 │ 35 │ let c; if (cond) c = copy inner else c = &mut outer.s1; │ ---------- It is still being mutably borrowed by this reference 36 │ let f1 = &mut inner.f1; │ ^^^^^^^^^^^^^ Invalid mutable borrow at field 'f1'. error[E07002]: mutable ownership violated ┌─ tests/move_check/borrows/borrow_field_combo_invalid.move:47:18 │ 46 │ let c; if (cond) c = id_mut(copy inner) else c = &mut outer.s1; │ ------------------ It is still being mutably borrowed by this reference 47 │ let f1 = &mut inner.f1; │ ^^^^^^^^^^^^^ Invalid mutable borrow at field 'f1'. error[E07001]: referential transparency violated ┌─ tests/move_check/borrows/borrow_field_combo_invalid.move:58:18 │ 57 │ let c; if (cond) c = &mut inner.f1 else c = &mut inner.f2; │ ------------- Field 'f1' is still being mutably borrowed by this reference 58 │ let f1 = &inner.f1; │ ^^^^^^^^^ Invalid immutable borrow at field 'f1'. error[E07001]: referential transparency violated ┌─ tests/move_check/borrows/borrow_field_combo_invalid.move:67:18 │ 66 │ let c; if (cond) c = id_mut(&mut inner.f1) else c = &mut inner.f1; │ --------------------- Field 'f1' is still being mutably borrowed by this reference 67 │ let f1 = &inner.f1; │ ^^^^^^^^^ Invalid immutable borrow at field 'f1'.