| // Regression test for issue #70919 | |
| // Tests that we don't emit a spurious "borrow might be used" error | |
| // when we have an explicit `drop` in a loop | |
| //@ check-pass | |
| struct WrapperWithDrop<'a>(&'a mut bool); | |
| impl<'a> Drop for WrapperWithDrop<'a> { | |
| fn drop(&mut self) { | |
| } | |
| } | |
| fn drop_in_loop() { | |
| let mut base = true; | |
| let mut wrapper = WrapperWithDrop(&mut base); | |
| loop { | |
| drop(wrapper); | |
| base = false; | |
| wrapper = WrapperWithDrop(&mut base); | |
| } | |
| } | |
| fn main() { | |
| } |