Ladybird wechselt zu einer teilweisen Nutzung von Rust anstelle von C++. Die Entwickler haben lange nach einer speichersicheren Alternative gesucht: Swift war wegen der schwachen Interaktionsmöglichkeiten mit C++ und der begrenzten UnterstĂŒtzung auĂerhalb von Apple nicht geeignet. Rust hat sich als besser herausgestellt: reife Ăkosystem, viele Mitwirkende kennen die Sprache bereits, und Firefox und Chromium verwenden sie bereits.
Zuerst wurde LibJS portiert - die JavaScript-Engine (Lexer, Parser, AST, Bytecode-Generator). Die Arbeit wurde von einer Person mit Hilfe von Claude Code und Codex durchgefĂŒhrt: ~25.000 Zeilen Rust in zwei Wochen anstelle von mehreren Monaten manuell. Das Ergebnis - vollstĂ€ndige IdentitĂ€t der Ausgabewerte mit der C++-Version, null Regressionen in den Tests (52.898 Tests test262, 12.461 eigene Tests).
Der Code ist absichtlich stilistisch nah am C++-Original â die IdiomatizitĂ€t wird spĂ€ter kommen. Ein vollstĂ€ndiger Wechsel zu Rust ist nicht geplant: C++ und Rust werden koexistieren, und die Portierung wird schrittweise und unter der Leitung des Hauptteams erfolgen.
Quelle: linux.org.ru
