diff options
| author | Guillaume Gomez <guillaume1.gomez@gmail.com> | 2021-09-17 17:41:16 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-17 17:41:16 +0200 |
| commit | 307f2ddfa4d0cdbf64a4f2c756566e610853e511 (patch) | |
| tree | 19202b3c2065fe4e2ea171b56b2a4ba68fda514d /src | |
| parent | 765f1533db10a7d31b9d61d1618bf0a199d41562 (diff) | |
| parent | ab83d501a404bede933df8f33e280a7534cc71bf (diff) | |
| download | rust-307f2ddfa4d0cdbf64a4f2c756566e610853e511.tar.gz rust-307f2ddfa4d0cdbf64a4f2c756566e610853e511.zip | |
Rollup merge of #88899 - FabianWolff:issue-88844, r=matthewjasper
Do not issue E0071 if a type error has already been reported Fixes #88844. A suggested fix is already included in the error message for E0412, so with my changes, E0071 is simply not emitted anymore if the type in question is a "type error". This makes sense, I think, because we cannot confidently state that something is "not a struct" if we couldn't resolve it properly; and it's unnecessary to pollute the output with this additional error message, as it is a direct consequence of the former error. I have also addressed the issue mentioned in https://github.com/rust-lang/rust/issues/88844#issuecomment-917324856 by changing the fixed example in the documentation to more closely match the erroneous code example.
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/typeck/issue-88844.rs | 14 | ||||
| -rw-r--r-- | src/test/ui/typeck/issue-88844.stderr | 12 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/typeck/issue-88844.rs b/src/test/ui/typeck/issue-88844.rs new file mode 100644 index 00000000000..116c75aabdb --- /dev/null +++ b/src/test/ui/typeck/issue-88844.rs @@ -0,0 +1,14 @@ +// Regression test for #88844. + +struct Struct { value: i32 } +//~^ NOTE: similarly named struct `Struct` defined here + +impl Stuct { +//~^ ERROR: cannot find type `Stuct` in this scope [E0412] +//~| HELP: a struct with a similar name exists + fn new() -> Self { + Self { value: 42 } + } +} + +fn main() {} diff --git a/src/test/ui/typeck/issue-88844.stderr b/src/test/ui/typeck/issue-88844.stderr new file mode 100644 index 00000000000..90bba90be34 --- /dev/null +++ b/src/test/ui/typeck/issue-88844.stderr @@ -0,0 +1,12 @@ +error[E0412]: cannot find type `Stuct` in this scope + --> $DIR/issue-88844.rs:6:6 + | +LL | struct Struct { value: i32 } + | ------------- similarly named struct `Struct` defined here +... +LL | impl Stuct { + | ^^^^^ help: a struct with a similar name exists: `Struct` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0412`. |
