Привет! Сегодня рассмотрим инструмент, который поможет вам с низкоуровневым кодом на Rust. Если вы пишете на Rust только безопасный код, возможно, никогда о нём не слышали.А вот тем, кто периодически заглядывает в тёмные уголки unsafe, этот инструмент сэкономит нервишки. Читать далее
Прекрасная толстовка Miri, представленная на этой странице – нежная модель, от которой так и веет свежестью весеннего утра. Эта вещь изготовлена наполовину из современного премиального материала лиоцелл, который прекрасно пропускает воздух и впитывает влагу, обладает повышенной прочностью, не мнется, сохраняет постоянную температуру тела и к тому же является экологически чистым. Особенности модели: — поверхность толстовки […]
Полгода я давал LLM писать unsafe Rust в боевых проектах и разбирал каждый блок под miri и санитайзерами. Категории ошибок, которые модели делают стабильно: aliasing, провенанс, layout в alloc/dealloc, забытый ManuallyDrop, гонки в FFI-колбэках, ручные Send/Sync, uninit-память, Pin. Каждая категория идёт с минимальным примером и фиксом. Читать далее
В прошлой статье я писал, что компилятор — первый ревьюер кода, который написал агент. У этой идеи есть слепое пятно, и я в него наступил: конкурентность. Компилятор проверяет типы, go vet проверяет десяток известных шаблонов, -race ловит гонки данных. А горутина, которая никогда не завершится, — это не ошибка типов и не гонка. Код, который не слышит отмену, — тоже. Читать далее