Use span of the closure args in free region errors
This commit is contained in:
parent
ddcf17e1ed
commit
f72b8a44c5
6 changed files with 91 additions and 55 deletions
|
|
@ -8,9 +8,8 @@ error: unsatisfied lifetime constraints
|
|||
--> $DIR/E0621-does-not-trigger-for-closures.rs:25:26
|
||||
|
|
||||
LL | invoke(&x, |a, b| if a > b { a } else { b }); //~ ERROR E0495
|
||||
| ----------^^^^^-----------------
|
||||
| | | |
|
||||
| | | requires that `'1` must outlive `'2`
|
||||
| ------ ^^^^^ requires that `'1` must outlive `'2`
|
||||
| | |
|
||||
| | has type `&'1 i32`
|
||||
| lifetime `'2` appears in return type
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,15 @@
|
|||
error: unsatisfied lifetime constraints
|
||||
--> $DIR/issue-40510-1.rs:18:9
|
||||
|
|
||||
LL | || {
|
||||
| _____-
|
||||
| |_____|
|
||||
| ||
|
||||
LL | || &mut x
|
||||
| || ^^^^^^ return requires that `'1` must outlive `'2`
|
||||
LL | || };
|
||||
| || -
|
||||
| ||_____|
|
||||
| |______lifetime `'1` represents the closure body
|
||||
| lifetime `'2` appears in return type
|
||||
LL | || {
|
||||
| --
|
||||
| |
|
||||
| lifetime `'1` represents this closure's body
|
||||
| lifetime `'2` appears in return type
|
||||
LL | &mut x
|
||||
| ^^^^^^ return requires that `'1` must outlive `'2`
|
||||
|
|
||||
= note: closure implements `FnMut`, so references to captured variables can't escape the closure
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -1,20 +1,17 @@
|
|||
error: unsatisfied lifetime constraints
|
||||
--> $DIR/issue-40510-3.rs:18:9
|
||||
|
|
||||
LL | || {
|
||||
| _____-
|
||||
| |_____|
|
||||
| ||
|
||||
LL | || || {
|
||||
| ||_________^
|
||||
LL | ||| x.push(())
|
||||
LL | ||| }
|
||||
| |||_________^ requires that `'1` must outlive `'2`
|
||||
LL | || };
|
||||
| || -
|
||||
| ||_____|
|
||||
| |______lifetime `'1` represents the closure body
|
||||
| lifetime `'2` appears in return type
|
||||
LL | || {
|
||||
| --
|
||||
| |
|
||||
| lifetime `'1` represents this closure's body
|
||||
| lifetime `'2` appears in return type
|
||||
LL | / || {
|
||||
LL | | x.push(())
|
||||
LL | | }
|
||||
| |_________^ requires that `'1` must outlive `'2`
|
||||
|
|
||||
= note: closure implements `FnMut`, so references to captured variables can't escape the closure
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -1,20 +1,17 @@
|
|||
error: unsatisfied lifetime constraints
|
||||
--> $DIR/issue-49824.rs:22:9
|
||||
|
|
||||
LL | || {
|
||||
| _____-
|
||||
| |_____|
|
||||
| ||
|
||||
LL | || || {
|
||||
| ||_________^
|
||||
LL | ||| let _y = &mut x;
|
||||
LL | ||| }
|
||||
| |||_________^ requires that `'1` must outlive `'2`
|
||||
LL | || };
|
||||
| || -
|
||||
| ||_____|
|
||||
| |______lifetime `'1` represents the closure body
|
||||
| lifetime `'2` appears in return type
|
||||
LL | || {
|
||||
| --
|
||||
| |
|
||||
| lifetime `'1` represents this closure's body
|
||||
| lifetime `'2` appears in return type
|
||||
LL | / || {
|
||||
LL | | let _y = &mut x;
|
||||
LL | | }
|
||||
| |_________^ requires that `'1` must outlive `'2`
|
||||
|
|
||||
= note: closure implements `FnMut`, so references to captured variables can't escape the closure
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,12 @@ error: unsatisfied lifetime constraints
|
|||
--> $DIR/issue-48238.rs:21:13
|
||||
|
|
||||
LL | move || use_val(&orig); //~ ERROR
|
||||
| --------^^^^^^^^^^^^^^
|
||||
| | |
|
||||
| | argument requires that `'1` must outlive `'2`
|
||||
| lifetime `'1` represents the closure body
|
||||
| ------- ^^^^^^^^^^^^^^ argument requires that `'1` must outlive `'2`
|
||||
| |
|
||||
| lifetime `'1` represents this closure's body
|
||||
| lifetime `'2` appears in return type
|
||||
|
|
||||
= note: closure implements `Fn`, so references to captured variables can't escape the closure
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue