Expand description

Support for serializing the dep-graph and reloading it.


  • This pass is only used for the UNIT TESTS and DEBUGGING NEEDS around dependency graph construction. It serves two purposes; it will dump graphs in graphviz form to disk, and it searches for #[rustc_if_this_changed] and #[rustc_then_this_would_need] annotations. These annotations can be used to test whether paths exist in the graph. These checks run after codegen, so they view the the final state of the dependency graph. Note that there are similar assertions found in persist::dirty_clean which check the initial state of the dependency graph, just after it has been loaded from disk.
  • This pass is only used for UNIT TESTS related to incremental compilation. It tests whether a particular .o file will be re-used from a previous compilation or whether it must be regenerated.
  • errors 🔒
  • persist 🔒
    When in incremental mode, this pass dumps out the dependency graph into the given directory. At the same time, it also hashes the various HIR nodes.


  • Represents the result of an attempt to load incremental compilation data.


  • Raw content of Fluent resource for this crate, generated by fluent_messages macro, imported by rustc_driver to include all crates’ resources in one bundle.


Type Definitions

  • An asynchronous type for computing the dependency graph.