File tree Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Expand file tree Collapse file tree 2 files changed +20
-2
lines changed Original file line number Diff line number Diff line change 14
14
fn foo ( _: impl FnOnce ( & u32 ) -> & u32 ) {
15
15
}
16
16
17
+ fn baz ( _: impl FnOnce ( & u32 , u32 ) -> & u32 ) {
18
+ }
19
+
17
20
fn bar ( ) {
18
21
let x = 22 ;
19
22
foo ( |a| & x)
20
23
}
21
24
25
+ fn foobar ( ) {
26
+ let y = 22 ;
27
+ baz ( |first, second| & y)
28
+ }
29
+
22
30
fn main ( ) { }
Original file line number Diff line number Diff line change 1
1
error[E0597]: `x` does not live long enough
2
- --> $DIR/issue-52534.rs:19 :14
2
+ --> $DIR/issue-52534.rs:22 :14
3
3
|
4
4
LL | foo(|a| &x)
5
5
| - ^ `x` would have to be valid for `'0`
@@ -8,6 +8,16 @@ LL | foo(|a| &x)
8
8
LL | }
9
9
| - ...but `x` is only valid for the duration of the `bar` function, so it is dropped here while still borrowed
10
10
11
- error: aborting due to previous error
11
+ error[E0597]: `y` does not live long enough
12
+ --> $DIR/issue-52534.rs:27:26
13
+ |
14
+ LL | baz(|first, second| &y)
15
+ | - ^ `y` would have to be valid for `'0`
16
+ | |
17
+ | has type `&'0 u32`
18
+ LL | }
19
+ | - ...but `y` is only valid for the duration of the `foobar` function, so it is dropped here while still borrowed
20
+
21
+ error: aborting due to 2 previous errors
12
22
13
23
For more information about this error, try `rustc --explain E0597`.
You can’t perform that action at this time.
0 commit comments