only dump causes if we have nothing better

This commit is contained in:
Niko Matsakis 2017-12-14 15:01:05 -05:00
parent 3a185a510d
commit e28d03f38b
2 changed files with 8 additions and 8 deletions

View file

@ -28,8 +28,6 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
if let Some(cause) = regioncx.why_region_contains_point(borrow.region, context.loc) { if let Some(cause) = regioncx.why_region_contains_point(borrow.region, context.loc) {
let mir = self.mir; let mir = self.mir;
cause.label_diagnostic(mir, err);
match *cause.root_cause() { match *cause.root_cause() {
Cause::LiveVar(local, location) => { Cause::LiveVar(local, location) => {
match find_regular_use(&mir, regioncx, borrow, location, local) { match find_regular_use(&mir, regioncx, borrow, location, local) {
@ -72,7 +70,9 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
} }
} }
_ => (), _ => {
cause.label_diagnostic(mir, err);
}
} }
} }
} }

View file

@ -1,13 +1,13 @@
error[E0506]: cannot assign to `x` because it is borrowed 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 | ------ 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 | ^^^^^ assignment to borrowed `x` occurs here
32 | // FIXME ^ Should not error in the future with implicit dtors, only manually implemented ones 33 | // FIXME ^ Should not error in the future with implicit dtors, only manually implemented ones
33 | } 34 | }
| - borrow later used here, when `foo` is dropped | - borrow later used here, when `foo` is dropped
error: aborting due to previous error error: aborting due to previous error