# clippy [clippy] is the tool for Rust static analysis. ## Run Locally The mozlint integration of clippy can be run using mach: ```{eval-rst} .. parsed-literal:: $ mach lint --linter clippy # Return warnings $ mach lint --warnings --linter clippy ``` :::{note} clippy expects a path or a .rs file. It doesn't accept Cargo.toml as it would break the mozlint workflow. ::: To use Rust nightly, you can set the environment variable `RUSTUP_TOOLCHAIN` to `nightly`: % parsed-literal: % % # Note that you need to have nightly installed with Rustup % # A clobber might be necessary after switching toolchains % $ RUSTUP_TOOLCHAIN=nightly ./mach lint --warning -l clippy . ## Configuration To enable clippy on new directory, add the path to the include section in the {searchfox}`clippy.yml ` file. To enable additional clippy rules beyond the defaults, add them to the `warn` or `deny` lists in [clippy.yml](https://searchfox.org/mozilla-central/source/tools/lint/clippy.yml): ```yaml warn: - needless_return deny: - some_critical_lint ``` The full list of available lints is at . ## Sources - {searchfox}`Configuration (YAML) ` - {searchfox}`Source `