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

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.

Activity

  1. added
    A-diagnosticsArea: Messages for errors, warnings, and lints
    T-compilerRelevant to the compiler team, which will review and decide on the PR/issue.
    on Oct 10, 2021
  2. ThePuzzlemaker commented on Oct 17, 2021

    @ThePuzzlemaker
    Contributor

    It may be helpful to note that plugins have been deprecated for some time (and phf_macros no longer uses the interface), and #[feature(core)] has been stable for a long time.

    This error still does occur with extern crate as indicated by the --explain output, however.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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