Yes, the problem with doing this is that Rust really imposes certain kinds of design constraints that makes this hard. Like, you COULD, but you'd make a lot of use of unsafe, in a way that's not idiomatic.
Part of the problem here is that the program may rely on subtleties that make the translation hard. I've seen experienced C or C++ people come into the Rust IRC and ask why certain things aren't allowed, it's often due their code relying on certain aspects of the looser model.
That said, it's very possible to go unsafe first and then refactor. It just might not be easy.
Another way of making the transition is to pick a component and only re-write it. This is the approach Firefox is taking, for example.