JVM, garbage collected, doesn't have zero overhead abstractions.
Might as well ask why Scala didn't take over from C++.
Might as well ask why Scala didn't take over from C++.
Is it fair to say that the significance of those points are these?
no JVM: easier deployment
not garbage collected: less latency
zero-overhead abstraction: smaller in memory
You could say instead that Rust is a Scala-inspired systems language. Not just Scala, obviously, but by functional programming concepts like algebraic data types and type inference. Rust isn't even really a functional language itself; it's still an imperative language.