| #### Note: this error code is no longer emitted by the compiler. | |
| You gave too many lifetime arguments. Erroneous code example: | |
| ```compile_fail,E0107 | |
| fn f() {} | |
| fn main() { | |
| f::<'static>() // error: wrong number of lifetime arguments: | |
| // expected 0, found 1 | |
| } | |
| ``` | |
| Please check you give the right number of lifetime arguments. Example: | |
| ``` | |
| fn f() {} | |
| fn main() { | |
| f() // ok! | |
| } | |
| ``` | |
| It's also important to note that the Rust compiler can generally | |
| determine the lifetime by itself. Example: | |
| ``` | |
| struct Foo { | |
| value: String | |
| } | |
| impl Foo { | |
| // it can be written like this | |
| fn get_value<'a>(&'a self) -> &'a str { &self.value } | |
| // but the compiler works fine with this too: | |
| fn without_lifetime(&self) -> &str { &self.value } | |
| } | |
| fn main() { | |
| let f = Foo { value: "hello".to_owned() }; | |
| println!("{}", f.get_value()); | |
| println!("{}", f.without_lifetime()); | |
| } | |
| ``` |