-
Notifications
You must be signed in to change notification settings - Fork 196
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: Bump to Rust 1.48 #2381
msrv: Bump to Rust 1.48 #2381
Conversation
Note 8.3 is still on 1.45. We recently did a rebase there because of library versioning issues when cherry-picking from 8.4. Let's hold this until 1.47 gets into 8.3? Otherwise, I think it restricts us to backports only until RHCOS moves to 8.4, which is still a long while away. |
I guess we can carry a fork of cxx-rs for now. |
Two counters though:
|
And third, I am pretty sure nothing stops us from explicitly requesting a newer toolset even for 8.3 buildroots. (Aside; now that I look it seems like cxx.rs emits a warning unless it's built with ≥1.48 so I'll bump this PR) |
For an upstream git branch we could call it e.g. |
30350d3
to
6fb9f15
Compare
Yeah, I'm not too concerned about backporting patches. Just talking about regular periodic rebases. Let's go over the dates internally.
If this is true, then that helps I think. |
6fb9f15
to
82d5a83
Compare
We need this for https://cxx.rs While we're here: - Add some more comments/links - Since the Rust bits are now at the toplevel, we can explicitly invoke `cargo` - And since we can do that, use the `+` syntax to specify the toolchain explicitly
82d5a83
to
ee5ed09
Compare
Actually a recent major RHEL change is that the dates are predictable and documented: https://access.redhat.com/support/policy/updates/errata/#RHEL8_Life_Cycle From that we can see that 8.4 is ~6 months away 😢 |
OK so there are various options:
The argument for branching also include:
|
I would not want to disrupt Rust in the common 8.3 buildroots, especially since pulling back builds from 8.4 would need LLVM too. If necessary, we could do something in a side tag, but that should be an exceptional situation. |
3(alt): use |
It's not just about features - cxx 1.0 is defined to be stable (plus there's a ton of bugfixes and improvements already). |
Are many of those bugfixes relevant to us, or could we make do with 0.5.10 for now? Would we have to rewrite a ton of stuff once we're unblocked on that front? Could we branch cxx at 0.5.10 for now to carry the fixes we really need, if any? |
It looks like the thing that actually needs 1.48 is the syntax change allowing The warning comes from |
I think regardless we probably shouldn't just rebase 8.3.z on the latest upstream after we start work on this. Possibly not even 8.4. |
OK I tried downgrading to 0.5.10 and I'm getting a build error that I think is dtolnay/cxx#311 |
Sure, I think that's fine. If it weren't hard to leave that door open then I would've preferred doing that. It might come back to bite us if we have gnarly patches we need to backport, but we've done it before. /approve |
/lgtm CI timed out; restarted it. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: cgwalters, jlebon, travier The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Any opinions on the branch naming? |
Maybe just |
We need this for https://cxx.rs
While we're here:
invoke
cargo
+
syntax to specify thetoolchain explicitly