I love rust, debatably more than C#. But I'm never going to rewrite TGS in it. Here's why.
Dependency injection is a MASSIVE part of the current TGS architecture. To support such a thing in rust would involve a LOT of Box
/Rc
/Arc
types for dyn
traits. All that indirection would not be pretty to work with. I'd hope the compiler would be smart enough to devirtualize all the calls in a release build (where there is generally only one relevant implementation of an interface) but I can't even be sure of that.