mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-27 09:14:20 +00:00
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
@ -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…
Reference in New Issue
Block a user