error[E0506]: cannot assign to `base` because it is borrowed --> $DIR/drop-in-loop.rs:18:9 | LL | let mut wrapper = WrapperWithDrop(&mut base); | --------- `base` is borrowed here LL | loop { LL | base = false; | ^^^^^^^^^^^^ `base` is assigned to here but it was already borrowed LL | wrapper = WrapperWithDrop(&mut base); | ------- borrow might be used here, when `wrapper` is dropped and runs the `Drop` code for type `WrapperWithDrop` error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0506`.