Module rustc_incremental::persist::dirty_clean [−][src]
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).
Errors are reported if we are in the suitable configuration but the required condition is not met.
Structs
Constants
For typedef, constants, and statics
DepNodes for functions + methods
DepNodes for Hir, which is pretty much everything
impl implementation of struct/trait
DepNodes for mir_built/Optimized, which is relevant in “executable” code, i.e., functions+methods
Struct, Enum and Union DepNodes
Trait definition DepNodes.
Extra DepNodes for functions and methods.
Abstract data type (struct, enum, union) DepNodes.
Constant/Typedef in an impl
Trait-Const/Typedef DepNodes
Function DepNodes.
Method DepNodes.
Trait method DepNodes.
For generic cases like inline-assembly, modules, etc.
Impl DepNodes.
Impl DepNodes.
Functions
Given a #[rustc_clean] attribute, scan for a cfg="foo" attribute and check whether we have
a cfg flag called foo.