Skip to content

Commit b562565

Browse files
committed
Same change to point at borrow for mir errors
1 parent 02079e4 commit b562565

25 files changed

+71
-68
lines changed

src/librustc_mir/borrow_check/error_reporting.rs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -394,10 +394,10 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
394394
&mut self, name: &String, _scope_tree: &Rc<ScopeTree>, _borrow: &BorrowData<'tcx>,
395395
drop_span: Span, borrow_span: Span, _proper_span: Span, end_span: Option<Span>
396396
) {
397-
let mut err = self.tcx.path_does_not_live_long_enough(drop_span,
397+
let mut err = self.tcx.path_does_not_live_long_enough(borrow_span,
398398
&format!("`{}`", name),
399399
Origin::Mir);
400-
err.span_label(borrow_span, "borrow occurs here");
400+
err.span_label(borrow_span, "borrowed value does not live long enough");
401401
err.span_label(drop_span, format!("`{}` dropped here while still borrowed", name));
402402
if let Some(end) = end_span {
403403
err.span_label(end, "borrowed value needs to live until here");
@@ -407,12 +407,12 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
407407

408408
fn report_scoped_temporary_value_does_not_live_long_enough(
409409
&mut self, _scope_tree: &Rc<ScopeTree>, _borrow: &BorrowData<'tcx>,
410-
drop_span: Span, borrow_span: Span, proper_span: Span, end_span: Option<Span>
410+
drop_span: Span, _borrow_span: Span, proper_span: Span, end_span: Option<Span>
411411
) {
412-
let mut err = self.tcx.path_does_not_live_long_enough(borrow_span,
412+
let mut err = self.tcx.path_does_not_live_long_enough(proper_span,
413413
"borrowed value",
414414
Origin::Mir);
415-
err.span_label(proper_span, "temporary value created here");
415+
err.span_label(proper_span, "temporary value does not live long enough");
416416
err.span_label(drop_span, "temporary value dropped here while still borrowed");
417417
err.note("consider using a `let` binding to increase its lifetime");
418418
if let Some(end) = end_span {
@@ -428,7 +428,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
428428
let mut err = self.tcx.path_does_not_live_long_enough(borrow_span,
429429
&format!("`{}`", name),
430430
Origin::Mir);
431-
err.span_label(borrow_span, "does not live long enough");
431+
err.span_label(borrow_span, "borrowed value does not live long enough");
432432
err.span_label(drop_span, "borrowed value only lives until here");
433433
self.tcx.note_and_explain_region(scope_tree, &mut err,
434434
"borrowed value must be valid for ",
@@ -443,7 +443,7 @@ impl<'cx, 'gcx, 'tcx> MirBorrowckCtxt<'cx, 'gcx, 'tcx> {
443443
let mut err = self.tcx.path_does_not_live_long_enough(proper_span,
444444
"borrowed value",
445445
Origin::Mir);
446-
err.span_label(proper_span, "does not live long enough");
446+
err.span_label(proper_span, "temporary value does not live long enough");
447447
err.span_label(drop_span, "temporary value only lives until here");
448448
self.tcx.note_and_explain_region(scope_tree, &mut err,
449449
"borrowed value must be valid for ",

src/test/compile-fail-fulldeps/dropck_tarena_cycle_checked.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,4 +124,4 @@ fn f<'a>(arena: &'a TypedArena<C<'a>>) {
124124
fn main() {
125125
let arena = TypedArena::new();
126126
f(&arena);
127-
} //~ ERROR `arena` does not live long enough
127+
} //~^ ERROR `arena` does not live long enough

src/test/compile-fail-fulldeps/dropck_tarena_unsound_drop.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,5 @@ fn f<'a>(_arena: &'a TypedArena<C<'a>>) {}
4949
fn main() {
5050
let arena: TypedArena<C> = TypedArena::new();
5151
f(&arena);
52-
} //~ ERROR `arena` does not live long enough
52+
} //~^ ERROR `arena` does not live long enough
5353

src/test/compile-fail/E0597.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ fn main() {
1616
let mut x = Foo { x: None };
1717
let y = 0;
1818
x.x = Some(&y);
19-
} //~ `y` does not live long enough [E0597]
19+
//~^ `y` does not live long enough [E0597]
20+
}

src/test/compile-fail/catch-bad-lifetime.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ pub fn main() {
1818
let _result: Result<(), &str> = do catch {
1919
let my_string = String::from("");
2020
let my_str: & str = & my_string;
21+
//~^ ERROR `my_string` does not live long enough
2122
Err(my_str) ?;
2223
Err("") ?;
2324
Ok(())
24-
}; //~ ERROR `my_string` does not live long enough
25+
};
2526
}
2627

2728
{

src/test/compile-fail/issue-36082.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ fn main() {
2121
let val: &_ = x.borrow().0;
2222
//[ast]~^ ERROR borrowed value does not live long enough [E0597]
2323
//[ast]~| NOTE temporary value dropped here while still borrowed
24-
//[ast]~| NOTE temporary value created here
24+
//[ast]~| NOTE temporary value does not live long enough
2525
//[ast]~| NOTE consider using a `let` binding to increase its lifetime
2626
//[mir]~^^^^^ ERROR borrowed value does not live long enough [E0597]
2727
//[mir]~| NOTE temporary value dropped here while still borrowed
28-
//[mir]~| NOTE temporary value created here
28+
//[mir]~| NOTE temporary value does not live long enough
2929
//[mir]~| NOTE consider using a `let` binding to increase its lifetime
3030
println!("{}", val);
3131
}

src/test/compile-fail/region-borrow-params-issue-29793-big.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,9 @@ fn main() {
8181
WrapB::new().set(|t: bool| if t { x } else { y }) // (separate errors for `x` vs `y`)
8282
//[ast]~^ ERROR `x` does not live long enough
8383
//[ast]~| ERROR `y` does not live long enough
84+
//[mir]~^^^ ERROR `x` does not live long enough
85+
//[mir]~| ERROR `y` does not live long enough
8486
});
85-
//[mir]~^ ERROR `x` does not live long enough
86-
//[mir]~| ERROR `y` does not live long enough
8787

8888
w.handle(); // This works
8989
// w.handle_ref(); // This doesn't

src/test/ui/issue-46471-1.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ fn main() {
1515
let mut z = 0;
1616
&mut z
1717
};
18-
//~^ ERROR `z` does not live long enough (Ast) [E0597]
18+
//~^^ ERROR `z` does not live long enough (Ast) [E0597]
1919
//~| ERROR `z` does not live long enough (Mir) [E0597]
2020
println!("{}", y);
2121
}

src/test/ui/issue-46471-1.stderr

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ error[E0597]: `z` does not live long enough (Ast)
1010
| - borrowed value needs to live until here
1111

1212
error[E0597]: `z` does not live long enough (Mir)
13-
--> $DIR/issue-46471-1.rs:17:6
13+
--> $DIR/issue-46471-1.rs:16:9
1414
|
1515
16 | &mut z
16-
| ------ borrow occurs here
16+
| ^^^^^^ borrowed value does not live long enough
1717
17 | };
18-
| ^ `z` dropped here while still borrowed
18+
| - `z` dropped here while still borrowed
1919
...
2020
21 | }
2121
| - borrowed value needs to live until here

src/test/ui/issue-46471.stderr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ error[E0597]: `x` does not live long enough (Mir)
1313
--> $DIR/issue-46471.rs:15:5
1414
|
1515
15 | &x
16-
| ^^ does not live long enough
16+
| ^^ borrowed value does not live long enough
1717
...
1818
18 | }
1919
| - borrowed value only lives until here

0 commit comments

Comments
 (0)