---
type: JS Module
title: main.mjs
resource: npm/rules/rust/check/main.mjs
docgen:
  crc: 06055f8e
  model: omlx/gemma-4-e4b-it-OptiQ-4bit
  score: 100
  judgeModel: openai-codex/gpt-5.4-mini
---

## Огляд

Файл реалізує lint-поверхню для Rust, використовуючи команди `cargo fmt`, `clippy` та `deny` для автоматизованої перевірки та форматування коду в робочому каталозі. Поведінка супроводжується повідомленнями, описаними в `rust.mdc`.

## Поведінка

Поведінка:

1. Якщо в робочому каталозі відсутній файл `Cargo.toml`, операція лінту для Rust пропускається.
2. Якщо інструмент `cargo` не знайдено в системному PATH, операція лінту завершується з помилкою.
3. Виконується форматування коду за допомогою `cargo fmt`. Якщо режим `readOnly` активовано, перевіряється лише відповідність формату; інакше, застосовується форматування.
4. Якщо режим `readOnly` не активовано, запускається автоматичне виправлення стильових проблем за допомогою `cargo clippy --fix`.
5. Після виправлення стилів, виконується перевірка на наявність попереджень за допомогою `cargo clippy -D warnings`.
6. Перевіряється наявність файлу `deny.toml`.
7. Якщо `deny.toml` відсутній і режим `readOnly` активовано, фіксується помилка, вказуючи на необхідність ручного запуску для його генерації (rust.mdc).
8. Якщо `deny.toml` відсутній і режим `readOnly` не активовано, він створюється з дефолтним списком дозволених ліцензій.
9. Якщо `deny.toml` присутній і інструмент `cargo deny` встановлений, виконується перевірка ліцензій за допомогою `cargo deny check licenses`.
10. Якщо інструмент `cargo deny` не встановлений, перевірка ліцензій пропускається.

## Публічний API

lint — забезпечує відповідність коду специфічним стандартам поверхні Rust.

## Гарантії поведінки

- (специфічних машинно-виведених гарантій немає)
