Der Autor hat tmux in etwa sechs Monaten vollständig von C in (unsafe) Rust portiert.
Zunächst wurde das Tool C2Rust verwendet, doch der generierte Code war unübersichtlich, weshalb der Autor auf manuelles Übersetzen umstieg.
Der Buildprozess kombiniert Autotools und Cargo über ein eigenes build.sh-Skript, später wurde ein Rust-Binary mit C-Code über die cc-Crate erstellt.
Zwei typische Übersetzungsfehler (implizite C-Funktionsdeklaration und falscher Zeigertyp im Struct) führten zu Segfaults und wurden durch korrekte Deklarationen behoben.
Für C-Konstrukte wie rohe Zeiger, goto und intrusive Datenstrukturen wurden in Rust entsprechende Lösungen entwickelt.
Der Yacc-Parser wurde mit dem Rust-Parser-Generator lalrpop nahezu eins zu eins nachgebaut.
Beim Übersetzen halfen Vim-Makros zur Automatisierung und gelegentlich AI-Tools, die jedoch nur marginal Zeit einsparten.
Version 0.0.1 wurde veröffentlicht und als nächstes Ziel steht die Umstellung auf sicheren Rust-Code an.
Get notified when new stories are published for "🇩🇪 Hacker News Deutsch"