Enable unexpected cfg checking in all in-repo builds #6542
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Submitted for consideration as an alternative to #6538.
This approach relies on having
build.rs
in the repo, but usingpackage.exclude
in Cargo.toml to excludebuild.rs
from getting published to crates.io. This mitigates the concern about build scripts hurting performance too much for users. Users who build tokio as a git dependency would still get the slowdown from the build scripts, but this should be uncommon.The benefit of this approach is to "shift left" the unexpected cfgs signal for tokio contributors. Every
cargo check
in the tokio repo will be checking for unexpected cfgs and reporting warnings, rather than this being something contributors see only in CI after opening a PR.