Description
As it was recommended in #9629, I open the issue.
As we all know, distros (I mean Debian-based distros, such as Ubuntu and Debian itself) have problems with supplying the most recent versions of rust in time.
While it is possible to use the stuff like rustup
and curl ... | sudo bash
, it can have some issues and so it is strongly disrecommended.
So, an issue arises to allow outdated versions of rust to build rust-analyser.
There are some options:
-
introducing a policy of keeping the code compatible to the oldes version of rustc available in the latest versions of all major distros. Pro - rustc built by the distro itself can be used. Con - limiting oneself to old features only is not fun.
-
making an own update server for package managers and hosting it on GitHub Pages. Provide the prebuilt binary packages for the latest rust-nightly via it. Con - trust and security issues. Pro - latest Rust.
-
making an additional branch for each rust release significantly present in distros, that is meant to be rebased over
master
and gets a commit fixing the incompatibility when a commit not supporting needed versions of rust is landed intomaster
. An example of such a branch is https://github.com/KOLANICH-toosl/rust-analyzer/tree/ubuntu_21.04_compat . Con - additional work for ones maintaining this branch. Pro - developers get more fun playing with the fresh features. Comment - it'd be easier to maintain such a branch if the introduction of incompatible changes is documented. Also it may be possible to setup a GitHub action automatically rebasing the branch over master and detecting the incompatible commits.