In my experience, the details Rust is exposing are less about performance and more about correctness. For example, Rust forces you to be explicit about:
There are some performance gains to be had in that list, but for the most part it's about asking the programmer to be explicit and avoiding convenient-but-risky defaults that lead to lots of bugs.
- who owns what
- how long things live
- which values might be null or missing
- which functions might return errors
- how strings are encoded (https://twitter.com/timClicks/status/1450943515635056648)
- which types are thread-safe
There are some performance gains to be had in that list, but for the most part it's about asking the programmer to be explicit and avoiding convenient-but-risky defaults that lead to lots of bugs.