Eh rust still has issues in some domains, e.g., when cyclic data is appropriate. You can do it, but it's annoying. To me, Haskell is really peak programming, but I know that's opinionated and most won't agree.
Vscode can do cross-file renames in pretty much any language. An LSP that doesn't support this is not doing its job.