692 B
692 B
In a fn type, a lifetime appears only in the return type,
and not in the arguments types.
Erroneous code example:
fn main() {
// Here, `'a` appears only in the return type:
let x: for<'a> fn() -> &'a i32;
}
To fix this issue, either use the lifetime in the arguments, or use
'static. Example:
fn main() {
// Here, `'a` appears only in the return type:
let x: for<'a> fn(&'a i32) -> &'a i32;
let y: fn() -> &'static i32;
}
Note: The examples above used to be (erroneously) accepted by the compiler, but this was since corrected. See issue #33685 for more details.