Skip to content
Branch: master
Find file History
Type Name Latest commit message Commit time
Failed to load latest commit information. add info about rls-2.0 working group Feb 18, 2019 Update working-groups/rls-2.0/ Apr 19, 2019 Fix link to rust-analyzer guide May 16, 2019

Scope and purpose

Discover ideal architecture for IDE-compiler by starting a "from scratch" implementation. Especially, how to handle the two hardest things:

  • name resolution/macro expansion
  • trait resolution

Quantify how hard would be to port existing rustc to the IDE architecture.

Secondary Goals

  • provide better RLS experience by making a "better racer"
  • facilitate rustc librarification by discovering and prototyping separable libraries
  • facilitate specification of the language, by producing "more declarative" implementation


  • a language server which provides compiler-based code completion for a subset of the Rust language.
  • "design knowledge": which approaches do and do not work in IDE contexts.
  • (optional) improvements to existing tooling, like replacing racer in RLS with something more powerful, or making rustfmt capable of dealing with incomplete code.

Current status

An initial language-server is implemented in the rust-analyzer.

How to participate

Chat forum

On the rust-lang Zulip, in the #t-compiler/wg-rls-2.0 stream.


We don't have a regular meeting schedule yet, check Zulip to learn about the next one. However, we maintain work list -- a paper document that shows what everyone is working on right now. If you want to (this is not mandatory), add yourself to the list!


Currently the bulk of work is happening in the rust-analyzer repository. It has E-mentor issues and a guide.

Getting up to speed

There's some documentation in rust-analyzer repository which should be useful. There's a YouTube playlist with videos which cover various subsystems of the analyzer.

You can’t perform that action at this time.