> and when a piece of memory is accessible from multiple threads it's not mutable.
In game engines, these pieces of memory often need to be mutable by multiple threads. E.g. see this old Intel article for a high-level overview how it might work:
https://software.intel.com/en-us/articles/designing-the-fram...
Now with DX12 / Vulkan it became even worse, because with them we no longer have _the_ render thread.
Sure, doing that the dangerous C++ way can introduce bugs. But the risks are different.
If you’re working on a web browser (that’s what Rust was created for), the worst thing that may happen, a compromised web site you’re viewing (maybe even by accidentally clicking a link) may infect your PC, steal all your data and turn your PC into a botnet node.
Most games can’t technically fail that bad, due to the following reasons (1) Most games don’t allow users to create content, only the developers do (2) Modern console games work in a hardware-assisted hypervisor (3) Some platforms even verify digital signatures of all the content they load.