At its core, it is a library for semantic analysis of Rust code as it changes over time. It is a new "IDE backend" for the Rust programming language.