I have project where simple change leads to very slow re-compilation even in debug mode.
In particular faulty passes are following:
time: 7.271; rss: 292MB -> 341MB ( +48MB) item_bodies_checking
time: 7.945; rss: 205MB -> 341MB ( +136MB) type_check_crate
Generally size of change doesn't matter to these passes (well they are still relatively small 1/2 files changes)
While I can guess what is type_check_crate
I'm not really sure about item_bodies_checking
Do I understand correctly that Rust always re-checks fully all items within crate?
I would appreciate if someone could point to documentation or something to explain every pass within -Z time-passes
option