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.
Primary Goal
Secondary Goals
Deliverables
Organization