-
Notifications
You must be signed in to change notification settings - Fork 2.7k
Open
Labels
A-dependency-resolutionArea: dependency resolution and the resolverArea: dependency resolution and the resolverA-diagnosticsArea: Error and warning messages generated by Cargo itself.Area: Error and warning messages generated by Cargo itself.C-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-acceptedStatus: Issue or feature is accepted, and has a team member available to help mentor or reviewStatus: Issue or feature is accepted, and has a team member available to help mentor or review
Description
Describe the problem you are trying to solve
The state of feature discoverability in Rust is not great. Sometimes I try to remember the name of features of packages off my head, but misremember them (serde instead of json, ssl instead of tls, tokio_runtime instead of runtime_tokio...)
Describe the solution you'd like
It would be great if cargo could display a list of features when failing to resolve a specific features, for example:
Error: Error during execution of `cargo metadata`: error: failed to select a version for `reqwest`.
... required by package `wa-client v0.1.0 (/home/brutus/programming/techsupport/wa_client)`
versions that meet the requirements `=0.11.4` are: 0.11.4
the package `wa-client` depends on `reqwest`, with features: `serde` but `reqwest` does not have these features.
It has a required dependency with that name, but only optional dependencies can be used as features.
It has the features: "default_tls", "native_tls", "...", ... however
failed to select a version for `reqwest` which could resolve this conflict
Notes
I would like to help implementing this feature if this is deemed a good addition and something easy to add. I fell comfortable with Rust, but never contributed to this repository yet.
Fogapod and apopiak
Metadata
Metadata
Assignees
Labels
A-dependency-resolutionArea: dependency resolution and the resolverArea: dependency resolution and the resolverA-diagnosticsArea: Error and warning messages generated by Cargo itself.Area: Error and warning messages generated by Cargo itself.C-feature-requestCategory: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`Category: proposal for a feature. Before PR, ping rust-lang/cargo if this is not `Feature accepted`S-acceptedStatus: Issue or feature is accepted, and has a team member available to help mentor or reviewStatus: Issue or feature is accepted, and has a team member available to help mentor or review