-
-
Notifications
You must be signed in to change notification settings - Fork 264
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
rust-version
and non-default features
#671
Comments
Right now, it seems it's not possible to set different MSRVs per feature flags: https://rust-lang.github.io/rfcs/2495-min-rust-version.html#cfg-based-msrvs in the manifest? |
Related: #615 (comment) |
Also related: rust-lang/libs-team#72 Whilst it's not possible to key off of features, my opinion is that the The ideal thing to do would be to downgrade the all-features MSRV, either by version sniffing or just changing what's adding the requirement. Whatever we choose, we should test it in CI. As far as if we want to bump MSRV again:
|
I checked rdeps with downloads >= 10k. Listed is just information from README/homepage/rustdoc; I did not check the
I know @jhpratt has considered potentially using pest in time; time has an MSRV policy of six months, with a explicit hole allowed for optional interoperability crate dependencies. |
Thanks for the great research! 6 months is roughly stable-5, right? Seems like that's a reasonable bound given the discussion in the libs-team conversation. |
Yeah, 6 months is somewhere in stable-4/stable-5 (current stable is stable-0) since months aren't a clean number of weeks. stable-5 is cleanly always at least 6 months old. |
Six months is ~26 weeks. So stable - 4, plus about two weeks buffer. I don't count the weeks though, as it's easier to just add six to the month, saturating the day if necessary. So August 31 would turn into February 28. The six months policy is in relatively high use among popular crates with a formal policy. For pest being potentially used in the time crate, while it would be an optional dependency, it would not be so directly (basically there's no "pest" feature, just "parsing" that would rely on pest). As such the caveat would not apply, and pest would need to fully comply with my MSRV policy to be used as a dependency. This is, in part, why the only dependencies enabled by default are ones I directly control. |
FWIW:
Anyway, the culprit non-default feature in pest that needs 1.61 is |
Currently,
rust-version
is set to 1.56 and it builds fine with default features.During the release process, we found that at least 1.61 is required for
--all-features
.Shall we set
rust-version
to 1.61?The text was updated successfully, but these errors were encountered: