gccrs or formal verification tools. A formal specification ensures that all these tools agree on what Rust code means, which is currently not the case.
Currently, there are several loosely connected groups formalizing various parts of Rust. For example, people are working on the operational semantics, the borrow checker, or the trait system. We have a vision for how this can all be connected, but putting this into practice is very hard.