Rust is far from "perfect" in my opinion as any other language. It tackles couple of particular and important problems but since it can not completely solve it for general case it bends people to think in a certain "perfect" way. Not sure it is ok when one has to jump hoops on what should be perfectly valid and logical code just because compiler can't figure out that it is actually safe.
Also as a generic tool I think it ought to support multiple paradigms and it does not. Just because they (language designers) believe that doing thing their way is superior to what others might find more appropriate does not make them right.
Personally - I would use Rust if clients insists which so far has never been the case, otherwise I would take a subset of C++ any time over.