Right now if you attempt to install a package with a
[bin] crate with
required-features (which are very useful for packages that also contain
[lib] crates) you get the following error:
$ cargo install cargo-lock [...] Compiling cargo-lock v8.0.3 Finished release [optimized] target(s) in 34.00s warning: none of the package's binaries are available for install using the selected features
Just in general that's not a super helpful error. It'd be really nice if it could at least list the
required-features which would make the
[[bin]] crates available.
But even better: what if there were a separate set of default features when a package was
I'm not going to attempt to describe a syntax in Cargo.toml for this to avoid a bikeshedding debate, but imagine if instead of
cargo install exiting with a somewhat inscrutable error, it Just Worked instead, because the required features (
cli in this case) were automatically enabled when using
I think this would help the usability of packages containing both
[[bin]] crates significantly.