5ea55518bc
Improve unresolved use error message "use of undeclared type or module `foo`" doesn't mention that it could be a crate. This error can happen when users forget to add a dependency to `Cargo.toml`, so I think it's important to mention that it could be a missing crate. I've used a heuristic based on Rust's naming conventions. It complains about an unknown type if the ident starts with an upper-case letter, and crate or module otherwise. It seems to work very well. The expanded error help covers both an unknown type and a missing crate case.
35 lines
1.8 KiB
Plaintext
35 lines
1.8 KiB
Plaintext
error[E0433]: failed to resolve: use of undeclared crate or module `foo`
|
|
--> $DIR/issue-72911.rs:12:33
|
|
|
|
|
LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator<Item = Lint> {
|
|
| ^^^ use of undeclared crate or module `foo`
|
|
|
|
error[E0433]: failed to resolve: use of undeclared crate or module `foo`
|
|
--> $DIR/issue-72911.rs:17:41
|
|
|
|
|
LL | fn lint_files() -> impl Iterator<Item = foo::MissingItem> {
|
|
| ^^^ use of undeclared crate or module `foo`
|
|
|
|
error[E0720]: cannot resolve opaque type
|
|
--> $DIR/issue-72911.rs:7:24
|
|
|
|
|
LL | pub fn gather_all() -> impl Iterator<Item = Lint> {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ recursive opaque type
|
|
LL |
|
|
LL | lint_files().flat_map(|f| gather_from_file(&f))
|
|
| -----------------------------------------------
|
|
| |
|
|
| returning here with type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
|
| returning here with type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
|
...
|
|
LL | fn gather_from_file(dir_entry: &foo::MissingItem) -> impl Iterator<Item = Lint> {
|
|
| -------------------------- returning this opaque type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
|
...
|
|
LL | fn lint_files() -> impl Iterator<Item = foo::MissingItem> {
|
|
| -------------------------------------- returning this opaque type `FlatMap<impl Iterator, [type error], [closure@$DIR/issue-72911.rs:9:27: 9:51]>`
|
|
|
|
error: aborting due to 3 previous errors
|
|
|
|
Some errors have detailed explanations: E0433, E0720.
|
|
For more information about an error, try `rustc --explain E0433`.
|