Rust бывает двух видов безопасный и небезопасный.Небезопасный дает какие-то гарантии, но на безопасном Rust ты даже двусвязный список не напишешь (поэтому половина контейнеров в стандартной библиотеке использует небезопасный код, а всякие lock free так вообще безопасными быть не могут), а это значит, что в коде OS на Rust обязательно будет куча небезопасного кода, который ничем не лучше голого C. Фанаты Rust когда рассказывают про него, на самом деле говорят про безопасный Rust, но в реальном проекте будет оба раста. Так что реальность такова: безопасный Rust дает какие-то гарантии, но там нужно удовлетворять borrow checker каждой строкой кода и на безопасном Rust ты не напишешь реальный проект и есть небезопасный Rust - который никаких гарантий не дает. В реальном проекте будут оба.
Ну и до кучи Rust - это язык выходного дня, на котором пишут хобби проекты (я решил поиграться с любимой технологией, потому неспешно что-то делаю в свое удовольствие и не факт, что будет какой-то результат). Коммерческие проекты пишутся в команде в режиме к конкретному сроку вот этот функционал нужно реализовать и как тут поведет себя Rust, в котором borrow checker просто не даст скомпилировать костыль, а проект нужно сдавать уже завтра, пока не ясно. Нужно подождать, как себя проявит Rust в промышленной разработке и не в единственном финансовом стартапе где-то в Калифорнии, а в разных сферах коммерческой разработки (пока что единственный известный серьезный проект на Rust пишут уже много лет, причем имея гораздо более быстро разработанный на C++ работающий продукт).
P.S. Как язык выходного дня для хобби проектов Rust себя проявил отлично.