-
Notifications
You must be signed in to change notification settings - Fork 897
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
[Feature Request] Warn users of component availability changes #1277
Comments
Yes, this is particularly important for RLS users. It is incredibly frustrating to find out that the latest nightly toolchain doesn't contain The least we need is a flag which causes rustup to only update the toolchain if all installed components exist in the latest version. |
This should be designed to work well for both users and for automated upgrades (e.g., an editor doing |
Hi! I was thinking about how to approach this problem and wanted to get feedback before writing code. Think of this as a mini-RFC/design doc:
I'm not entirely sure how to approach automated upgrades. What's the best way to communicate that to editors? |
I'd imagine having a special flag for IDE to use (like |
@davidbarsky this sounds basically right to me, and thanks for offering to do the work, it is much appreciated!
I believe Note also, that the component must be present for all targets and all channels that the user has installed, and when warning the user, we should list the tagets/channels where the component is missing.
yes
Yes. And the message to the user should suggest this as a possible solution.
I think this setup should work well for editors - the editor can attempt the update and if rustup quits, the editor can try to parse stdout to check for this issue and communicate with the user. I'm very happy to help out with this - please feel free to ping me any time here or on irc. |
@nrc Of course! I'll be able to take a look on later this week and get a draft out for review (or at least, something that other cans build upon).
Gotcha. Several assorted questions:
Is the rename documented/handled in some existing code, or is rustup unaware of this renames?
No, thank you for your help! |
The compiler and libs etc., are just components like the tools. They are all part of a toolchain (rustup is aware of the target vs host difference). There are some differences because some components are optional (like tools) and some are not (like the compiler). Also, tools are installed differently to the compiler and libs. I'm not sure how 'transactional' rustup actually is, but tools and the compiler are treated pretty much similarly.
I don't know, sorry
Yes. The renames are an item in the manifest and rustup is aware of them. |
Is it also possible to provide such a way so that new users can specify "essential components" when installing the Rust stack? |
Thanks very much, Nick! That’s a useful starting point! (Sorry my questions weren’t better edited.) |
Hey @davidbarsky! How is the work coming along? |
Hey Igor! Apologies in the delay in responding. Work and life happened, so
this fell to the way-side for a bit.
I did start work on issue, but if you'd like to pick this up, by all means!
…On Thu, Dec 28, 2017 at 7:11 AM, Igor Matuszewski ***@***.***> wrote:
Hey @davidbarsky <https://github.com/davidbarsky>! How is the work coming
along?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1277 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AB-NPuX2gPjs7wwUpX2ajefchEesjHB4ks5tE4V5gaJpZM4QKK6J>
.
|
Warn when tools are missing and allow to override Closes #1277 Idea here is to not update if the RLS is missing (for example). There was actually functionality to do this already, but it was not catching the RLS and Rustfmt since they were missing in an unexpected way. The second commit adds `rustup update --force` to update even if some components are missing r? @alexcrichton
Warn when tools are missing and allow to override Closes #1277 Idea here is to not update if the RLS is missing (for example). There was actually functionality to do this already, but it was not catching the RLS and Rustfmt since they were missing in an unexpected way. The second commit adds `rustup update --force` to update even if some components are missing r? @alexcrichton
Rustup should warn users of component availability changes before going on with an update.
For instance, the
rls
component was once renamed torls-preview
and I was quite confused then about the missing ofrls
after the update. And just yesterday,rls-preview
was temporarily removed and guys are now struggling downgrading to the last working one (rust-lang/rls#535).So whenever there is a new component available, it's better to inform users of it, e.g.
And if there is an installed component that is removed, I reckon we should prompt users for a confirmation, e.g.
The text was updated successfully, but these errors were encountered: