Open joshtriplett opened 2 months ago
Very likely dupe of e.g. (edit: now re-opened) #95513. Also CC tangentially related https://github.com/rust-lang/cargo/issues/1982, https://github.com/rust-lang/rfcs/pull/2887
At the time I opened this, that issue was closed. I agree that it's a duplicate.
I don't think we should wait on the possibility of per-target dependencies. Rather, I think the right fix would be to have cargo figure out the intersection of unused dependencies based on information supplied by rustc.
Steps to reproduce:
Result:
dev-dependencies have a variety of uses, and should not be considered as potentially unused. I'd love to see unused dev-dependencies detected as well, but right now they produce false positives.
The reverse is also true: rustc will warn about unused non-dev dependencies when compiling tests.
Short-term, perhaps we could provide a way to easily disable this warning entirely for dev-dependencies, and for non-dev dependencies in targets such as tests.
Longer-term, perhaps rustc could feed information about potentially unused dependencies back to Cargo in its output, and Cargo could then aggregate the intersection of those dependencies that are completely unused.
Meanwhile, however, these false positives make it difficult to use
unused_crate_dependencies
in any project that has dev-dependencies or tests.