Linting

clippy 是一个lint集合,可以帮你发现Rust代码中常见的错误。 clippy很不错,甚至可能可以帮你提升性能——有些涉及到代码模式的lint,可能会导致次优性能。

基本使用

安装后,运行很简单:

cargo clippy

性能lint的完整列表可以在这里查阅,把Perf以外的组全部取消勾选即可。

让代码运行更快的同时,性能lint建议通常也会让你的代码更简洁,更地道。 因此它们值得遵循,哪怕并不是频繁执行的代码。

Disallowing Types

在接下来的章节我们会了解到,有时我们可以使用比标准库类型更快的替代。 使用时,你很可能在哪里不小心使用了标准库类型。

你可以使用 clippydisallowed_types lint(自Rust 1.55加入),避免这个问题。 比如,你不想使用标准库的散列表(原因在Hashing小节),可以将以下内容保存到你的项目中的 clippy.toml 文件:

disallowed-types = ["std::collections::HashMap", "std::collections::HashSet"]

然后将以下声明加入到你的Rust代码中:

#![allow(unused)]
#![warn(clippy::disallowed_types)]
fn main() {
}

你需要手动加上这一行,因为 disallow_types 目前是一个 “nursery”(正在开发)的lint。