按我个人经验的话,Intellij Rust plugin 相对 rust-analyzer 更稳定一些。rust-analyzer 有时候会出现无法输出 outline 以及无法 go to definition 的情况,需要 reload window
但两个插件都存在一些 badcase,会认为一些可以正常编译的代码存在问题。宏是比较容易出现问题的地方,我猜是插件对于宏的实现与 rustc 有些差异
第二个的 Unresolved reference: enumerate
,我试了一下,如果增加一行 “use std::iter::Iterator as StdIterator;”,就可以消掉这个 error。这里的 enumerate 是通过 trait Itertools: Iterator 获得的。可能是 Rust plugin 不能很好的处理这种情况
最后,afl 编译失败。很久之前我也遇到过,但我忘记当时是怎么解决的了。从网上的一些资料看,可能跟你的编译环境有关(https://reverse.put.as/2017/07/10/compiling-afl-osx-llvm-mode/ )。如果不是最新版本的 macos 以及 xcode toolchain,我觉得可以升级到最新试试
另外,https://github.com/tikv/tikv/issues/7675 有介绍如何如何跳过 afl (–exclude fuzzer-afl),也可以尝试一下