主要观点:Rust 编译器默认带有一些有用的 lint,部分用 Clippy 提供额外 lint,文中介绍了多种默认允许的 lint 及其作用、用途及注意事项。
关键信息:
- 介绍了“allowed-by-default”lints 的查找位置。
- 详细阐述了 13 种 lint,包括 Anonymous Parameters、Box Pointers 等,分别说明其产生背景、作用及使用注意。
重要细节: - Rust 2015 允许在 trait 定义中省略参数名,2018 年移除支持;现在需用
_
忽略值。 - 早期需实现自己的
Box
来改变默认分配器,如今可自由更改,该 lint 也有其用途。 - 省略 lifetime 有优缺点,此 lint 要求路径中不省略 lifetime 以保证语义清晰。
- 一般应实现
Copy
等 trait,但有些类型不应实现,可通过属性设置。 Debug
trait 用于调试但有些类型不应实现,也有编译成本。- 各种 lint 如缺少文档、单一生存期等在不同情况下的作用及注意点。
- 一些 lint 并非对所有代码都适用,如开始时无需关注缺少文档。
- 文中还纠正了关于 Anonymous Parameters 和 Bare Trait Objects 的错误描述。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。