-
Notifications
You must be signed in to change notification settings - Fork 27
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
Bump MSRV #77
Conversation
This seems wrong and misguided. You don't require the newer version of Ideally cargo would select the older I think this change here should be reverted and instead this should become a cargo issue. |
Thanks for bringing this to my attention! I've checked quickly the related issues and understand that you need to use an older Rust version and would prefer using
I hope I'll get a chance to look at this this weekend and hopefully unblock you. |
I personally don't care about MSRV at all, but some people have strange requirements and make their requirements everybody else's problem. In this case, someone wants to build But that's also not really any of your problem here. The increase of the MSRV to 1.70 was without reason in |
I'm preparing a PR for this btw, including CI checks for the actually correct MSRV. |
This reverts commit 6e5aa43.
Thanks a lot! I'll take a look when I get time this week-end (and once you move it out of draft mode). Regarding your other comments, my current thoughts are:
What are your thoughts? How would you balance updating dependency versions and keeping a low enough MSRV? |
It's only in draft mode right now because I want your opinion on it first, and because I want the CI to confirm that I didn't miss anything locally :)
For that it should be sufficient to check on the CI, or what are you thinking of?
You only really need to increase dependency versions if you want to make use of features from newer versions (or want to move to a new major version that changes API in a way that you can't just support both versions). For minor version updates with bugfixes that's something to figure out for whoever is building the final build target that is depending on Related, some people say that bumping the MSRV is a breaking change and should be reflected as such in the version of the crate. I.e. in your case you'd have to update to I don't agree with that (neither does the |
I see, in that case I probably would not have reverted the commit, but instead modified the MSRV directly, to reduce the diff (note that the Github workflow is generated, you only need to modify the value in xtask and run
I'm thinking of fetching the version from Ubuntu and Debian and making sure they are all greater or equal to my MSRV (when I'm bumping the MSRV). So I'll probably introduce a script to bump the MSRV and this script will ensure the criteria are satisfied. I'll make sure MSRV is bumped only by the script by modifying something unrelated but verified by the CI (e.g. having the hash of the MSRV somewhere).
What do you mean? My understanding is that this is up to cargo to resolve diamond dependencies with different major versions as always using different versions. I don't think it's possible to merge multiple major versions of the same crate. But anyway, |
1.63 seems fine to me personally
Say syn 3.0.0 is released and requires Rust 1.80. Either it doesn't require code changes on your side (you could depend on |
Oh I see, that's very nice. I'll probably have to encode this knowledge somewhere (probably some script to update dependencies to new major versions). |
Done, I didn't realize this was all autogenerated. I should look at |
The bump is needed because of proc-macro2.
Also disable lang_items lint for nostd test.