summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_error_codes/src/error_codes/E0088.md
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_error_codes/src/error_codes/E0088.md')
-rw-r--r--compiler/rustc_error_codes/src/error_codes/E0088.md45
1 files changed, 45 insertions, 0 deletions
diff --git a/compiler/rustc_error_codes/src/error_codes/E0088.md b/compiler/rustc_error_codes/src/error_codes/E0088.md
new file mode 100644
index 000000000..7780ad5b5
--- /dev/null
+++ b/compiler/rustc_error_codes/src/error_codes/E0088.md
@@ -0,0 +1,45 @@
+#### 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());
+}
+```