-
Notifications
You must be signed in to change notification settings - Fork 26
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
New patch versions bring new toolchain requirements #89
Comments
Hi! 👋 Oh, I didn't notice minimal rustc version was bumped in a patch version… I'm sorry to hear it caused troubles on your side 😕 To be honest, I'm not a hardliner on this matter. I personally always work on latest I won't guarantee a minimum stable Rust version, but at least I'll try to make sure to not accidentally raise the minimum when updating patch number and try to be more aware about it. Next time minimum required version bumps I'll make sure to increase minor number instead (including for pre-1.0.0 releases like Just for my own information, what is the version you are able to build now? |
Agree with that too! That would make things easier. I guess in the long run it's not maintainable to keep the same rustc version for a long time and having to release a breaking version just for that is a bit annoying. Maybe the main thing is not too use features of Rust that are too new?
Perfect 👌!
We use the following:
|
Thank you!
Yes, I tend to prefer newer features if it helps improving code maintenance but I'll encourage to not bump minimal rustc version for something that could be equally good without (picky doesn't really requires recent features to be honest). Also, I would like to know a bit more about your situation. What prevents you from using latest stable and what is the timing for updates? Is this because you use system package manager? Is this because of CI constraint? By the way, I investigated a bit more about the recent rustc version bump
It's actually not using anything fancy, code can be made to compile for rustc 1.43 just by writing I'll be checking minimal rustc version with the 1.49 stable toolchain for all picky crates because a transitive dependency of |
Great, I believe that was this exact line that caused the initial problem.
We want Parsec to be packaged and available in Linux distributions where they use a Rust version older than the latest stable 😕 The version requirement comes from openSUSE Leap where the available version is 1.43.0. Because of that, we try as much as possible to make Parsec compile for that version. I believe that we will be able to bump our minimum Rust version whenever there is an update of the packaged Rust there. |
Oh I understand! I can't do much for |
Awesome, thank you for the effort 👍 |
Quick follow up: this PR adds a CI check for minimal supported rust version of all our published crates 😄 |
Hello 👋
We are using some of the picky crates in our various Parsec projects. For the second time we noticed that a new patch version of one of the crate introduced code only compiling on the latest
stable
.The specific case here is the switch of
picky-asn1
from0.3.1
to0.3.2
. The later requires Rust version 1.52.0 to compile.We had
0.3.1
in ourCargo.toml
and with acargo update
it fetched0.3.2
as per semver rules and broke compilation in some places where the Rust version was specifically fixed to an older version.This is mostly open for discussion: what are your opinions on this? Are
semver
rules concerned about Rust versions as well? Would it make sense to introduce a Minimum Stable Rust Version?The text was updated successfully, but these errors were encountered: