Представлен открытый проект tmux-rs — версия терминального мультиплексора tmux на Rust
Разработчик Колин Ричардс представил открытый проект под названием tmux‑rs. Это первая альфа‑версия порта терминального мультиплексора tmux, написанная на языке программирования Rust.
В описании порта указано, что этот проект находится в стадии альфа-тестирования и имеет множество известных ошибок. tmux-rs написан на почти полностью unsafe Rust. Автор решения советует не использовать эту наработку в том случае, если кто-то не готов мириться с частыми сбоями.
«Около 6 месяцев я тихо портировал tmux с C на Rust. Недавно я достиг большой вехи: кодовая база теперь на 100% (unsafe) Rust. Я хотел бы поделиться процессом портирования исходной кодовой базы с ~67 000 строк кода C на ~81 000 строк Rust (исключая комментарии и пустые строки). Вы можете спросить: зачем вы переписали tmux на Rust? И да, у меня нет на это веской причины. Это хобби‑проект. Как садоводство, но с большим количеством ошибок сегментации», — написал Ричардс в подробном технической публикации в своём блоге по этому проекту.
В ходе разработчик проекта Ричардс не использовал ИИ. Он пробовал задействовать Cursor, но в итоге разработчику пришлось потратить столько же времени на просмотр сгенерированного кода, сколько потребовалось на то, чтобы написать его самому. После этого Ричардс отказался от ИИ-помощников и всё делал вручную.
Ричардс изначально пытался сделать порт с помощью C2Rust, транспилятора C в Rust. Этот инструмент оказался сложным в настройке, а сгенерированный им код хоть и работал, но был в основном неподдерживаемым и в три раза больше, чем исходный C.
В итоге Ричардс решил делать порт полностью самостоятельно, выработав чёткое понимание того, как должен быть построен проект. Для tmux это autotools. Он выяснил, куда добавлять/удалять файлы в autogen.sh
Читать на habr.com