error[E0506]: cannot assign to `x` because it is borrowed
  --> $DIR/borrowck-pat-reassign-binding.rs:10:11
   |
LL |       Some(ref i) => {
   |            ----- borrow of `x` occurs here
LL |           // But on this branch, `i` is an outstanding borrow
LL |           x = Some(*i+1);
   |           ^^^^^^^^^^^^^^ assignment to borrowed `x` occurs here
LL |           drop(i);
   |                - borrow later used here

error: aborting due to previous error

For more information about this error, try `rustc --explain E0506`.
