diff options
| author | Dylan DPC <dylan.dpc@gmail.com> | 2020-02-11 16:37:06 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-11 16:37:06 +0100 |
| commit | 82a366ad860b6f0eed639dd103995e6cee1585c7 (patch) | |
| tree | f78bf5471adec51cb8b471f7ac05a500dccafe83 /src/librustc_error_codes/error_codes | |
| parent | c88b3494b0f8803964cd4227e76f77b7a4705705 (diff) | |
| parent | e20108f9c44ae190996e43ed9f338a3e782c0e12 (diff) | |
Rollup merge of #69055 - GuillaumeGomez:clean-up-e0307, r=Dylan-DPC
Clean up E0307 explanation r? @Dylan-DPC
Diffstat (limited to 'src/librustc_error_codes/error_codes')
| -rw-r--r-- | src/librustc_error_codes/error_codes/E0307.md | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/librustc_error_codes/error_codes/E0307.md b/src/librustc_error_codes/error_codes/E0307.md index c628d176836..52707b93acc 100644 --- a/src/librustc_error_codes/error_codes/E0307.md +++ b/src/librustc_error_codes/error_codes/E0307.md @@ -1,5 +1,19 @@ -This error indicates that the `self` parameter in a method has an invalid -"receiver type". +The `self` parameter in a method has an invalid "receiver type". + +Erroneous code example: + +```compile_fail,E0307 +struct Foo; +struct Bar; + +trait Trait { + fn foo(&self); +} + +impl Trait for Foo { + fn foo(self: &Bar) {} +} +``` Methods take a special first parameter, of which there are three variants: `self`, `&self`, and `&mut self`. These are syntactic sugar for @@ -36,7 +50,7 @@ impl Trait for Foo { } ``` -E0307 will be emitted by the compiler when using an invalid receiver type, +This error will be emitted by the compiler when using an invalid receiver type, like in the following example: ```compile_fail,E0307 |
