Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MSRV bump to 1.60, MSRV compliance fix, and CI updates #16

Merged
merged 5 commits into from
Aug 26, 2024
Merged

Conversation

JRRudy1
Copy link
Owner

@JRRudy1 JRRudy1 commented Aug 26, 2024

Despite the MSRV has being set to 1.56, the crate re-exports std::any::type_name_of_val which wasn't stabilized until rustc 1.76. This PR adds a conditional compilation gate to this re-export to properly compile on v1.56. This requires adding a compile-time-only dependency on the rustversion crate, which should be lightweight enough to be harmless.

However, another issue is that the "dep:" syntax in Cargo.toml was not stabilized until rustc 1.60. Working around this would be annoying due to feature/dependency name conflicts, so instead this PR includes an MSRV bump to 1.60 which should still be old enough for the vast majority of crates to support.

Finally, the CI has been updated to build the crate with a rustc version below the type_name_of_val cutoff, which would ideally be the MSRV. However, updating the crates.io registry is crazy slow for versions below 1.68 when the sparse protocol was implemented, so this version will be used in the CI instead. Note that the CI will not run tests for this version due to higher MSRV for the try-build dev dependency, but building the crate should be good enough to catch MSRV violations.

@JRRudy1 JRRudy1 merged commit 3bc0747 into main Aug 26, 2024
10 checks passed
@JRRudy1 JRRudy1 deleted the rustc-version branch August 26, 2024 22:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant