01-安装
安装 Clippy(rustup 或源码)
2 分钟阅读
译文 · 基于 Clippy Documentation
一组用于发现常见错误并改进 Rust 代码的 lint。
Lint 按类别划分,每个类别都有默认的 lint 级别。你可以通过按类别调整 lint 级别,来控制 Clippy 对你的「帮助」程度。
| 类别 | 说明 | 默认级别 |
|---|---|---|
clippy::all | 默认启用的所有 lint(correctness、suspicious、style、complexity、perf) | warn/deny |
clippy::correctness | 明显错误或毫无用处的代码 | deny |
clippy::suspicious | 很可能错误或毫无用处的代码 | warn |
clippy::style | 应以更地道方式编写的代码 | warn |
clippy::complexity | 用复杂方式完成简单事情的代码 | warn |
clippy::perf | 可以写得更快运行的代码 | warn |
clippy::pedantic | 相当严格或偶有误报的 lint | allow |
clippy::restriction | 限制使用某些语言与库特性的 lint1 | allow |
clippy::nursery | 仍在开发中的新 lint | allow |
clippy::cargo | 针对 Cargo manifest 的 lint | allow |
更多内容敬请期待;如有想法请 提交 issue!
restriction 类别绝不应整体启用。其中 lint 可能针对完全合理的代码、可能没有替代建议,也可能与其他 lint(包括其他类别)冲突。启用前应逐个 lint 权衡。
restriction lint 的一些用例包括:
clippy::else_if_without_else)。clippy::todo)。clippy::unwrap_used)。#[forbid(clippy::float_arithmetic)])。安装 Clippy(rustup 或源码)
cargo clippy 与 clippy-driver 用法
clippy.toml 与 lint 级别配置
各 lint 分类说明
扩展 Clippy 的 crate 属性
在 CI 中运行 Clippy
参与 Clippy 开发入门