Improve E0046

This commit is contained in:
Guillaume Gomez
2015-08-26 13:13:18 +02:00
parent 14b7591ee5
commit dddc4ca90b

View File

@@ -401,10 +401,35 @@ extern "C" {
"##, "##,
E0046: r##" 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, 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 provide implementations for all of `Foo`'s required methods (meaning the
methods that do not have default implementations), as well as any required 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##" E0049: r##"