Files
sousa-gecko/docs/code-quality/lint/linters/clippy.md
T

1.3 KiB

clippy

[clippy] is the tool for Rust static analysis.

Run Locally

The mozlint integration of clippy can be run using mach:

.. parsed-literal::

    $ mach lint --linter clippy <file paths>

    # Return warnings

    $ mach lint --warnings --linter clippy <file paths>

:::{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 <tools/lint/clippy.yml> file.

To enable additional clippy rules beyond the defaults, add them to the warn or deny lists in clippy.yml:

warn:
    - needless_return
deny:
    - some_critical_lint

The full list of available lints is at https://rust-lang.github.io/rust-clippy/master/.

Sources

  • {searchfox}Configuration (YAML) <tools/lint/clippy.yml>
  • {searchfox}Source <tools/lint/clippy/__init__.py>