Autor przeniósł kod tmux z C do Rustu, uzyskując kod w trybie unsafe po odrzuceniu nadmiernie rozbudowanego kodu wygenerowanego przez C2Rust.
Początkowe podejście z C2Rust generowało kod 3× większy i nieczytelny, co skłoniło do ręcznej translacji każdej funkcji.
Proces budowania łączył Autotools, Cargo i skrypty build.sh, a finalnie uproszczono go za pomocą crate cc i pliku build.rs.
W trakcie translacji autor napotkał błędy wynikające z niezgodnych prototypów C i źle odwzorowanych typów, które naprawiono poprawiając deklaracje.
W Rust zaimplementowano wzorce z C, m.in. surowe wskaźniki, symulację goto przez etykiety i pętle oraz inwazyjne makra drzew RB.
Parser yacc zastąpiono gramatyką lalrpop, co pozwoliło na całkowite usunięcie pozostałego kodu C.
Do przyspieszenia refaktoryzacji użyto makr w Vimie, a narzędzia AI jak Cursor pomagały głównie w redukcji pracy manualnej.
Wersja 0.0.1 jest dostępna, a kolejnym celem jest eliminacja kodu unsafe i pełne przejście na bezpieczny Rust.
Get notified when new stories are published for "🇵🇱 Hacker News Polski"