Skip to content

Commit c06453e

Browse files
---
yaml --- r: 220793 b: refs/heads/master c: cd385cb h: refs/heads/master i: 220791: b1372b7 v: v3
1 parent 8977f2b commit c06453e

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
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: 0eb7303c7062792049c0ec4ff2c42565db6d60ff
2+
refs/heads/master: cd385cbe34d8a9bad2a6d03c1ef50dd04642a379
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: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -282,10 +282,41 @@ fn foo<T, T>(s: T, u: T) {} // error: the name `T` is already used for a type
282282
// parameter in this type parameter list
283283
```
284284
285-
Please verify you didn't mispell the type parameters. Example:
285+
Please verify that none of the type params are misspelled, and rename any
286+
clashing parameters. Example:
286287
287288
```
288-
fn foo<T, Y>(s: T, u: Y) {}
289+
fn foo<T, Y>(s: T, u: Y) {} // ok!
290+
```
291+
"##,
292+
293+
E0405: r##"
294+
You tried to implement an undefined trait on an object. Example of
295+
erroneous code:
296+
297+
```
298+
struct Foo;
299+
300+
impl SomeTrait for Foo {} // error: use of undeclared trait name `SomeTrait`
301+
```
302+
303+
Please verify that the name of the trait wasn't misspelled and ensure that it
304+
was imported. Example:
305+
306+
```
307+
// solution 1:
308+
use some_file::SomeTrait;
309+
310+
// solution 2:
311+
trait SomeTrait {
312+
// some functions
313+
}
314+
315+
struct Foo;
316+
317+
impl SomeTrait for Foo { // ok!
318+
// implements functions
319+
}
289320
```
290321
"##
291322

@@ -300,7 +331,6 @@ register_diagnostics! {
300331
E0401, // can't use type parameters from outer function
301332
E0402, // cannot use an outer type parameter in this context
302333
E0404, // is not a trait
303-
E0405, // use of undeclared trait name
304334
E0406, // undeclared associated type
305335
E0407, // method is not a member of trait
306336
E0408, // variable from pattern #1 is not bound in pattern #

0 commit comments

Comments
 (0)