High performance, embedded systems, or things that have some kind of criticality with respect to fail cases, and must be fast, sure.
High performance, embedded systems, or things that have some kind of criticality with respect to fail cases, and must be fast, sure.
That said, I think the design decisions of the Rust borrow checker leads most developers either to write borrow-checker-agnostic code by using indices and Vec<T> instead (see https://kyren.github.io/2018/09/14/rustconf-talk.html), or go ham with Rc<T> and Arc<T> until the language basically becomes similar to (but slower than) garbage-collected languages like Go. The former leads to performant code but makes you question why you are using Rust in the first place, and the latter leads to slow unwieldy code and also makes you question why you are using Rust in the first place.
Are you delivering your groceries in a Ferrari, or a Truck?
As Jeff Atwood wrote, "Performance is a Feature" https://blog.codinghorror.com/performance-is-a-feature/
So, if your answer to the question, "Do you want speed, trivially?" is "No, I do not." Ok.