Why doesn't rust-analyzer reuse infrastructures of rustc?

75 points Junior-Command-7041

Hi everyone, I come up with a question when reading rust-analyzer's source code. Why does rust-analyzer design to replicate the frontend of rustc, such as the parser, macro expansion, etc.? Why not just reuse the existing ones? I believe there must be some justifications behind this design choice.