blob: 9e405d83140d8d2b66f18d8ae9828f179d6ee787 [file] [log] [blame]
error[E0495]: cannot infer an appropriate lifetime due to conflicting requirements
--> $DIR/regions-nested-fns.rs:5:18
|
LL | let mut ay = &y;
| ^^
|
note: first, the lifetime cannot outlive the anonymous lifetime #2 defined on the body at 7:58...
--> $DIR/regions-nested-fns.rs:7:58
|
LL | ignore::<Box<dyn for<'z> FnMut(&'z isize)>>(Box::new(|z| {
| __________________________________________________________^
LL | | ay = x;
LL | | ay = &y;
LL | | ay = z;
LL | | }));
| |_____^
note: ...so that reference does not outlive borrowed content
--> $DIR/regions-nested-fns.rs:10:14
|
LL | ay = z;
| ^
note: but, the lifetime must be valid for the anonymous lifetime #2 defined on the body at 13:72...
--> $DIR/regions-nested-fns.rs:13:72
|
LL | ignore::< Box<dyn for<'z> FnMut(&'z isize) -> &'z isize>>(Box::new(|z| {
| ________________________________________________________________________^
LL | | if false { return x; }
LL | | if false { return ay; }
LL | | return z;
LL | | }));
| |_____^
note: ...so that the types are compatible
--> $DIR/regions-nested-fns.rs:13:76
|
LL | ignore::< Box<dyn for<'z> FnMut(&'z isize) -> &'z isize>>(Box::new(|z| {
| ____________________________________________________________________________^
LL | | if false { return x; }
LL | | if false { return ay; }
LL | | return z;
LL | | }));
| |_____^
= note: expected `&isize`
found `&isize`
error[E0312]: lifetime of reference outlives lifetime of borrowed content...
--> $DIR/regions-nested-fns.rs:14:27
|
LL | if false { return x; }
| ^
|
note: ...the reference is valid for the anonymous lifetime #2 defined on the body at 13:72...
--> $DIR/regions-nested-fns.rs:13:72
|
LL | ignore::< Box<dyn for<'z> FnMut(&'z isize) -> &'z isize>>(Box::new(|z| {
| ________________________________________________________________________^
LL | | if false { return x; }
LL | | if false { return ay; }
LL | | return z;
LL | | }));
| |_____^
note: ...but the borrowed content is only valid for the lifetime `'x` as defined on the function body at 3:11
--> $DIR/regions-nested-fns.rs:3:11
|
LL | fn nested<'x>(x: &'x isize) {
| ^^
error: aborting due to 2 previous errors
Some errors have detailed explanations: E0312, E0495.
For more information about an error, try `rustc --explain E0312`.