Skip to content
Branch: master
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
FAQ.md
NOTES.md
README.md

README.md

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

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.

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.

Meetings

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!

rust-analyzer

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.