You need to write your bridging yourself and it might not always be possible because you need to bridge Rust <-> Objective-C.
Swift with Objective-C is bridged automatically.
Swift with Objective-C is bridged automatically.
You don't have this problem with Swift.
To avoid the unnecessary overhead of dynamically dispatched Objective-C method calls.
To me, it seems more sensible to go
Rust -> C -> Swift
vs Rust -> C -> Objective-C -> Swift