File tree 1 file changed +37
-4
lines changed
1 file changed +37
-4
lines changed Original file line number Diff line number Diff line change @@ -317,8 +317,7 @@ impl Foo for Bar { // ok!
317
317
"## ,
318
318
319
319
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:
322
321
323
322
```
324
323
struct Foo;
@@ -344,7 +343,42 @@ impl SomeTrait for Foo { // ok!
344
343
// implements functions
345
344
}
346
345
```
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
+ "## ,
348
382
349
383
}
350
384
@@ -357,7 +391,6 @@ register_diagnostics! {
357
391
E0401 , // can't use type parameters from outer function
358
392
E0402 , // cannot use an outer type parameter in this context
359
393
E0406 , // undeclared associated type
360
- E0407 , // method is not a member of trait
361
394
E0408 , // variable from pattern #1 is not bound in pattern #
362
395
E0409 , // variable is bound with different mode in pattern # than in
363
396
// pattern #1
You can’t perform that action at this time.
0 commit comments