It's been perfectly possible for a couple of decades now to write perfectly safe C++ code. A bit of knowledge of the STL and smart pointers will see you right. The problem is that a lot of projects still have people writing and maintaining C++ code who only understand concepts from C.
I've worked with legacy code that has 1,000 lines-long hand-written loops with a switch case inside the loop and returns inside the cases. I've worked with C++ engineers who didn't know what a smart pointer is.
I suggest that a judicious use of such personnel would rapidly render Rust or Swift just as unsafe as C.