if let Some(cause) = regioncx.why_region_contains_point(borrow.region, context.loc) {
let mir = self.mir;
- cause.label_diagnostic(mir, err);
-
match *cause.root_cause() {
Cause::LiveVar(local, location) => {
match find_regular_use(&mir, regioncx, borrow, location, local) {
}
}
- _ => (),
+ _ => {
+ cause.label_diagnostic(mir, err);
+ }
}
}
}
error[E0506]: cannot assign to `x` because it is borrowed
- --> $DIR/maybe-initialized-drop-implicit-fragment-drop.rs:31:5
+ --> $DIR/maybe-initialized-drop-implicit-fragment-drop.rs:32:5
|
-27 | let wrap = Wrap { p: &mut x };
+28 | let wrap = Wrap { p: &mut x };
| ------ borrow of `x` occurs here
...
-31 | x = 1; //~ ERROR cannot assign to `x` because it is borrowed [E0506]
+32 | x = 1; //~ ERROR cannot assign to `x` because it is borrowed [E0506]
| ^^^^^ assignment to borrowed `x` occurs here
-32 | // FIXME ^ Should not error in the future with implicit dtors, only manually implemented ones
-33 | }
+33 | // FIXME ^ Should not error in the future with implicit dtors, only manually implemented ones
+34 | }
| - borrow later used here, when `foo` is dropped
error: aborting due to previous error