L’auteur a entièrement réécrit tmux de C en Rust sur environ six mois.
La première approche avec C2Rust a généré un code non maintenable, menant à une traduction manuelle.
Le processus de compilation, initialement basé sur autotools et Cargo, a été simplifié grâce à build.rs et au crate cc.
Plusieurs bugs sont apparus lors du portage, dus à des déclarations implicites en C et à des erreurs de correspondance de types.
Des concepts C comme les pointeurs bruts, les macros intrusives et le goto ont été adaptés en Rust.
Le parser Yacc a été réimplémenté avec lalrpop, permettant d’éliminer le dernier code C.
L’auteur a utilisé Vim et testé des outils IA, concluant qu’ils aident mais n’accélèrent pas significativement.
Le projet est désormais 100 % en Rust unsafe et l’étape suivante vise la conversion en Rust safe.
Get notified when new stories are published for "🇫🇷 Hacker News Français"