для Rust уже сейчас при работе с wasm и передаче туда-сюда данных мы пишем mem.forget, чтобы Rust не удалял переданные в js данные. А потом у wasm GC собирался появляться? Придется хитрые договоры писать между полуавтоочисткой памяти Rust и GC wasm. А с Zig можно просто взять и одной командой оттяпать себе кусок памяти. Вообще Rust популярен во многом из-за неправильного восприятия слова "safe", которое преподносится как его рекламная фишка.
Для кросс-компиляции Rust со своего linux в aarch64 (на телефон) придется ставить тулчейн Rust и кросс-компилятор C соответствующей архитектуры. Для кросс-компиляции zig достаточно поставить zig, он кросс-компилируется без зависимостей, к тому же может компилировать Си и содержит в себе для удобства кросс-компиляции Си много libc для разных архитектур.
Ну и вообще zig не конкурирует с Rust или Nim, он конкурирует с Си. По сути он и есть Си, но с решениями некоторых определенных проблем, с которыми сталкиваются разработчики на Си. Не надо учить язык макросов, язык может выполняться в compile-time (в качестве замены макросов), если нужна система сборки - она тоже представляет собой программу на Zig (как
build.rs в расте), впрочем, мне пока и без нее хорошо