tree: 54f437da7f8d7d54083188ee23f4f0aa91b82864 [path history] [tgz]
  1. continuous_integration/
  2. development/
  3. attribs.md
  4. configuration.md
  5. installation.md
  6. lint_configuration.md
  7. lints.md
  8. README.md
  9. SUMMARY.md
  10. usage.md
book/src/README.md

Clippy

### IMPORTANT NOTE FOR CONTRIBUTORS ================


License: MIT OR Apache-2.0

A collection of lints to catch common mistakes and improve your Rust code.

There are over 750 lints included in this crate!

Lints are divided into categories, each with a default lint level. You can choose how much Clippy is supposed to annoy help you by changing the lint level by category.

CategoryDescriptionDefault level
clippy::allall lints that are on by default (correctness, suspicious, style, complexity, perf)warn/deny
clippy::correctnesscode that is outright wrong or uselessdeny
clippy::suspiciouscode that is most likely wrong or uselesswarn
clippy::stylecode that should be written in a more idiomatic waywarn
clippy::complexitycode that does something simple but in a complex waywarn
clippy::perfcode that can be written to run fasterwarn
clippy::pedanticlints which are rather strict or have occasional false positivesallow
clippy::restrictionlints which prevent the use of language and library features[^restrict]allow
clippy::nurserynew lints that are still under developmentallow
clippy::cargolints for the cargo manifestallow

More to come, please file an issue if you have ideas!

The restriction category should, emphatically, not be enabled as a whole. The contained lints may lint against perfectly reasonable code, may not have an alternative suggestion, and may contradict any other lints (including other categories). Lints should be considered on a case-by-case basis before enabling.

[^restrict]: Some use cases for restriction lints include: - Strict coding styles (e.g. clippy::else_if_without_else). - Additional restrictions on CI (e.g. clippy::todo). - Preventing panicking in certain functions (e.g. clippy::unwrap_used). - Running a lint only on a subset of code (e.g. #[forbid(clippy::float_arithmetic)] on a module).