-
Notifications
You must be signed in to change notification settings - Fork 867
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 workspace.rust-version
to 1.70.0
and use for all members
#4653
Conversation
workspace.rust-version
to 1.70.0
and use for all membersworkspace.rust-version
to 1.70.1
and use for all members
eeba22b
to
194838a
Compare
workspace.rust-version
to 1.70.1
and use for all membersworkspace.rust-version
to 1.70.0
and use for all members
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.
Looks okay. Just one question. I think half only requires 1.70 since v2.3.0. But arrow-buffer uses half 2.1, cannot it be compiled using 1.62?
The MSRV CI job appears to be failing as a result of this change? |
|
Looks like |
Unless I am mistaken, cargo will not select a crate version that is not compatible with the selected version of Rust. Therefore if someone is running 1.62 it will select an older version of half to satisfy this. Provided this compiles, which the CI job would indicate it does, we are perfectly correct to state the MSRV as 1.62. This would only change if we were to specify a half version constraint that could not be satisfied by any version compatible with 1.62 |
Hm I ran into this (after adding
|
Is it possible your workspace contains a version constraint or lockfile that is forcing it to use v2.3.1 of half? |
I have no |
It would appear I am incorrect and cargo does not perform MSRV-aware resolution. There is a ticket rust-lang/cargo#9930 to track supporting this. I confirmed this with
That being said I don't actually know what the correct policy here is, I would expect the MSRV to track the minimum MSRV where a compatible set of crate versions exists, as opposed to the MSRV of the latest version of all crates... I'll see if I can't ping some other crate maintainers who may be able to weigh in with greater authority |
Having thought about this I think I would rather keep the MSRV set as currently, this is based off the following rationale:
As such bumping the MSRV does not improve the UX for users on old versions, they get the same error regardless, but does reduce their options for how to deal with it, by forcing them to update the Rust toolchain. |
Which issue does this PR close?
None.
Rationale for this change
Some crates use the
workspace.rust-version
which is set to1.62
. However, for examplearrow-buffer
won't compile with1.62
, because it depends onhalf
, which requires1.70
.What changes are included in this PR?
This bumps the
workspace.rust-version
to1.70.0
, and sets all members (which didn't already do this) to use theworkspace.rust-version
.Are there any user-facing changes?
Yes, the
rust-version
field for all crates in the workspace is now correct and the same.