Automatically generating “memory safe” C is no harder than automatically generating “memory safe” LLVM bitcode.
Sounds like a good argument to resurrect the LLVM C backend. As it stands, the Rust core team has no desire to implement a C backend, as it would be a ton of work for not much gain.