为什么 `rust-analyzer.cargo.features` 不更改保存检查(VSCode 扩展)的功能?

Why does `rust-analyzer.cargo.features` not change the features for the save check (VSCode Extension)?

我正在做一个 Rust 项目,你必须选择一些特征来决定线性规划模块来编译项目。通常,我可以 运行 检查 cargo check --features lp_coincbc,blas_openblas-system 并且一切正常。然而,Rust Analyzer VSCode Extension 给我错误(compile_error!s 内置到项目中)即使我在我的 VScode settings.json 文件中设置了这个。

# ~/.config/Code/User/settings.json
{
  ...
  "rust-analyzer.cargo.features": [
    "lp_coincbc",
    "blas_openblas-system"
  ],
  ...
}

我进一步检查了 rust-analyzer.checkOnSave.features,它应该默认为 rust-analyzer.cargo.features,所以我在这里真的很困惑。任何帮助将不胜感激。

编辑:包括语言服务器跟踪配置(删除字符限制)。

编辑 2:使用 RA_LOG="flycheck=info"(已删除字符限制)。

编辑 3:Rust 分析器语言服务器面板:

[INFO flycheck] restart flycheck "cargo" "check" "--workspace" "--message-format=json" "--manifest-path" "/home/ihowell/Projects/rl/nnv-rs/Cargo.toml" "--all-targets" "--features" "lp_coincbc blas_openblas-system"

编辑 4:mod.rs

中的错误副本
[{
    "resource": "/home/ihowell/Projects/rl/nnv-rs/src/lib.rs",
    "owner": "rust",
    "severity": 8,
    "message": "error: Must enable one of \"blas_{{intel_mkl,openblas-system}}\"",
    "startLineNumber": 43,
    "startColumn": 9,
    "endLineNumber": 43,
    "endColumn": 85
}]

对于那些遇到这个问题的人来说,Rust Analyzer 并不是这里的实际问题。相反,还有另一个插件 cargo 也在执行检查但没有指定的功能。卸载插件后一切正常

我发现这是这个问题的方法是按照@ChayimFriedman 的建议分析实际报告问题的原因。由于没有人声称错误,所以它不可能是 Rust Analyzer,因为当它报告错误时,源代码显示 rust-analyzer。这让我查看了安装的其他插件。