4 ms·
It's more of a "not yet implemented" thing than a non-solvable problem. However a thing that needs to be considered is that building good IDE support for Rust
by Matthias247 8y ago
It's more of a "not yet implemented" thing than a non-solvable problem.
However a thing that needs to be considered is that building good IDE support for Rust is a very hard task, since it's a pretty complicated language (e.g. with all the type interference, traits, automatic dereferencing and conversions going on).
Another fact is that the rustc compiler hasn't been built for supporting these kinds of use-cases right from the start, as e.g. the typescript and kotlin compilers have in my understanding. That means the IDE tooling can't directly query the compiler, but must duplicate some of the parsing and interference logic.
- branko_d 8y agoAnother good example of "compiler as a service" is the Roslyn compiler for C# (and also written in C#). What is interesting is that Roslyn was a complete rewrite compared to the original C# compiler (which was written in C++ and couldn't power an IDE, so the tools like Resharper had to implement their own compiler front-end, essentially). IIRC, the ability to evolve the language was also a factor. It seems that as the language matures, there comes a point where tooling (and further evolvability!) becomes important enough to justify the huge undertaking of rewriting the entire compiler. I wonder when will Rust reach that phase...
- steveklabnik 8y agoWe’ve already been in the process of it.