Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлен crustc - компилятор rustc, переведённый на язык Си

03.07.2026 10:16 (MSK)

Опубликован crustc, компилятор для языка Rust, созданный путём трансляции кода штатного компилятора rustc 1.98.0-nightly на язык Си. На выходе получилось 46 млн строк кода на Си, которые можно собрать при помощи GCC и утилиты make. Собранный таким способом компилятор успешно проходит тесты компиляции Rust-кода, такого как стандартные rust-библиотеки.

Проект демонстрирует возможности находящегося в разработке компилятора cilly, позволяющего транслировать проекты с языке Rust на язык Си. Целью подобной трансляции является предоставление возможности сборки кода, изначально написанного на Rust, в системных окружениях и на архитектурах, не поддерживаемых компилятором rustc. На выходе генерируется код на ANSI С (C89), что потенциально позволит собирать проекты на устаревших системах, которые не поддерживаются в LLVM и GCC, но для которых имеется компилятор ANSI С. Компилятор cilly пока не доступен публично и будет опубликован после его доведения до готовности к широкому тестированию. Работа над проектом ведётся одним энтузиастом на протяжении трёх лет.

Cilly реализован в форме бэкенда для rustc, который транслирует внутреннее представление Rust в исходный код на языке Си. Особенностью cilly является то, что каждая трансляция производится с учётом конкретной платформы и целевого Си-компилятора, которым планируется собирать программу. На стадии проверки cilly формирует профиль целевого Си-компилятора, применяя тестирование на основе сборки набора мини-программ, оценивающих поддержку тех или иных возможностей (например, _Thread_local) и определяющих такие особенности платформы, как размеры типов, выравнивание данных в памяти и раскладка структур.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: NVIDIA опубликовала CUDA-oxide, компилятор из Rust в CUDA
  3. OpenNews: GCC-бэкенд достиг возможности полной раскрутки компилятора rustc
  4. OpenNews: Открытие кода Rust-компилятора Ferrocene
  5. OpenNews: DARPA развивает AI-транслятор для переписывания Си-кода на Rust
  6. OpenNews: Прогресс в разработке транслятора из Rust в код на Cи и .NET IR
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65834-crustc
Ключевые слова: crustc, rustc, cilly, compile
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:36, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +11 +/
    Вот это поворот!))
     
     
  • 2.21, Халявщик не корпораст (?), 11:30, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    - Вот это поворот!))

    Фигня. Но вот когда абизяна начнёт англицкий на си переводить, вот тогда решат проблемы с бананами по всей земле. Главное - системник с клавой и монитором поставить в огороде...

     
     
  • 3.23, Аноним (23), 11:46, 03/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.2, Аноним (23), 10:36, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Это что же получается, самый безопастный язык теперь небезопастный?
     
     
  • 2.19, онанист (?), 11:24, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    зависит от микрокода процессора ;-)
     

  • 1.3, Аноним (3), 10:38, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Ну все, скажите парням из OpenBSD что проблему доверия к компилятору rust теперь можно решитт; дело за малым, осталось только провести ревью 46 миллионов строк Си кода;)
     
     
  • 2.4, Аноним (4), 10:43, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это изначально не было проблемой, поскольку изначально rust был написан на ocaml.
     
     
  • 3.5, Аноним (3), 10:48, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да какая разница на чем он был изначально написан! Проблема доверия от этого никуда не исчезает.
     
     
  • 4.8, Аноним (4), 11:00, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Какая проблема доверия? Берите исходный код и читайте, или у вас лапки?
     
     
  • 5.12, Аноним (3), 11:10, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Удачи вам в ревью 46 миллионов кода на Си;)
     
  • 5.14, Аноним (14), 11:11, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Доверие к разрабам, которые сопровождают раст или ты предлагаешь мониторить их каждый комит?
     
  • 5.15, Аноним (3), 11:12, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже вы не совсем понимаете в чем суть Trusting Trust
     
     
  • 6.34, Аноним (34), 12:19, 03/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.6, Аноним (6), 10:54, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Еще бы Firefox вот так в Си оттрансливароть, чтоб вообще без раста собирался и без всяких llvm.
     
  • 1.7, Аноним (14), 11:00, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Т.е. теперь можно будет собрать раст не собирая раст?
     
  • 1.9, Аноним (9), 11:01, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интенсно нафига?
    Типа брать расткод (но его же пишут смузuхлебы, не то что Настоящие Сишники) превращать в СИ.
    Потому код меняется и... процесс повторять?
     
     
  • 2.11, Аноним (14), 11:06, 03/07/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.28, Аноним (28), 12:03, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Just for lulz
     

  • 1.10, Андрей (??), 11:06, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    "46 млн строк кода на Си"...
    И нафига?
     
     
  • 2.18, Аноним (3), 11:23, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Важен сам факт разрыва цепочки через Си-код и условный GCC, что позволит решить проблему Trusting Trust "математеческим бутсраппигом". Однако для "человеческого бутстраппинга", невозможность ревью означает, что проблема доверия остается нерешенной! Это одна из причин по которой, например OpenBSD не будут этим пользоваться. А вот для других проектов, этого будет вполне достаточно!
     
     
  • 3.26, Аноним (26), 12:01, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Это одна из причин по которой, например OpenBSD не будут этим пользоваться. А вот для других проектов, этого будет вполне достаточно!

    Эээ? а опенБздяшники они какие-то особенные?
    Такоей же сишный овнокод с CVE/RCE.

    Учитывая что оно нигде не нужно, то можно судить о её качестве.


     

  • 1.13, Анон1110м (?), 11:10, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Это не безопастно. Это святотатство.
     
     
  • 2.17, Аноним (9), 11:12, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не, оно может и безопасно (если не трогать)
    Но каждое изменение придется фарш проворачивать обратно.
    Что не выглядит как работа мечты)
     

  • 1.16, sdk3 (-), 11:12, 03/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.20, aname (ok), 11:28, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > позволяющего транслировать проекты с языке Rust на язык Си

    Это должно было появиться, рано или поздно

     
  • 1.22, Аноним (22), 11:38, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно было бы сравнить время компиляции компилятора на rust и на с.
     
  • 1.24, Аноним (24), 11:56, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ну теперь есть второй компилятор. Уже хорошо. Снижает риск бэкдоров в компиляторе.
     
     
  • 2.35, Аноним (35), 12:20, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нужен не компилятор, а стандарт. Тогда проблема доверия переместится с языка на реализацию. И ту уже все будет просто -- вы либо доверяете конторе, выпустившей реализацию компилятора или не доверяете.
    Если не будет стандарта, то доверие к языку появится через лет десять. после того, как он заморозится. В смысле, сорвременный компилятор будет генерировать бит в бит такой же код для эталонной программы, как и десятилетний.
    Лично для меня сигналом доверия будет тот факт, что rust-компилятор выпустит IBM.
     

  • 1.25, xsignal (ok), 12:01, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Никогда ещё Штирлиц не был так близок к провалу!))
     
  • 1.27, Аноним (27), 12:02, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну сишники, во дают, с тыла решили зайти!)
     
  • 1.29, Аноним (29), 12:06, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Ясно, теперь rustc не нужен. Очередное доказательство, что Си из-за своего простого синтаксиса и остальных удобств переживет всех и вся.
     
  • 1.30, Аноним (-), 12:11, 03/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уж простите зануду но TrustingTrust для раста давно решен с помощью mrustc, по крайней мере для x86_64.

    Эти бы усилия да на решению той же проблемы для  FreePascal. Который ничем кроме себя и античного делфи не собрать.

     
     
  • 2.33, Аноним (34), 12:16, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Уж простите зануду

    Ты просто зажился на этом свете. Тебе давно пора помирать.

    >Эти бы усилия да на решению той же проблемы для  FreePascal.

    Пакаль - мёртвый язык.

     

  • 1.31, Аноним (34), 12:11, 03/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.32, Аноним (34), 12:12, 03/07/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру