Remove components if they don't exist anymore during an update #1419
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.
At the moment, if a new release removes a component from its manifest, the
install
command works fine but theupdate
command fails because that component is missing. This is just an hassle for the user, who has to remove the toolchain and reinstall it again.This PR changes the behavior of rustup so that if a component is missing (so it's not in either the
components
orextensions
list of therust
component) a warning is shown to alert the user about this and the component is simply removed. If the component is just marked asavailable = false
the old behavior (erroring out) is still used, since that might be caused by a CI failure (if I understand correctly).Part of rust-lang/rust#51097.
r? @Mark-Simulacrum @alexcrichton