Части от Ladybird се пренаписват в Rust, използвайки LLM

Ladybird преминава към частично използване на Rust вместо C++. Разработчиците отдавна търсеха алтернатива, безопасна за паметта: Swift не беше подходящ поради слабата си оперативна съвместимост с C++ и ограничената поддръжка извън Apple. Rust се оказа по-добър: има зряла екосистема, много сътрудници вече познават езика, а Firefox и Chromium вече го използват.

Първият портиран беше LibJS, JavaScript енджин (лексер, парсер, AST, генератор на байткод). Работата беше извършена от човек, използващ Claude Code и Codex: ~25 000 реда Rust бяха портирани за две седмици, в сравнение с няколко месеца ръчна работа. Резултатът беше напълно идентичен изход с C++ версията, с нулеви регресии в тестовете (52 898 теста test262, 12 461 персонализирани теста).

Кодът е умишлено стилистично близък до оригинала на C++ – идиоматичността ще се появи по-късно. Не се планира пълен преход към Rust: C++ и Rust ще съществуват едновременно, а портирането ще бъде постепенно и управлявано от основния екип.

Източник: linux.org.ru

Добавяне на нов коментар