My conclusion is that C is not a good basis for what Rust is trying to do. The kind of reliability Rust is trying to provide with almost no runtime overhead requires a much more complex language than C.
... and C++ is a much more complex language than C.
True. Though there are plenty of people advocating for some small extensions to C to make it safe.