> If you change a body, the compiler only has to process that file. But the rust compiler must check other files as well, since something in the interface might have changed.

That's correct in Rust as well (minus some small warts such as if you add an impl inside, which the Rust team wants to deprecate). In fact rust-analyzer relies on that. The compiler will realize that as well via its sophisticated incremental system, but it does take time to evaluate all the queries, even if all are cache hits.