Closed
Description
The dependency graph is loaded at the earliest point possibly during the compilation session (after the crate disambiguator has been set):
rust/src/librustc_driver/driver.rs
Line 654 in bd7021f
However, it is only needed for the first time a few passes later:
rust/src/librustc_driver/driver.rs
Line 890 in bd7021f
This was intentional so that we have to possibility to load and decode it the graph on a background thread. One way to implement this is to make rustc_incremental::load_dep_graph()
start a new thread and return the thread::JoinHandle
and then only join that thread right before the dep-graph is actually needed.