error[E0502]: cannot borrow `my_struct.field` as mutable because it is also borrowed as immutable (Ast) --> $DIR/region-ends-after-if-condition.rs:19:9 | LL | let value = &my_struct.field; | --------------- immutable borrow occurs here LL | if value.is_empty() { LL | my_struct.field.push_str("Hello, world!"); | ^^^^^^^^^^^^^^^ mutable borrow occurs here ... LL | } | - immutable borrow ends here error[E0502]: cannot borrow `my_struct.field` as mutable because it is also borrowed as immutable (Ast) --> $DIR/region-ends-after-if-condition.rs:29:9 | LL | let value = &my_struct.field; | --------------- immutable borrow occurs here LL | if value.is_empty() { LL | my_struct.field.push_str("Hello, world!"); | ^^^^^^^^^^^^^^^ mutable borrow occurs here ... LL | } | - immutable borrow ends here error[E0502]: cannot borrow `my_struct.field` as mutable because it is also borrowed as immutable (Mir) --> $DIR/region-ends-after-if-condition.rs:29:9 | LL | let value = &my_struct.field; | ---------------- immutable borrow occurs here LL | if value.is_empty() { LL | my_struct.field.push_str("Hello, world!"); | ^^^^^^^^^^^^^^^ mutable borrow occurs here ... LL | drop(value); | ----- immutable borrow later used here error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0502`.