pub static UNUSED_CRATE_DEPENDENCIES: &'static Lint
unused_crate_dependencies lint detects crate dependencies that
are never used.
This will produce:
error: external crate `regex` unused in `lint_example`: remove the dependency or add `use regex as _;` | note: the lint level is defined here --> src/lib.rs:1:9 | 1 | #![deny(unused_crate_dependencies)] | ^^^^^^^^^^^^^^^^^^^^^^^^^
After removing the code that uses a dependency, this usually also
requires removing the dependency from the build configuration.
However, sometimes that step can be missed, which leads to time wasted
building dependencies that are no longer used. This lint can be
enabled to detect dependencies that are never used (more specifically,
any dependency passed with the
--extern command-line flag that is
never referenced via
extern crate, or in any path).
This lint is “allow” by default because it can provide false positives depending on how the build system is configured. For example, when using Cargo, a “package” consists of multiple crates (such as a library and a binary), but the dependencies are defined for the package as a whole. If there is a dependency that is only used in the binary, but not the library, then the lint will be incorrectly issued in the library.