2a3969a3f7
This gives at least some explanation for why a borrow is expected to last for a certain free region. Also: * Reports E0373: "closure may outlive the current function" with NLL. * Special cases the case of returning a reference to (or value referencing) a local variable or temporary (E0515). * Special case assigning a reference to a local variable in a closure to a captured variable.
19 lines
600 B
Plaintext
19 lines
600 B
Plaintext
error[E0597]: `v` does not live long enough
|
|
--> $DIR/method-ufcs-inherent-1.rs:16:26
|
|
|
|
|
LL | fn foo<'a>() {
|
|
| -- lifetime `'a` defined here
|
|
LL | let v = 22;
|
|
LL | let x = A::<'a>::new(&v, 22);
|
|
| -------------^^-----
|
|
| | |
|
|
| | borrowed value does not live long enough
|
|
| argument requires that `v` is borrowed for `'a`
|
|
LL | //~^ ERROR
|
|
LL | }
|
|
| - `v` dropped here while still borrowed
|
|
|
|
error: aborting due to previous error
|
|
|
|
For more information about this error, try `rustc --explain E0597`.
|