CI: pin nightly Rust version to limit breakages to explicit pinning updates. #2830
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
We seem to be seeing some CI failures in various PRs today due to new warnings added to nightly Rust.
It seems reasonable to me to pin the nightly version we use on CI, and periodically update this, so that if breakages are going to happen then they happen in a single place when we update the pinned version. This also insulates us somewhat from occasional bugs that slip into nightlies. (We had a similar strategy for the new-x64-backend tests for a bit, pinning to a particular nightly version.)
In particular, for the latest failures, it looks like a nightly bug: the compiler is interpreting
_
-args as patterns rather than ignored args and then issuing warnings-as-errors to use underscores instead (!). The only immediate fix is to use a different nightly, I think.I can see the argument for the other approach, though, that we want to guarantee as best we can that we work with the latest nightly and fix issues immediately as they arise (this is analogous to the usual rolling release vs fixed release debate I guess). Happy to discuss!
(I chose a one-day-old nightly for this PR -- let's s see if this works on CI...)