Zig too. But this is far from being mainstream. Rust took around 5 years I think to become accepted in major companies, and those languages are harder to justify.

I've started distrusting anything good people have to say about Zig because of the wide variety of untrue claims made about it - unless those claims come from Andrew himself. Last time I was assured that compile-time memory guarantees were possible and were going to happen (they didn't: the recent announcement is runtime/debug assertions). Zig is still making massive breaking changes, and while that is not a bad thing, it makes it categorically _not_ production ready.

Also note that isn't much different from debug heap that MSCV was already having in 2000[0], assuming you didn't want to shell out some money to Insure++{1], BoundsChecker[2] and similar products.

Or something like SoftBound, from 2009,

https://llvm.org/pubs/2009-06-PLDI-SoftBound.pdf

It hasn't been for lack of choice.

[0] - https://learn.microsoft.com/en-us/cpp/c-runtime-library/debu...

[1] - https://www.parasoft.com/products/parasoft-insure/

[2] - https://en.wikipedia.org/wiki/BoundsChecker