Does it seem to anyone else like Rust often does more rebuilding and rechecking than could possibly be required?
I'd love to understand, when cargo build rebuilds a crate or cargo check rechecks a crate, why that is happening. Are there any good tools or techniques for this?
If you are seeing rebuilds of every dependency, then the usual cause of that is that you are building from two different environments (e.g. IDE and terminal) with different RUSTFLAGS values, or directories with build.rustflags configured. You should avoid using RUSTFLAGS / build.rustflags if not strictly necessary, and if necessary, make sure that the value is always the same.
But, whether or not that's the problem, yes, use cargo build --verbose to diagnose the problem. Look for the first line with “Dirty” in the output to see what reason Cargo decided to rebuild that crate.