I've spent quite a bit of time with zig after which I abandoned to rust despite starting with severe rust dislike. The switch was mainly due to:
- far better documented std lib. For example zig http stuff has bugs; and I could never find a public unzip inflate call despite the appearance of an impressive zig/unzip api.
- better library support esp for protocol. The zig stuff i found was few and had memory leaks.
- the fact struct fields are private by default (in zig all fields are public if you can get access to the struct). In complicated stuff the implementation has got to stay private
- the borrow checker was not a motivator, and rust compile times are nowhere annoying as I feared
- the zig i/o api i found too darn complicated and annoying
Things I still miss from zig:
- c/c++ ffi is solid. Gluing curl, zlib into zig was painless and worked day one. Rust takes more work.
- zig build and the ability to import a configuration as code is awesome.
- allocator story is good. It's darn simple to add custom allocators where performance matters
- Zig still has a couple of linker problems, or cross compliation bugs I immediately encountered when using it. One was fixed. One is still open.