about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMazdak Farrokhzad <twingoow@gmail.com>2020-01-11 12:36:10 +0100
committerGitHub <noreply@github.com>2020-01-11 12:36:10 +0100
commit34231d6c0b60fc65f29b3a8c3523e11ec91113f4 (patch)
treeee93aaf73f83c476bc5686f95c155051d1a471cd
parent31d7ffa1e0336fa825e625077fcbc06ecfc25ceb (diff)
parent4fadb507f48a0f959518bbf9b7d0969a159d76f1 (diff)
downloadrust-34231d6c0b60fc65f29b3a8c3523e11ec91113f4.tar.gz
rust-34231d6c0b60fc65f29b3a8c3523e11ec91113f4.zip
Rollup merge of #68070 - GuillaumeGomez:clean-up-e0185, r=Dylan-DPC
clean up E0185 explanation

r? @Dylan-DPC
-rw-r--r--src/librustc_error_codes/error_codes/E0185.md18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/librustc_error_codes/error_codes/E0185.md b/src/librustc_error_codes/error_codes/E0185.md
index f0ad2af144a..944a93ed14e 100644
--- a/src/librustc_error_codes/error_codes/E0185.md
+++ b/src/librustc_error_codes/error_codes/E0185.md
@@ -2,7 +2,7 @@ An associated function for a trait was defined to be static, but an
 implementation of the trait declared the same function to be a method (i.e., to
 take a `self` parameter).
 
-Here's an example of this error:
+Erroneous code example:
 
 ```compile_fail,E0185
 trait Foo {
@@ -17,3 +17,19 @@ impl Foo for Bar {
     fn foo(&self) {}
 }
 ```
+
+When a type implements a trait's associated function, it has to use the same
+signature. So in this case, since `Foo::foo` does not take any argument and
+does not return anything, its implementation on `Bar` should be the same:
+
+```
+trait Foo {
+    fn foo();
+}
+
+struct Bar;
+
+impl Foo for Bar {
+    fn foo() {} // ok!
+}
+```