RLS-2.0 Working Group

Primary Goal


Discover ideal architecture for IDE-compiler by starting a "from scratch" implementation. Especially, how to handle 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

Deliverables


  • 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.

Organization


How do we name the thing?
  • rls-2.0 
  • rls-next
  • rust-analyzer

What github should we use
  • rust-lang
  • dedicated org