如果没有错误,我如何仅显示警告?

Mar*_*ark 8 compiler-errors compiler-warnings rust rust-cargo

通常在开发过程中,我有一堆未使用的导入和变量。我喜欢我有正确工作的代码修复这些。这些生成的警告使我滚动cargo build输出以在所有警告中查找错误。

如果编译成功,是否可以只显示警告?

我不想完全忽略这些警告,因为我确实想在提交代码之前解决它们。

rod*_*igo 13

您可以使用标志来抑制编译中的警告-Awarnings。如果您使用 Cargo,您可以通过以下方式添加它:

cargo rustc -- -Awarnings
Run Code Online (Sandbox Code Playgroud)

这将在禁用警告的情况下编译您的包,因此只会显示错误。编译成功后,可以切换回:

cargo build
Run Code Online (Sandbox Code Playgroud)

您的箱子将再次编译(因为标志已更改,目标不再是最新的),您将收到详细的警告。

您可以尝试通过运行以下命令来自动化它们:

cargo rustc -- -Awarnings && cargo build
Run Code Online (Sandbox Code Playgroud)

这样做的缺点是,如果没有错误,则需要编译两次包,并且可能需要一些额外的时间。

如果你想编译所有依赖项而不出现警告,你可以运行:

RUSTFLAGS=-Awarnings cargo build
Run Code Online (Sandbox Code Playgroud)

但是,双重编译问题更为相关。


作为旁注,我认为某些 IDE(VSCode?)能够做到这一点:对编译器消息进行排序并过滤掉您不感兴趣的消息。


小智 5

您正在寻找:

cargo install cargo-limit; cargo lcheck
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅https://github.com/alopatindev/cargo-limit/blob/master/README.md 。