Если правильно помню, то "безопасность" Rust - это решение гонок при доступе к памяти. То, что в C++ тоже уже давно решённая проблема, но не средсствами языка, а архитектурно. В C++ это вообще проблема только для программистов с низкой квалификацией, которые даже не знают, что такая проблема была, и что решение - уже давно есть.
Ещё пара вещей, которую решает rust - это использование после освобождения и переполнение буфера. В C++ тоже решается с помощью fortify и санитайзерами.
Никакого волшебства.