EnglishРусский Map

Clippy

title
Clippy
type
entity
summary
Официальный линтер Rust: сотни проверок в десяти категориях с настройкой для отдельных crate'ов или всего workspace через Cargo.toml
tags
rust, linting, tooling
created
2026-04-30
updated
2026-04-30
lang
ru
translation_of
clippy
source_updated
2026-04-30
translated
2026-09-01
translator
lllm/antigravity/gemini-3.7-flash-medium

Clippy - официальный линтер Rust, который распространяется как компонент rustup (rustup component add clippy) и запускается через cargo clippy. Он включает сотни проверок, разбитых на десять категорий: Correctness, Suspicious, Complexity, Perf, Style, Pedantic, Restriction, Cargo, Nursery, Deprecated.

У конфигурации Clippy есть две точки настройки:

  • Cargo.toml [lints.clippy] (или [workspace.lints.clippy]) - включает и отключает проверки и задаёт их уровень строгости (warn, deny, allow).
  • clippy.toml - параметры настройки отдельных проверок, включая послабления для тестов (например, allow-unwrap-in-tests = true).

Категории - это не тумблеры

Группировка по категориям весьма условна. В частности, про restriction в документации прямо сказано: включать категорию целиком категорически не рекомендуется. В ней содержатся взаимоисключающие проверки (например, big_endian_bytes и little_endian_bytes). Есть даже мета-проверка blanket_clippy_restriction_lints, которая ловит подобные попытки. Документация Clippy рекомендует включать правила точечно.

Подводный камень с наследованием во workspace

Секция [workspace.lints.clippy] не наследуется автоматически. Каждый crate в составе workspace должен явно подключить её через lints.workspace = true. В nightly для контроля этого есть проверка missing_lints_inheritance; на stable обходным путём служит инструмент cargo-workspace-lints или shell-скрипт в CI.

Материалы в вики

  • clippy-stricter-config - подборка проверок от Эвана Шварца (Evan Schwartz) для отлова паник, потерянных future, проглоченных ошибок и граблей в асинхронном коде; подаётся как защитный барьер для coding-агентов.

Ссылки

Sub-pages