"by following certain practices, you can write code that is as provably safe as Rust"
It rly is that simple.
C mem issues are more of a myth than a reality in my experience. Follow the rules, get a working understanding of the domain you're working in and you'll have no issues. (provided one turns on their brain)
The only time you can make a memory management error in C is when you're doing memory management.
My contention is that by following certain practices, you can write code that is as provably safe as Rust.
I have NEVER claimed "can only" though. If you deviate from those practices, it's like writing unsafe code in Rust.