-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
home: reduce MSRV to 1.64 #13270
home: reduce MSRV to 1.64 #13270
Conversation
r? @ehuss (rustbot has picked a reviewer for you, use r? to override) |
(If there is a need to do any legwork to make this work better in CI, I can probably do that work if the idea of this PR is accepted.) |
Could you describe the problem you are trying to solve. For example,
|
The problem I'm trying to solve is that I have a downstream library for which I'd like to maintain a less aggressive MSRV. In general, it seems wasteful to restrict a popular library to a higher MSRV than what it really needs, since this in turn restricts all downstream libraries to a higher MSRV than what is actually needed. |
Our choice of MSRV does not affect the MSRV of dependents except in their risk profile to catastrophic bugs or vulnerabilities. |
Because MSRV-aware |
Although people should use other alternative than Looking back the PR #12381 proposing MSRV for all member packages, we've listed some concerns aware #12381 (comment). To me, I am fine lowering the MSRV for
In #13167 we opt out |
Keep in mind a lower MSRV for |
#13254 (comment) as an example of this. |
As I said in #13254 (comment), as far as I know, it is possible to avoid the problem while maintaining a low MSRV, at least for this problem. |
☔ The latest upstream changes (presumably #13324) made this pull request unmergeable. Please resolve the merge conflicts. |
Maybe we should move home out of this repo to avoid it making Cargo development harder? I'd volunteer to help out as a maintainer. |
As there isn't any functionality being blocked from getting the users with older MSRVs, I feel like that time would be better spent on getting this back into the standard library. I will go ahead and propose we talk about this in the cargo team meeting. |
We talked about this in the cargo team meeting. We understand that In an effort to balance the different needs, we are willing to extend the N-2 policy to N-4 as a bridge for users while an ACP is being worked on. This offer is only good so long as the ACP is being actively driven to a resolution or else this turns from a bridge to a general policy. |
What are the logistical reasons? Was the idea of moving this into a separate repository discussed at all? If others (like, me) would volunteer to help maintain and shoulder the burden to justify MSRV changes and the rest of the packages within this repo would no longer be affected, that seems to address all of the concerns listed here. I am also able and willing to do the legwork to set this up in a separate repository (whether within rust-lang or somewhere else), bringing along the Git history so far. Getting this into std is a good idea but will take another six months. I honestly don't see only upside in getting this into a separate repo where a more broadly accessible MSRV can be supported. |
The logistical reasons are that we've automated when a package must be released based on if there are any changes to the directory because we've had too many times where we incorrectly publish packages from the cargo repo. We briefly talked about splitting the workspace or moving it to a separate repo but both of those take work and short term efforts and we felt it better to focus on the long term effort, given what seems like a low user impact from this situation. |
Well, that's disappointing. |
In #12654 the MSRV for
home
was set to #12654. The actual crate still works fine with 1.64 (except for some warnings about the unrecognizedlints
key). Though I read the discussion in the original PR (and so I recognize this PR might be controversial), I would like to suggest that for a crate as popular as home (with 9.1M recent downloads) -- and as small/low on change -- IMO it would be nice to be a little more conservative and at the very least avoid bumping the MSRV proactively unless there is a need to do so.(As a library maintainer of a bunch of very popular libraries, I am pretty unhappy with a N - 2 sliding window approach to MSRV -- asking people to justify an MSRV bump is a good thing IMO especially if the bump is aggressive -- or if you want to do a sliding window, at least be more conservative about the window; at least N - 4, preferably more like N - 6 or N - 8. Most of the libraries I maintain are currently in the 1.61 - 1.63 range.)