First, thank you for your article. I haven’t paid attention to Rust for a while; I can certainly see where is the appeal for the use of Rust in low level programming.
Rust will have to jump over mountains to win the roboticists and firmware programmers. Mainly because of its steep learning curve. Bad memory allocation and problems like deadlocks come from the misuse of the language. C++ is constantly being developed and after C++11, if properly used, bad memory allocation should not occur. But many people in the field still treat and use C++ like C with classes. I am not sure if people who are not willing to learn properly program in C++ will want to undertake the struggle of learning all that data-ownership and object systems stuff in Rust.
And that linking with C++ is more pain in the ass than you make it sound.
There should be more incentives to replace C++ in the embedded world.