I don't understand. Rust has memory safety as a core design principle. Zig has manual memory allocation like C.
That being said, some other potentially interesting safety aspects that are present (or are being explored) to give some idea of the target audience:
- compile-time alignment checks [1]
- maximum compile-time stack usage/bounding [2]
I would expect safety at the end of the day in Zig will be more similar to
modern C++ and its smart pointers, alongside (optional) runtime checks,
than a full lifetime system. Will have to see what the future holds.