Of course, but many languages do many of these things, and have for decades. C is an outlier for not having them, and many big apps use C++ over C for this reason.
Rust's contribution is static resource-use-correctness. Of course, it also implements the other features very well. But if you do not talk about these things in precise terms, it will be harder to convince people to embrace Rust adoption.
Thankfully, Rust is not doing bad for itself in terms of adoption, so what do I know! :)
But it is what kept me from using it for a long time.