| // A version of `issue-70919-drop-in-loop`, but without | |
| // the necessary `drop` call. | |
| // | |
| // This should fail to compile, since the `Drop` impl | |
| // for `WrapperWithDrop` could observe the changed | |
| // `base` value. | |
| 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 { | |
| base = false; //~ ERROR: cannot assign to `base` | |
| wrapper = WrapperWithDrop(&mut base); | |
| } | |
| } | |
| fn main() { | |
| } |