Also my understanding is that RustAnalyzer has to compile all Rust macros so it can check them properly. That’s not something that a lot of static analysis tools do for things like C++ templates
This is, in part, a correlation. To some extent, compiled Rust is fast because compiling Rust is slow. That is, Rust does a lot of work (static analysis) at compile time so that the runtime binary is as fast as possible.
Personally I think the “compiling Rust is slow” narrative comes from comparing it against scripting languages like Python. If you compare compiling Rust against compiling C++ code of similar complexity, I think Rust will come out very favorably since C++ templates and headers tend to carry a huge compilation burden.
I thought Rust was fast
Compiled Rust is fast.
Compiling Rust is slow.
Also my understanding is that RustAnalyzer has to compile all Rust macros so it can check them properly. That’s not something that a lot of static analysis tools do for things like C++ templates
This is, in part, a correlation. To some extent, compiled Rust is fast because compiling Rust is slow. That is, Rust does a lot of work (static analysis) at compile time so that the runtime binary is as fast as possible.
Personally I think the “compiling Rust is slow” narrative comes from comparing it against scripting languages like Python. If you compare compiling Rust against compiling C++ code of similar complexity, I think Rust will come out very favorably since C++ templates and headers tend to carry a huge compilation burden.