Improve E0046
This commit is contained in:
parent
14b7591ee5
commit
dddc4ca90b
1 changed files with 26 additions and 1 deletions
|
|
@ -401,10 +401,35 @@ extern "C" {
|
|||
"##,
|
||||
|
||||
E0046: r##"
|
||||
Items are missing in a trait implementation. Erroneous code example:
|
||||
|
||||
```
|
||||
trait Foo {
|
||||
fn foo();
|
||||
}
|
||||
|
||||
struct Bar;
|
||||
|
||||
impl Foo for Bar {}
|
||||
// error: not all trait items implemented, missing: `foo`
|
||||
```
|
||||
|
||||
When trying to make some type implement a trait `Foo`, you must, at minimum,
|
||||
provide implementations for all of `Foo`'s required methods (meaning the
|
||||
methods that do not have default implementations), as well as any required
|
||||
trait items like associated types or constants.
|
||||
trait items like associated types or constants. Example:
|
||||
|
||||
```
|
||||
trait Foo {
|
||||
fn foo();
|
||||
}
|
||||
|
||||
struct Bar;
|
||||
|
||||
impl Foo for Bar {
|
||||
fn foo() {} // ok!
|
||||
}
|
||||
```
|
||||
"##,
|
||||
|
||||
E0049: r##"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue