Clippy
- title
- Clippy
- type
- entity
- summary
- Официальный линтер Rust: сотни проверок в десяти категориях с настройкой для отдельных crate'ов или всего workspace через Cargo.toml
- tags
- rust, linting, tooling
- sources
- clippy-stricter-config
- 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-агентов.
Ссылки
- Индекс проверок: https://rust-lang.github.io/rust-clippy/master/index.html
- Документация: https://doc.rust-lang.org/stable/clippy/