The RLS provides a server that runs in the background, providing IDEs, editors, and other tools with information about Rust programs. It supports functionality such as 'goto definition', symbol search, reformatting, and code completion, and enables renaming and refactorings. A high-level overview of the architecture can be found here. The RLS gets its source data from the compiler and from Racer.

