diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2020-02-11 11:39:41 +0100 |
|---|---|---|
| committer | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2020-02-11 11:39:41 +0100 |
| commit | e20108f9c44ae190996e43ed9f338a3e782c0e12 (patch) | |
| tree | aab588fdd979244dbec39ab3919e91f1e8a5c362 /src/librustc_error_codes/error_codes | |
| parent | 320ada6479b3e29c7d9a66bc56ac44c2d2b57566 (diff) | |
Clean up E0307 explanation
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 |
