Кто-то перевёл весь компилятор Rust в 46 миллионов строк на C
crustc — это rustc целиком, превращённый в примерно 46 миллионов строк на C, которые собираются через GCC и make. Это демо трёхлетнего проекта Rust-в-C, чья настоящая ценность — запустить Rust на железе, у которого нет современного бэкенда компилятора.
Смысл не в 46-миллионном артефакте, а в инструменте, который его выдал. Компилятор «cilly» прощупывает целевой C-компилятор крошечными свидетельскими программами вместо допущений сверх ANSI C и компилирует по сети. И «неподдерживаемая платформа» больше не упрёк Rust.
Тред нашёл полезные применения. Экс-разработчик компиляторов одобрил проект. Другие указали на упрощённый бутстрап Rust и трюк безопасности: через Diverse Double-Compiling проверить, нет ли в rustc бэкдора. Справедлив и вопрос скептика: кто доверит экзотику бета-транспайлеру?
Что такое crustc и зачем он нужен
В crustc уместился весь компилятор Rust (rustc 1.98.0-nightly), переведённый примерно в 46 миллионов строк на C, которые собираются через GCC и make. Это демонстрационный вывод «cilly», компилятора Rust-в-C от автора: около трёх лет работы и, по его счёту, 14-я попытка. Дело не в гигантском C-блобе, а в возможности: запустить Rust на старом или малоизвестном железе без бэкенда LLVM или GCC (в пример приводят Plan 9), чтобы «неподдерживаемые платформы» перестали быть законным аргументом против языка. Cilly подстраивается, генерируя маленькие свидетельские программы, которые прощупывают реальное поведение целевого C-компилятора (раскладку типов, выравнивания), а не полагаются на что-то сверх ANSI C, и поддерживает сетевую компиляцию по TCP. Полный тулчейн ещё не выпущен: автор ссылается на новую работу, университет и, что запоминается, травму от блендера («Блендер победил. Все пальцы на месте, только пара швов»).
Тред нашёл реальные применения и реальное сомнение
Одобрение весило из-за того, кто его дал:
«Как бывший разработчик компиляторов C++, я от души одобряю этот проект. Респект.» — бывший разработчик компиляторов C++
Выделились два применения. Бутстрап:
«Это можно использовать в рамках bootstrappable.org… чтобы сделать бутстрап Rust несравнимо проще прежнего пути через OCaml и прочее.» — комментатор, знакомый с сообществом bootstrappable-OS
И проверка безопасности, превращающая транспайлер в инструмент доверия:
«Пробовали Diverse Double-Compiling (DDC), чтобы проверить, нет ли в официальном компиляторе Rust бэкдора? Скомпилируйте исходники Rust через crustc, получив новый компилятор. Затем этим новым компилятором и официальным бинарником rustc… снова скомпилируйте исходники Rust. Оба результата должны совпасть бит в бит.» — комментатор, предлагающий конкретную процедуру проверки доверия
Справедливый скепсис касается того, для кого это на самом деле:
«крайне маловероятно, что тот, кто целится в экзотическую систему без поддержки rust… согласится довериться бета-транспайлеру и понадеяться, что тот не внесёт багов или утечек по пути.» — читатель, рассуждающий об аудитории из встраиваемых систем и мейнфреймов
В этом напряжении вся суть. Как практический инструмент портирования он ещё должен заслужить доверие, которого пока нет. А как результат труда он впечатляет редким для 2026-го качеством: очевидно не демо LLM, а три года упрямства одного человека ради того, чтобы язык заработал там, где его запустить никто не удосужился.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
ИИ-сайт выдумал журналистку, чтобы оплакать смерть настоящих новостей
«Мишель Куэйд», 52 года, носила поло с логотипом своей газеты у сердца. Её никогда не существовало — это выдуманный персонаж ИИ-издания, которое штампует фейки о том, как ИИ убивает местную журналистику.