编译器 Lint 和 Clippy

Rust 编译器会生成出色的错误消息,并提供实用的内置 lint 功能。Clippy 提供了更多 lint 功能,采用按组分类方式,并可按项目灵活启用。

#[deny(clippy::cast_possible_truncation)]
fn main() {
    let x = 3;
    while (x < 70000) {
        x *= 2;
    }
    println!("X probably fits in a u16, right? {}", x as u16);
}
This slide should take about 3 minutes.

运行代码示例并检查错误消息。此处还会显示一些 lint,但是一旦完成代码编译,就不会再显示这些 lint。切换到 Playground 网站以显示这些 lint。

解析完 lint 之后,请在 Playground 网站上运行 clippy,以显示 clippy 警告。Clippy 提供了大量的 lint 文档,并且在不断添加新的 lint(包括默认拒绝 lint)。

请注意,带有 help: ... 的错误或警告可以通过 cargo Fix 或编辑器进行修复。