Skip to content

Commit 6563fbd

Browse files
---
yaml --- r: 220795 b: refs/heads/master c: 9581154 h: refs/heads/master i: 220793: c06453e 220791: b1372b7 v: v3
1 parent 4664614 commit 6563fbd

File tree

2 files changed

+38
-5
lines changed

2 files changed

+38
-5
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: bc79f20ccac4ead82fae1464ea0916e78e04616f
2+
refs/heads/master: 95811546e6dabc1946a155c70a4635b9d76dcb8d
33
refs/heads/snap-stage3: d4432b37378ec55450e06799f5344b4b0f4b94e0
44
refs/heads/try: b53c0f93eedcdedd4fd89bccc5a3a09d1c5cd23e
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105

trunk/src/librustc_resolve/diagnostics.rs

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -317,8 +317,7 @@ impl Foo for Bar { // ok!
317317
"##,
318318

319319
E0405: r##"
320-
You tried to implement an undefined trait on an object. Example of
321-
erroneous code:
320+
A non-trait was implemented. Example of erroneous code:
322321
323322
```
324323
struct Foo;
@@ -344,7 +343,42 @@ impl SomeTrait for Foo { // ok!
344343
// implements functions
345344
}
346345
```
347-
"##
346+
"##,
347+
348+
E0407: r##"
349+
A definition of a method not in the implemented trait was given. Example of
350+
erroneous code:
351+
352+
```
353+
trait Foo {
354+
fn a();
355+
}
356+
357+
struct Bar;
358+
359+
impl Foo for Bar {
360+
fn a() {}
361+
fn b() {} // error: method `b` is not a member of trait `Foo`
362+
}
363+
```
364+
365+
Please verify you didn't mispelled the method name and you used the good
366+
trait. Example:
367+
368+
```
369+
trait Foo {
370+
fn a();
371+
fn b();
372+
}
373+
374+
struct Bar;
375+
376+
impl Foo for Bar {
377+
fn a() {}
378+
fn b() {} // ok!
379+
}
380+
```
381+
"##,
348382

349383
}
350384

@@ -357,7 +391,6 @@ register_diagnostics! {
357391
E0401, // can't use type parameters from outer function
358392
E0402, // cannot use an outer type parameter in this context
359393
E0406, // undeclared associated type
360-
E0407, // method is not a member of trait
361394
E0408, // variable from pattern #1 is not bound in pattern #
362395
E0409, // variable is bound with different mode in pattern # than in
363396
// pattern #1

0 commit comments

Comments
 (0)