Declare the minimum supported Rust version and check it in CI - #53
LucaCappelletti94 wants to merge 3 commits into
Conversation
Up to standards ✅🟢 Issues
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
41adce9 to
6718755
Compare
There was a problem hiding this comment.
Pull Request Overview
The PR establishes a Minimum Supported Rust Version (MSRV) of 1.88 and introduces a dedicated CI workflow to enforce this compatibility. Codacy analysis indicates the changes are up to standards.
While the implementation meets the primary acceptance criteria, the CI check is currently insufficient to prevent MSRV drift in feature-gated code or test-specific dependencies. Specifically, the workflow lacks verification for all feature combinations and non-library targets, which often introduce higher Rust version requirements through transitive dependencies or new language features.
Test suggestions
- Verify the project compiles on the declared MSRV (1.88) with default features.
- Verify the project compiles on the declared MSRV (1.88) with no-default features.
- Verify the project compiles on the declared MSRV (1.88) with all features enabled.
- Verify all targets (tests, examples, benchmarks) compile on the declared MSRV (1.88).
Prompt proposal for missing tests
Consider implementing these tests if applicable:
1. Verify the project compiles on the declared MSRV (1.88) with all features enabled.
2. Verify all targets (tests, examples, benchmarks) compile on the declared MSRV (1.88).
TIP Improve review quality by adding custom instructions
TIP How was this review? Give us feedback
Co-authored-by: codacy-production[bot] <61871480+codacy-production[bot]@users.noreply.github.com>
The crate has no
rust-version, so there is no stated minimum Rust and nothing checks one.By bisection, it turns out that it is 1.88 in practice, as
cargo +1.88.0 checkbuilds both feature sets,cargo +1.87.0 checkfails.This PR adds an
msrvjob that runscargo checkandcargo check --no-default-featureson 1.88.0 so the declared value is verified.