In a `fn` type, a lifetime appears only in the return type, and not in the arguments types. Erroneous code example: ```compile_fail,E0581 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. [issue #33685]: https://github.com/rust-lang/rust/issues/33685