diff options
| author | bors <bors@rust-lang.org> | 2018-09-14 15:45:02 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-09-14 15:45:02 +0000 |
| commit | 052d24e6c827577dadac28fb2b782dbe5445eab7 (patch) | |
| tree | b57ab46dc6b56328f2cd77a7b05b98b2eff5a479 /src/test/ui | |
| parent | 85da24527adc45adc6b503d92fca2a29331ddab5 (diff) | |
| parent | 54f73115878a46d8591bfd6689e0a9fc60d89d43 (diff) | |
| download | rust-052d24e6c827577dadac28fb2b782dbe5445eab7.tar.gz rust-052d24e6c827577dadac28fb2b782dbe5445eab7.zip | |
Auto merge of #54088 - matthewjasper:use-reason-in-dlle-errors, r=pnkfelix
[NLL] Suggest let binding Closes #49821 Also adds an alternative to `explain_why_borrow_contains_point` that allows changing error messages based on the reason that will be given. This will also be useful for #51026, #51169 and maybe further changes to does not live long enough messages.
Diffstat (limited to 'src/test/ui')
13 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue-2.nll.stderr b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue-2.nll.stderr index 8f42fb45627..eee3f9bd5c1 100644 --- a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue-2.nll.stderr +++ b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue-2.nll.stderr @@ -8,6 +8,7 @@ LL | let x = defer(&vec!["Goodbye", "world!"]); LL | x.x[0]; | ------ borrow later used here | + = note: consider using a `let` binding to create a longer lived value = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) error: aborting due to previous error diff --git a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.nll.stderr b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.nll.stderr index 04f74af4114..ebf229696d8 100644 --- a/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.nll.stderr +++ b/src/test/ui/borrowck/borrowck-borrowed-uniq-rvalue.nll.stderr @@ -8,6 +8,8 @@ LL | buggy_map.insert(42, &*Box::new(1)); //~ ERROR borrowed value does not ... LL | buggy_map.insert(43, &*tmp); | --------- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error diff --git a/src/test/ui/issues/issue-36082.ast.nll.stderr b/src/test/ui/issues/issue-36082.ast.nll.stderr index cf280bd80b2..e02f21f6e12 100644 --- a/src/test/ui/issues/issue-36082.ast.nll.stderr +++ b/src/test/ui/issues/issue-36082.ast.nll.stderr @@ -8,6 +8,8 @@ LL | let val: &_ = x.borrow().0; ... LL | println!("{}", val); | --- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error diff --git a/src/test/ui/issues/issue-36082.mir.stderr b/src/test/ui/issues/issue-36082.mir.stderr index cf280bd80b2..e02f21f6e12 100644 --- a/src/test/ui/issues/issue-36082.mir.stderr +++ b/src/test/ui/issues/issue-36082.mir.stderr @@ -8,6 +8,8 @@ LL | let val: &_ = x.borrow().0; ... LL | println!("{}", val); | --- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error diff --git a/src/test/ui/issues/issue-36082.rs b/src/test/ui/issues/issue-36082.rs index ed6a2f85fbe..579ec4d923b 100644 --- a/src/test/ui/issues/issue-36082.rs +++ b/src/test/ui/issues/issue-36082.rs @@ -28,6 +28,7 @@ fn main() { //[mir]~^^^^^ ERROR borrowed value does not live long enough [E0597] //[mir]~| NOTE temporary value does not live long enough //[mir]~| NOTE temporary value only lives until here + //[mir]~| NOTE consider using a `let` binding to create a longer lived value println!("{}", val); //[mir]~^ borrow later used here } diff --git a/src/test/ui/lifetimes/borrowck-let-suggestion.nll.stderr b/src/test/ui/lifetimes/borrowck-let-suggestion.nll.stderr index a485c80f3b0..a8a1b33c925 100644 --- a/src/test/ui/lifetimes/borrowck-let-suggestion.nll.stderr +++ b/src/test/ui/lifetimes/borrowck-let-suggestion.nll.stderr @@ -9,6 +9,7 @@ LL | //~^ ERROR borrowed value does not live long enough LL | x.use_mut(); | - borrow later used here | + = note: consider using a `let` binding to create a longer lived value = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) error: aborting due to previous error diff --git a/src/test/ui/nll/borrowed-temporary-error.stderr b/src/test/ui/nll/borrowed-temporary-error.stderr index 37746a173eb..8b69c57d376 100644 --- a/src/test/ui/nll/borrowed-temporary-error.stderr +++ b/src/test/ui/nll/borrowed-temporary-error.stderr @@ -8,6 +8,8 @@ LL | }); | - temporary value only lives until here LL | println!("{:?}", x); | - borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error diff --git a/src/test/ui/regions/regions-var-type-out-of-scope.nll.stderr b/src/test/ui/regions/regions-var-type-out-of-scope.nll.stderr index 54b1a6fa970..aa744a3ae8a 100644 --- a/src/test/ui/regions/regions-var-type-out-of-scope.nll.stderr +++ b/src/test/ui/regions/regions-var-type-out-of-scope.nll.stderr @@ -8,6 +8,7 @@ LL | x = &id(3); //~ ERROR borrowed value does not live long enough LL | assert_eq!(*x, 3); | ------------------ borrow later used here | + = note: consider using a `let` binding to create a longer lived value = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) error: aborting due to previous error diff --git a/src/test/ui/span/borrowck-let-suggestion-suffixes.nll.stderr b/src/test/ui/span/borrowck-let-suggestion-suffixes.nll.stderr index 79cfee2d01f..001eba4b039 100644 --- a/src/test/ui/span/borrowck-let-suggestion-suffixes.nll.stderr +++ b/src/test/ui/span/borrowck-let-suggestion-suffixes.nll.stderr @@ -8,6 +8,8 @@ LL | v3.push(&id('x')); // statement 6 ... LL | (v1, v2, v3, /* v4 is above. */ v5).use_ref(); | -- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error[E0597]: borrowed value does not live long enough --> $DIR/borrowck-let-suggestion-suffixes.rs:38:18 @@ -19,6 +21,8 @@ LL | v4.push(&id('y')); ... LL | v4.use_ref(); | -- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error[E0597]: borrowed value does not live long enough --> $DIR/borrowck-let-suggestion-suffixes.rs:49:14 @@ -30,6 +34,8 @@ LL | v5.push(&id('z')); ... LL | (v1, v2, v3, /* v4 is above. */ v5).use_ref(); | -- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to 3 previous errors diff --git a/src/test/ui/span/borrowck-ref-into-rvalue.nll.stderr b/src/test/ui/span/borrowck-ref-into-rvalue.nll.stderr index 171bb3dda66..c565842c2c0 100644 --- a/src/test/ui/span/borrowck-ref-into-rvalue.nll.stderr +++ b/src/test/ui/span/borrowck-ref-into-rvalue.nll.stderr @@ -8,6 +8,8 @@ LL | } | - temporary value only lives until here LL | println!("{}", *msg); | ---- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error diff --git a/src/test/ui/span/issue-15480.nll.stderr b/src/test/ui/span/issue-15480.nll.stderr index 2f3f6c5efa2..8dcf486f830 100644 --- a/src/test/ui/span/issue-15480.nll.stderr +++ b/src/test/ui/span/issue-15480.nll.stderr @@ -8,6 +8,8 @@ LL | ]; ... LL | for &&x in &v { | -- borrow later used here + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error diff --git a/src/test/ui/span/regions-close-over-borrowed-ref-in-obj.nll.stderr b/src/test/ui/span/regions-close-over-borrowed-ref-in-obj.nll.stderr index 651296dbeaf..3788b5a3284 100644 --- a/src/test/ui/span/regions-close-over-borrowed-ref-in-obj.nll.stderr +++ b/src/test/ui/span/regions-close-over-borrowed-ref-in-obj.nll.stderr @@ -8,6 +8,8 @@ LL | } | - temporary value only lives until here LL | } | - borrow later used here, when `blah` is dropped + | + = note: consider using a `let` binding to create a longer lived value error: aborting due to previous error diff --git a/src/test/ui/span/slice-borrow.nll.stderr b/src/test/ui/span/slice-borrow.nll.stderr index aefba8324cf..4a15d8ff455 100644 --- a/src/test/ui/span/slice-borrow.nll.stderr +++ b/src/test/ui/span/slice-borrow.nll.stderr @@ -9,6 +9,7 @@ LL | } LL | y.use_ref(); | - borrow later used here | + = note: consider using a `let` binding to create a longer lived value = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) error: aborting due to previous error |
