diff options
| author | Mazdak Farrokhzad <twingoow@gmail.com> | 2020-01-11 12:36:10 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-01-11 12:36:10 +0100 |
| commit | 34231d6c0b60fc65f29b3a8c3523e11ec91113f4 (patch) | |
| tree | ee93aaf73f83c476bc5686f95c155051d1a471cd | |
| parent | 31d7ffa1e0336fa825e625077fcbc06ecfc25ceb (diff) | |
| parent | 4fadb507f48a0f959518bbf9b7d0969a159d76f1 (diff) | |
| download | rust-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.md | 18 |
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! +} +``` |
