Ship rust-analyzer on stable toolchain? · Issue #12432 · rust-lang/rust-analyzer (original) (raw)
As part of a push to make rust-analyzer the official LSP for Rust, I would like to see there is any desire to transition rust-analyzer to be available on the stable Rust toolchain. Currently it is available in the nightly toolchain, which gets updated roughly once a week or two.
I think the primary reason to do this is to make it easier for users to obtain the server binary if they are not using VSCode. Requiring a separate nightly installation may introduce a barrier that could turn people away. It can also signal that rust-analyzer is not stable or reliable, which may be the wrong message for some.
Users can fetch the GitHub Release binaries manually, but that is a bit cumbersome. Other editors could automate this, but it would require a whole separate download mechanism which AFAIK can be a bit awkward.
Additionally, I think there may be a few other platforms that are available in tier 2, though I'm not sure if there is much demand for those.
Reasons against that have been mentioned:
- The rust-analyzer team currently does not have a procedure for backporting critical fixes to a "beta" branch.
- rust-analyzer development is still under rapid development, meaning getting a release that is 6 weeks or more old would be a noticeable drawback, and the user is left with a poorer experience.
- (pietroalbini points out that using nightly means their installation can be much older since they do not use nightly regularly, and thus don't update it. I think that is probably common as most users are not using nightly.)
- It may increase the rate of reporting duplicate issues, particularly for things that have already been fixed.
- It is unclear (to me) what, if any, demand there is for this.
Does the rust-analyzer team want to make this a thing? Is there a timeline where you would like to see it happen? Or is this something you would prefer to not support for the foreseeable future?
Notes about implementation:
- It might be good to reapply Add rust-analyzer proxy rustup#2408
- An alternate approach considered in Add --profile empty support rustup#2974 is to not use stable, but use a different rustup delivery mechanism that could be pushed more frequently
- Remove this.
- Update the rustup manifest:
- Update NIGHTLY_ONLY_COMPONENTS
- Update add_renames_to