emacs中rust配置版本问题

环境:

  • emacs中rust是直接用的rustic
  • rustc 1.76.0 (07dca489a 2024-02-04)
  • rust-analyzer 0.0.0 (037924c4d 2024-03-03)

但是运行为啥报错说是我用的是Rust 2015

我电脑上明明是更新到最新的Rust版本,rust-analyzer也是最新的

是哪里配置的问题吗? 感觉LSP对了就没问题了啊

还是rustic用的rust-analyzer和我电脑上的是不一样的?

可以在项目的 Cargo.toml 文件中,设置下 package editon 参数,比如: 图片

Rust 2015 是语法版本不是编译器版本。rust-analyzer 的jsonrpc参数里面有相关的字段,但是配置选项里面没有相关的字段。到这我也不懂了,不知道是cargo的问题还是rustic还是lsp客户端的问题。

应该不是这个问题。edition是2021

怎么看jsonrpc参数?

我在 rust-analyzer 官网页面上看的 User Manual 。不好意思,看叉了,不是jsonrpc参数是rust project的json数据格式。

不过你这个是编译报错,lsp看图片是没问题的。那就是rustc和cargo编译的时候把edition识别成了2015了。

那也不对啊,toml文件里面edition是2021

配置下 lsp rust 来强制指定 cargo 参数试试:

(setq lsp-rust-analyzer-cargo-watch-args [“–all-features”, “–edition”, “2018”])