https://faultlore.com/blah/swift-abi/ (written by a core Rust developer)
[1] apart from the basic/universal C one, which prevents exposing any useful Rust semantics over the interface
Rust is also just a more complex language. I’m not convinced the benefits would have been worth it.
Swift is also interoperable with different versions of itself courtesy of the Swift stable ABI (Application Binary Interface)[0], which they invested a significant amount of time into at the expense of adding other new features to the language, which have come along later.
Rust offers a different approach: recompile everything and static linking.
You missed Java as well.
The gap between the two languages is quite small, it just makes me wish Apple was also all-in on Rust
They have further and much more significant changes that I think might have recently landed in the development version. That should make an even bigger difference. But it’s not in a released version yet.
And yes, none of us like that one part of Swift. Especially the DRASTIC difference compared to objective-C which really only checked syntax and little else.
It’s still probably my favorite language right now though I don’t get to write in it much.
I use it for making user-facing desktop applications, to name one example.
If somebody is mulling over Rust but finds it too difficult to grasp, they could start off with Swift first and then move over to Rust.
One of the main advantages of Rust is a more developed and thriving ecosystem.
Many features that get discussed as being Swift/Rust, trace back to one of those languages.
Being more ergonomic is relevant enough for increasing language adoption, that possible improvements are now on Rust roadmap.
Rust 2026 roadmap has language ergonomics on it for a reason.
That said, outside Apple ecosystem you probably better with Rust, or if one has no GC issues, OCaml, Haskell, F#, Scala, C#.