Skip to content

Commit b2027df

Browse files
authored
Rollup merge of rust-lang#68070 - GuillaumeGomez:clean-up-e0185, r=Dylan-DPC
clean up E0185 explanation r? @Dylan-DPC
2 parents 71a719c + 4fadb50 commit b2027df

File tree

1 file changed

+17
-1
lines changed
  • src/librustc_error_codes/error_codes

1 file changed

+17
-1
lines changed

src/librustc_error_codes/error_codes/E0185.md

+17-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ An associated function for a trait was defined to be static, but an
22
implementation of the trait declared the same function to be a method (i.e., to
33
take a `self` parameter).
44

5-
Here's an example of this error:
5+
Erroneous code example:
66

77
```compile_fail,E0185
88
trait Foo {
@@ -17,3 +17,19 @@ impl Foo for Bar {
1717
fn foo(&self) {}
1818
}
1919
```
20+
21+
When a type implements a trait's associated function, it has to use the same
22+
signature. So in this case, since `Foo::foo` does not take any argument and
23+
does not return anything, its implementation on `Bar` should be the same:
24+
25+
```
26+
trait Foo {
27+
fn foo();
28+
}
29+
30+
struct Bar;
31+
32+
impl Foo for Bar {
33+
fn foo() {} // ok!
34+
}
35+
```

0 commit comments

Comments
 (0)