Rollup merge of #89347 - TaKO8Ki:crate-or-module-typo, r=estebank

suggestion for typoed crate or module

Previously, the compiler didn't suggest similarly named crates or modules. This pull request adds a suggestion for typoed crates or modules.

#76208

before:

```
error[E0433]: failed to resolve: use of undeclared type or module `chono`
 --> src/main.rs:2:5
  |
2 | use chono::prelude::*;
  |     ^^^^^ use of undeclared type or module `chono`
```

after:

```
error[E0433]: failed to resolve: use of undeclared type or module `chono`
 --> src/main.rs:2:5
  |
2 | use chono::prelude::*;
  |     ^^^^^
  |     |
  |     use of undeclared crate or module `chono`
  |     help: a similar crate or module exists: `chrono`
```
This commit is contained in:
Matthias Krüger 2021-10-13 22:51:00 +02:00 committed by GitHub
commit efac68b93c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 109 additions and 1 deletions

View file

@ -3,6 +3,11 @@ error[E0433]: failed to resolve: use of undeclared crate or module `a`
|
LL | a::bar();
| ^ use of undeclared crate or module `a`
|
help: there is a crate or module with a similar name
|
LL | b::bar();
| ~
error: aborting due to previous error

View file

@ -0,0 +1,17 @@
// edition:2018
use st::cell::Cell; //~ ERROR failed to resolve: use of undeclared crate or module `st`
mod bar {
pub fn bar() { bar::baz(); } //~ ERROR failed to resolve: use of undeclared crate or module `bar`
fn baz() {}
}
use bas::bar; //~ ERROR unresolved import `bas`
struct Foo {
bar: st::cell::Cell<bool> //~ ERROR failed to resolve: use of undeclared crate or module `st`
}
fn main() {}

View file

@ -0,0 +1,43 @@
error[E0433]: failed to resolve: use of undeclared crate or module `st`
--> $DIR/crate-or-module-typo.rs:3:5
|
LL | use st::cell::Cell;
| ^^ use of undeclared crate or module `st`
|
help: there is a crate or module with a similar name
|
LL | use std::cell::Cell;
| ~~~
error[E0432]: unresolved import `bas`
--> $DIR/crate-or-module-typo.rs:11:5
|
LL | use bas::bar;
| ^^^ use of undeclared crate or module `bas`
|
help: there is a crate or module with a similar name
|
LL | use bar::bar;
| ~~~
error[E0433]: failed to resolve: use of undeclared crate or module `bar`
--> $DIR/crate-or-module-typo.rs:6:20
|
LL | pub fn bar() { bar::baz(); }
| ^^^ use of undeclared crate or module `bar`
error[E0433]: failed to resolve: use of undeclared crate or module `st`
--> $DIR/crate-or-module-typo.rs:14:10
|
LL | bar: st::cell::Cell<bool>
| ^^ use of undeclared crate or module `st`
|
help: there is a crate or module with a similar name
|
LL | bar: std::cell::Cell<bool>
| ~~~
error: aborting due to 4 previous errors
Some errors have detailed explanations: E0432, E0433.
For more information about an error, try `rustc --explain E0432`.