New proc-macro server RPC API #19205
Labels
A-proc-macro
proc macro
C-Architecture
Big architectural things which we need to figure up-front (or suggestions for rewrites :0) )
The current proc-macro server RPC API is reaching its limits preventing us from implementing more of the proc-macro API.
The current API is effectively a serial JSON based client to server request-response via stdout. That is the client (rust-analyzer, RustRover) makes a request to the proc-macro server process via JSON message and then receives a response from the server. Notably these requests cannot interleave (the proc-macro server is sequential).
This has a couple of downsides:
Notably an implementation of this needs to live side by side with the old protocol for a transition period as the proc-macro server is a rustup component that IDEs rely on.
Relevant crates:
The text was updated successfully, but these errors were encountered: