Fix the rustup toolchain channel regex #1148
Closed
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.
The regex used to extract the channel from the output of
rustup show active-toolchain
misidentifiesaarch64
as part of the channel on Linux:This is the result of a regex that consumes
-
as part of the channel name:^(([A-Za-z0-9.-]+)-[A-Za-z0-9_]+-[A-Za-z0-9]+-[A-Za-z0-9-]+)
The first capture group can't contain
_
, so it works onx86_64
. According to the toolchain specgrammar, we'll need to use a less liberal regex to avoid capturing too much as the channel/date.
The regex also causes problems on platforms that use a target "triple" that isn't a triple, like
1.76.0-aarch64-apple-darwin
, so we make no assumptions about the number of-
-separated words in the target triple.