I'll keep saying it: we're eventually moving to a n-modular redundancy, with several implementations, running on different stacks/languages, cross-checking each others for bugs.
Just re-writing in Rust isn't that useful: we all move to pgrust and then what? People abandon the old software and now pgrust has a major bug and nobody detects it.
And I don't think we're only moving to n-modular redundancy at the software/application level: we'll also be moving to n-modular redundancy at the network level. Where every single packet on the subnetwork (the one where the n systems are living) has to be accounted for and identical.
And any network packet emitted by one of the implementation that won't match the others shall be suspicious and cause for an inquiry.
This shall require changes in how we build and network our stuff, but I do profoundly think that having a "majority voter" with a tiny, minimal, attack surface that's on one end exposed to the Internet and, on the other end, on a specific network (maybe with a new network protocol: or maybe with something based on UDP: not an issue with lost packets btw for it's going to a redundant system anyway) where every single network packet is accounted is going to exist at some point.
I'm dead serious: the value in pgrust is not pgrust in itself. It's that, combined with past a implementation in another language, both are now stronger.
I really hope the clue stick hits us and hits us hard with that one.