miri.
Я дал LLM писать unsafe Rust полгода. Miri плакал
Этот код прошёл мои code review, ревью второго коллеги, тесты, CI с clippy и десять дней работал в проде:let mut out = Vec::with_capacity(estimated_size); let written = unsafe { decompress(input.as_ptr(), input.len(), out.as_mut_ptr(), out.capacity()) }; unsafe { out.set_len(written) }; Один сегфолт на каждые 800 тысяч запросов внутри C-библиотеки. Расследование заняло три дня.Этот код написал не джуниор. Этот код написал Claude Sonnet, я одобрил на ревью, второй ревьюер одобрил тоже. Корень я разберу в конце статьи, когда станет понятно, почему именно так пишет почти каждая модель и почему почти каждый ревьюер это пропускает.
Я заставил LLM писать Rust полгода. Вот что они стабильно ломают
Полгода я использовал Claude, GPT и Cursor как основной инструмент для написания Rust-кода в проде. Не как «помощник для бойлерплейта», а как полноценного второго разработчика на монолите примерно в 80 тысяч строк (бэкенд обработки потоковых данных, tokio, sqlx, немного unsafe в hot path). Доля сгенерированного кода в коммитах последних шести месяцев около 40%, остальное это правки, рефакторинг и места, куда модель я не пускаю.

