about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorpurple-ice <jaidy379@gmail.com>2019-01-04 13:00:26 +0200
committerGitHub <noreply@github.com>2019-01-04 13:00:26 +0200
commitadadefd8741d84ebfb5884fbd12f3202cd6fdb4f (patch)
tree0553528c9078d56ff4ce34dc8df80b16aea4d47e /src
parentc738e6042d2925bbfb045982fabe1f902f8b7c72 (diff)
downloadrust-adadefd8741d84ebfb5884fbd12f3202cd6fdb4f.tar.gz
rust-adadefd8741d84ebfb5884fbd12f3202cd6fdb4f.zip
Fix changes for E0106, E0261
Replaced impl block dock with suggested one and made sure that blocks compile.
Diffstat (limited to 'src')
-rw-r--r--src/librustc/diagnostics.rs27
1 files changed, 19 insertions, 8 deletions
diff --git a/src/librustc/diagnostics.rs b/src/librustc/diagnostics.rs
index 50beacf3e8c..dd5144b1568 100644
--- a/src/librustc/diagnostics.rs
+++ b/src/librustc/diagnostics.rs
@@ -362,9 +362,9 @@ struct Foo1 { x: &bool }
               // ^ expected lifetime parameter
 struct Foo2<'a> { x: &'a bool } // correct
 
-impl Foo2 { ... }
+impl Foo2 {}
   // ^ expected lifetime parameter
-impl<'a> Foo2<'a> { ... } // correct
+impl<'a> Foo2<'a> {} // correct
 
 struct Bar1 { x: Foo2 }
               // ^^^^ expected lifetime parameter
@@ -777,21 +777,32 @@ struct Foo<'a> {
 }
 ```
 
-Implementations need their own lifetime declarations:
+Impl blocks declare lifetime parameters separately. You need to add lifetime
+parameters to an impl block if you're implementing a type that has a lifetime
+parameter of its own.
+For example:
     
-```
-// error, undeclared lifetime
+```compile_fail,E0261
+// error,  use of undeclared lifetime name `'a`
 impl Foo<'a> {
-    ...
+    fn foo<'a>(x: &'a str) {}
+}
+    
+struct Foo<'a> {
+    x: &'a str,
 }
 ```
 
-Which are declared like this:
+This is fixed by declaring impl block like this:
 
 ```
 // correct
 impl<'a> Foo<'a> {
-    ...
+    fn foo(x: &'a str) {}
+}
+    
+struct Foo<'a> {
+    x: &'a str,
 }
 ```
 "##,