Clean up E0307 explanation
This commit is contained in:
parent
320ada6479
commit
e20108f9c4
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user