tmux-rs: Un viaje de 100.000 líneas de código de C a Rust (inseguro)

2025-07-03

Durante seis meses, el autor pacientemente portó las ~67.000 líneas de código C de tmux, el multiplexor de terminal, a Rust, resultando en una base de código de ~81.000 líneas. Los intentos iniciales usando el transpilador C2Rust resultaron difíciles, llevando a una reescritura manual. El autor detalla el proceso de construcción, los errores encontrados y las estrategias para convertir los idioms de C a Rust, incluyendo el manejo de punteros sin procesar, instrucciones goto y macros intrusivas. El proyecto culmina en una reimplementación basada en lalrpop del analizador yacc, logrando una migración completa de C a Rust y culminando en un lanzamiento 0.0.1. El viaje muestra los desafíos y recompensas del porting de código a gran escala.

Desarrollo C a Rust