Все дело в том, что на авторов раста сильно давило время и начальство. Он вышел в первой версии сильно недоработанным. Теперь над ним довлеет бремя как-то бороться с несовместимостью и развиваться. По сути язык вышел таким, чтобы можно было скомпилить FF
Мне кажется, если Вы хотите избежать паник и прочего UB в рантайме на 100%, то ни Rust, ни C, ни C++, ни Zig Вам не подойдут. Самое меньшее -- Ada Spark. Или Frama C. Или ещё что-то со статическими доказательствами корректности и safety.
В unsafe коде можно дополнительно делать несколько действий (разименовывать сырые указатели и т.д.), значит все остальные небезопасные действия (например алоцировать память) делать раст не может?
не понял вопроса. Есть набор действий которые нарушают гарантии раста и требуют чтобы вместо раста нужные гарантии выдавал разработчик. Эти действия разрешены только в скоупе кейворда unsafe.