mirror of
https://github.com/rust-lang/cargo
synced 2024-09-13 04:51:31 +00:00
Update features.md
This commit is contained in:
parent
5828a4fa8c
commit
3ac679599a
|
@ -514,8 +514,8 @@ source and inspect it.
|
|||
[`cargo vendor`]: ../commands/cargo-vendor.md
|
||||
[cargo-clone-crate]: https://crates.io/crates/cargo-clone-crate
|
||||
|
||||
### Caveats
|
||||
### Feature combinations
|
||||
|
||||
Features, which are a form of conditional compilation, require an exponential number of configurations and test cases to be 100% covered. By default, testing, linting, Miri, docs and others will only run on the default set of features.
|
||||
Because features are a form of conditional compilation, they require an exponential number of configurations and test cases to be 100% covered. By default, tests, docs, and other tooling such as [Clippy](https://github.com/rust-lang/rust-clippy) will only run with the default set of features.
|
||||
|
||||
There are certain tools like [cargo-hack](https://github.com/taiki-e/cargo-hack) and [cargo-all-features](https://github.com/frewsxcv/cargo-all-features) that allow you to test all combinations of features which can help reduce the amount of configuraton needed.
|
||||
We encourage you to consider your strategy and tooling in regards to different feature combinations - Every project will have different requirements in conjunction with time, resources, and the cost-benefit of covering specific scenarios. Common configurations may be with / without default features, specific combinations of features, or all combinations of features.
|
||||
|
|
Loading…
Reference in a new issue