Content-Length: 13135 | pFad | https://doc.rust-lang.org/std/pin/../default/../rc/../../../std/../error_codes/././E0581.html

E0581 - Error codes index

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Error code E0581

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;
}

The problem here is that the lifetime isn't constrained by any of the arguments, making it impossible to determine how long it's supposed to live.

To fix this issue, either use the lifetime in the arguments, or use the 'static lifetime. 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.









ApplySandwichStrip

pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

Fetched URL: https://doc.rust-lang.org/std/pin/../default/../rc/../../../std/../error_codes/././E0581.html

Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy