error[E0506]: cannot assign to `a1` because it is borrowed --> $DIR/regions-pattern-typing-issue-19997.rs:10:13 | LL | match (&a1,) { | --- borrow of `a1` occurs here LL | (&ref b0,) => { LL | a1 = &f; //[ast]~ ERROR cannot assign | ^^^^^^^ assignment to borrowed `a1` occurs here LL | //[mir]~^ ERROR cannot assign to `a1` because it is borrowed LL | drop(b0); | -- borrow later used here error: aborting due to previous error For more information about this error, try `rustc --explain E0506`.