3 ms·
The IDE support seems impressive at first, but RLS will start to break down and be unusable as projects get a bit large or a bit complex. One challenge, even i
by gameswithgo 8y ago
The IDE support seems impressive at first, but RLS will start to break down and be unusable as projects get a bit large or a bit complex.
One challenge, even if/when rls bugs are all sorted out, is that Rust compile times may make it impractical to use with large projects.
- steveklabnik 8y agoIt turns out, these problems are connected, and we're starting work on a second generation of tooling for this, based off of things like Rosyln. See https://ferrous-systems.com/blog/rust-analyzer-2019/ https://ferrous-systems.com/blog/rust-analyzer-2019/, which is already usable for basic things. This also means improving the compiler. From the 2019 roadmap: https://github.com/rust-lang/rfcs/blob/master/text/2657-roadmap-2019.md#compiler https://github.com/rust-lang/rfcs/blob/master/text/2657-road... > This is where the RLS 2.0 effort comes in. The plan is to build a prototype of the new front-end, thus enabling a truly first-class IDE experience. Wherever possible, we aim to share code between this front-end and rustc by extracting libraries, such as Chalk (for traits), Polonius (for the borrow checker), and a new library focusing on name resolution. Eventually, we will merge this new front-end with the remaining bits of back-end from rustc. rust-analyzer is that "RLS 2.0"
- gameswithgo 8y ago>based off of things like Rosyln That is spectacular news! This is a huge project I had assumed it would be a while before anyone could take this on.
- steveklabnik 8y agoIt is certainly a huge project, but that's one nice thing about the "split everything into a ton of crates" philosophy; it enables this kind of thing to be done in a fairly piecemeal way.