-
-
Notifications
You must be signed in to change notification settings - Fork 803
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 (1.56) and edition (2021) bump #2901
Conversation
This is the first cargo version that actually enforces the rust-version field in Cargo.toml
Does it means that you may merge PRs of which impact you are not sure, like #2811? |
No, this is not a breaking change nor a major version bump. This is a minor version bump, which is not allowed to break things, but only to signal that there is more change happening than in a usual patch release. Edit: not a minor bump anymore |
#2811 just doesn't break anything (all execution paths are covered by tests), so I ask. |
b6bd601
to
c53bd64
Compare
@@ -18,38 +18,17 @@ fn main() { | |||
println!("cargo:rustc-check-cfg=cfg(no_core_error)"); | |||
println!("cargo:rustc-check-cfg=cfg(no_core_net)"); | |||
println!("cargo:rustc-check-cfg=cfg(no_core_num_saturating)"); | |||
println!("cargo:rustc-check-cfg=cfg(no_core_try_from)"); | |||
println!("cargo:rustc-check-cfg=cfg(no_diagnostic_namespace)"); | |||
println!("cargo:rustc-check-cfg=cfg(no_float_copysign)"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
println!("cargo:rustc-check-cfg=cfg(no_float_copysign)"); |
d0c0c38
to
8b0e95b
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
It has been 3 years (the 1.56 release) since rust-version was actually checked in Cargo.toml. So let's upgrade:
Then we can subsequently, once enough time has passed, release more serde versions that bump rust-version. I do not believe we'd inconvenience anyone, as either they are not updating their dependencies anyway (and almost everyone is bumping MSRV knowingly or unknowingly). While there are LTS systems (like debian and such) that use 5 years (or even more in some cases), these realistically can't update their dependencies without manual cherry picking anyway.
The reason I'm bringing this up now is we're optimistic that const-trait support will land this year. While I don't plan on moving serde to be usable in const contexts in any short timeframe, I want to slowly move us up so that we can make it usable in const contexts in the next 3 years.