No, dependent types are no the answer - read (or watch) this: https://pron.github.io/posts/correctness-and-complexity
In any case, you don't need dependent types for a compiler to prove termination, it's just that most languages don't care about termination except those with dependent types. You could create a compiler for Rust that has similar termination checking to Coq, if you wanted.