Rust errors / Ownership and borrowing
Rust compiler error · checked with rustc 1.99.0
Rust error E0262: invalid lifetime parameter name: `'static`
What it meansAn invalid name was used for a lifetime parameter.
What rustc prints
error[E0262]: invalid lifetime parameter name: `'static`
--> main.rs:2:8
|
2 | fn foo<'static>(x: &'static str) { }
| ^^^^^^^ 'static is a reserved lifetime nameReal output of rustc 1.99.0 compiling the official example below (2021 edition). Your names and line numbers will differ; the first line is the part to match.
The compiler team's explanation
An invalid name was used for a lifetime parameter.
Erroneous code example:
// error, invalid lifetime parameter name `'static`
fn foo<'static>(x: &'static str) { }
Declaring certain lifetime names in parameters is disallowed. For example, because the 'static lifetime is a special built-in lifetime name denoting the lifetime of the entire program, this is an error:
From rustc --explain E0262 (1.99.0), part of the Rust project, MIT or Apache-2.0. Official page.
Related errors
- E0382borrow of moved value
- E0499cannot borrow as mutable more than once at a time
- E0502cannot borrow as mutable because it is also borrowed as immutable
- E0106missing lifetime specifier
- E0228cannot deduce the lifetime bound for this trait object type from context
- E0261use of undeclared lifetime name `'a`
- E0309the parameter type `T` may not live long enough
- E0310the parameter type may not live long enough
Up next
Often hit nextE0382: borrow of moved valueA related error from the same family.Read it next →Did this answer your question?