If that's all, it's nothing that cannot be done in-language with smart pointer/iterator types in C++.
The problem here is compiler support and performance.
And of course, but those will come in time. The point of it is that C++ isn't any safer (And actually, I would say is more risky in some aspects, because of the differences between (For example) the UB in C and C++), while Checked C is guaranteed to be safer, to a certain degree.
Enable extension
Add `checked` to array declarations. (for the simplest
case they've implemented).
Converting to C++ also means making sure you have `extern "C"` in your function declarations to get around C++'s name mangling when calling C libraries. Among other, potential, source level changes. Or, similarly, making sure your C (now C++) library can be called correctly by C projects that depended on it.I'm not sold on this project as we haven't seen any results of course, but the approach is simpler than switching to C++.