error[E0506]: cannot assign to `x` because it is borrowed
  --> $DIR/maybe-initialized-drop.rs:14:5
   |
LL |     let wrap = Wrap { p: &mut x };
   |                          ------ `x` is borrowed here
LL |     x = 1;
   |     ^^^^^ `x` is assigned to here but it was already borrowed
LL | }
   | - borrow might be used here, when `wrap` is dropped and runs the `Drop` code for type `Wrap`

error: aborting due to previous error

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