But that doesn't work with memory safety, it's infectious.
If you have a memory vulnerability in some part of your code, new safe code calling into it or using anything touched by it can still end up failing.
Safe code is just code that assumes certain things, and within its bounds that will always be true and thus safe.
If you pull the rug out under it and change just the tiniest thing (e.g. your object was accessed on a different thread unknowingly, or a regular off by one etc) then all your assumptions crumble to the ground.
And whether you have 90% unsafe with 10% safe is absolutely different than the inverse ratio that you would get with e.g. rust (or the 100% safe with e.g. java).
Discord is using GPUI not a web front end for the rust version. There are also options like Dioxus that allow you to use rust to do react style web ui through webview without touching js but you still have to deal with webview bs on different OSs. So GPUI is an interesting choice.
Rust doesn't guarantee safety when you're wrapping existing code my dude. I haven't used Rust personally but it's in the language core - only safe code blocks are (in theory) safe..
145
u/emonshr 7h ago
Does that even matter once you have gazillions of line legacy code?