I'm not sure what you mean by "all the analysis"; by default Rust just calls malloc.
It's true that a C++ custom allocator will have lots of "unsafe" code, but this is really where C++ shines. The tooling is more complete, the aliasing rules are better documented and understood, the language fights you less, the stdlib has explicit support, it is easier to control the codegen. Rust cannot bring its strengths to bear on this sort of problem.
Also, any custom C++ allocator is going to contain a bunch of unsafe code too.