You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Dec 29, 2022. It is now read-only.
While rust-analyzer is the preferred LSP solution, rust-analyzer still cannot fully replace RLS and RLS is still a tested submodule of rustc, and will likely be used for some time by the community. Accordingly, RLS could use a little tender love and care to its dependency tree, as rust-analyzer has gotten most of the action here.
A main source of "dependency decay"... dependence on old code that isn't getting much security/compat/enhancement maintenance... is the usage of mostly pre-async/await code in RLS and its dependencies. This currently keeps RLS stuck on an older version of futures and tokio. There are three major, obvious options:
Write some blocking JSON IPC as suggested here Remove duplicate dependencies for rustc itself rust#75704 (comment)
Pros: Less dependence on complicated/newer features. Simplifies dependency tree greatly.
Cons: Forfeiting async benefits, more effort, taking on maintenance burden directly
The text was updated successfully, but these errors were encountered:
While rust-analyzer is the preferred LSP solution, rust-analyzer still cannot fully replace RLS and RLS is still a tested submodule of rustc, and will likely be used for some time by the community. Accordingly, RLS could use a little tender love and care to its dependency tree, as rust-analyzer has gotten most of the action here.
A main source of "dependency decay"... dependence on old code that isn't getting much security/compat/enhancement maintenance... is the usage of mostly pre-
async/await
code in RLS and its dependencies. This currently keeps RLS stuck on an older version of futures and tokio. There are three major, obvious options:Pros: Lazy!
Cons: Parity began work on
jsonrpsee
to replace it, so it may never be moved fully over to tokio 0.2Pros: Newer, maintained dep, eventually no loss of features?
Cons: New, untested, possibly feature-incomplete for RLS' use-case.
Pros: Less dependence on complicated/newer features. Simplifies dependency tree greatly.
Cons: Forfeiting async benefits, more effort, taking on maintenance burden directly
The text was updated successfully, but these errors were encountered: