error[E0506]: cannot assign to `x` because it is borrowed --> $DIR/borrowck-lend-flow-match.rs:18:13 | LL | Some(ref r) => { | ----- borrow of `x` occurs here LL | x = Some(1); //[ast]~ ERROR cannot assign | ^^^^^^^^^^^ assignment to borrowed `x` occurs here LL | //[mir]~^ ERROR cannot assign to `x` because it is borrowed LL | drop(r); | - borrow later used here error: aborting due to previous error For more information about this error, try `rustc --explain E0506`.