Added multiple parameter closure test.
New test has multiple parameters in a closure with longer names in order to clarify the issues relating to odd spans.
This commit is contained in:
parent
876774bf71
commit
97bbcabef1
2 changed files with 20 additions and 2 deletions
|
|
@ -14,9 +14,17 @@
|
|||
fn foo(_: impl FnOnce(&u32) -> &u32) {
|
||||
}
|
||||
|
||||
fn baz(_: impl FnOnce(&u32, u32) -> &u32) {
|
||||
}
|
||||
|
||||
fn bar() {
|
||||
let x = 22;
|
||||
foo(|a| &x)
|
||||
}
|
||||
|
||||
fn foobar() {
|
||||
let y = 22;
|
||||
baz(|first, second| &y)
|
||||
}
|
||||
|
||||
fn main() { }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
error[E0597]: `x` does not live long enough
|
||||
--> $DIR/issue-52534.rs:19:14
|
||||
--> $DIR/issue-52534.rs:22:14
|
||||
|
|
||||
LL | foo(|a| &x)
|
||||
| - ^ `x` would have to be valid for `'0`
|
||||
|
|
@ -8,6 +8,16 @@ LL | foo(|a| &x)
|
|||
LL | }
|
||||
| - ...but `x` is only valid for the duration of the `bar` function, so it is dropped here while still borrowed
|
||||
|
||||
error: aborting due to previous error
|
||||
error[E0597]: `y` does not live long enough
|
||||
--> $DIR/issue-52534.rs:27:26
|
||||
|
|
||||
LL | baz(|first, second| &y)
|
||||
| - ^ `y` would have to be valid for `'0`
|
||||
| |
|
||||
| has type `&'0 u32`
|
||||
LL | }
|
||||
| - ...but `y` is only valid for the duration of the `foobar` function, so it is dropped here while still borrowed
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0597`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue