Zig's comptime is an addition. You don't have to use it. And some C-macros may translate quite cleanly to it.
OTOH going from C++ (OO) to Rust (not OO, borrow checker) is a big leap.
OTOH going from C++ (OO) to Rust (not OO, borrow checker) is a big leap.