Module rustc_incremental::persist::dirty_clean
source · Expand description
Debugging code to test fingerprints computed for query results. For each node marked with
#[rustc_clean] we will compare the fingerprint from the current and from the previous
compilation session as appropriate:
-
#[rustc_clean(cfg="rev2", except="typeck")]if we are in#[cfg(rev2)], then the fingerprints associated withDepNode::typeck(X)must be DIFFERENT (Xis theDefIdof the current node). -
#[rustc_clean(cfg="rev2")]same as above, except that the fingerprints must be the SAME (along with all other fingerprints). -
#[rustc_clean(cfg="rev2", loaded_from_disk='typeck")]asserts that the query result forDepNode::typeck(X)was actually loaded from disk (not just marked green). This can be useful to ensure that a test is actually exercising the deserialization logic for a particular query result. This can be combined withexcept
Errors are reported if we are in the suitable configuration but the required condition is not met.
Structs
#[rustc_clean] attributes from
the HIR. It is used to verify that we really ran checks for all annotated
nodes.Constants
impl implementation of struct/traitDepNodes.
Extra DepNodes for functions and methods.DepNodes.DepNodes.DepNodes.DepNodes.DepNodes.DepNodes.Functions
#[rustc_clean] attribute, scan for a cfg="foo" attribute and check whether we have
a cfg flag called foo.