Skip to content

Commit 5b4b755

Browse files
committed
Auto merge of #10605 - yoav-lavi:patch-1, r=ehuss
Add caveat for covering features This section explains the caveats and possible solutions for features, detailing the tooling needed to 100% cover such a project. The need for this PR is based on a conversation with `@Eh2406.` Moved this PR here based on `@Eh2406's` comment: rust-lang/reference#1195 (comment)
2 parents a2c71c5 + 3ac6795 commit 5b4b755

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/doc/src/reference/features.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -513,3 +513,9 @@ source and inspect it.
513513

514514
[`cargo vendor`]: ../commands/cargo-vendor.md
515515
[cargo-clone-crate]: https://crates.io/crates/cargo-clone-crate
516+
517+
### Feature combinations
518+
519+
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.
520+
521+
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.

0 commit comments

Comments
 (0)