Skip to content

Enhance E0463 "can't find crate" error message by hints indicating the starting point of a path to a solution. #89733

Open
@emirror-de

Description

@emirror-de

Given the following code: Playground Link

#![feature(plugin, core)]
#![plugin(phf_macros)]

fn main() {
    println!("hello world");
}

The current output is (for stable and nightly):

   Compiling playground v0.0.1 (/playground)
error[E0463]: can't find crate for `phf_macros`
 --> src/main.rs:2:11
  |
2 | #![plugin(phf_macros)]
  |           ^^^^^^^^^^ can't find crate

For more information about this error, try `rustc --explain E0463`.
error: could not compile `playground` due to previous error

Ideally the output should look like:

   Compiling playground v0.0.1 (/playground)
error[E0463]: can't find crate for `phf_macros`
 --> src/main.rs:2:11
  |
2 | #![plugin(phf_macros)]
  |           ^^^^^^^^^^ can't find crate

Hints:
    - If using Cargo, double check your entry in `[dependencies]` section in Cargo.toml.
    - Check if the crate you want to use is present at crates.io.
    - When in a process of upgrading, double check the documentation of the crate you want to use.
      There may be a breaking change between the versions.

For more information about this error, try `rustc --explain E0463`.
error: could not compile `playground` due to previous error

Maybe it would be nice to get something like a small checklist on how to address this issue? I filled the proposed output above with things that came to my mind (and by copying from rustc --explain E0463) while writing the issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-diagnosticsArea: Messages for errors, warnings, and lintsT-compilerRelevant to the compiler team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions