Use Cargo.lock for testing against MSRV instead of pinning #48
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.
Some newer versions of transitive dev-dependencies don't work with the minimum supported Rust version (1.46.0), so I used to pin them in
Cargo.toml
whenever the MSRV build would break (tedious work). The disadvantage of that is that older versions of those deps are used even on newer Rust versions.The latest breakage is matklad/once_cell#201, but instead of pinning that to an older version too, this instead introduces a
Cargo.lock
file that is only used for the MSRV build.So newer Rust versions will continue to test against latest dependencies, while the MSRV build should continue to work with the older versions. One disadvantage with this is that consumers will need to figure out their own
Cargo.lock
with precise versions that work with older Rust versions, but that is expected to be a small number - especially because in this case they are all dev-dependencies anyway.