Open epage opened 2 years ago
While we have #86, the thing we need to keep in mind broadly is "what will it take for us to be comfortable locking down the design for near perfect compatibility?"
There several routes to use in answering that question
Areas we need to consider
It might be good to get feedback from clippy on what their compatibility guarantees are around lints. I expect at minimum, we shouldn't be changing them in a way that significantly impacts how people use them.
Would it make sense to integrate this directly into cargo check
and run it by default?
The "no-false-positive" mindset seems like this would be safe!
Alternatively, it could also be part of cargo test
, similar to how rustdoc tests run automatically.
Blockers
Nice-to-haves
Open questions
cargo
or separate rustup component like clippy?rust-lang/rust
run submodule test suites, like cargo's. Presumably they would test the mergedcargo-semver-checks
as well.rust-lang/rust
emits a new rustdoc JSON format version,cargo-semver-checks
would need to be updated to support it.rustdoc-types
will exist, so no newcargo-semver-checks
-> cycle.Things to remove
_
is hidden (blocked on rust-lang/cargo#10882)bench
,nostd
,no_std
,private
,unstable
,unstable[-_].*
,nightly
(blocked on rust-lang/cargo#10882, rust-lang/cargo#10881)--default-features
,--only-explicit-features
Merge Proposal (example):
Motivation
Drawbacks
Behavior
Alternatives
Prior Art
Future Possibilities