Module rustc_incremental::persist::dirty_clean[][src]

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Debugging code to test fingerprints computed for query results. For each node marked with #[rustc_clean] or #[rustc_dirty], we will compare the fingerprint from the current and from the previous compilation session as appropriate:

Errors are reported if we are in the suitable configuration but the required condition is not met.

Re-exports

use std::collections::HashSet;
use std::iter::FromIterator;
use std::vec::Vec;
use rustc::dep_graph::DepNode;
use rustc::dep_graph::label_strs;
use rustc::hir;
use rustc::hir::Item_ as HirItem;
use rustc::hir::ImplItemKind;
use rustc::hir::TraitItemKind;
use rustc::hir::map::Node as HirNode;
use rustc::hir::def_id::DefId;
use rustc::hir::itemlikevisit::ItemLikeVisitor;
use rustc::hir::intravisit;
use rustc::ich::ATTR_DIRTY;
use rustc::ich::ATTR_CLEAN;
use syntax::ast;
use syntax::ast::Attribute;
use syntax::ast::NestedMetaItem;
use rustc_data_structures::fx::FxHashSet;
use rustc_data_structures::fx::FxHashSet;
use syntax_pos::Span;
use rustc::ty::TyCtxt;

Structs

Assertion [
Experimental
]

Represents the requested configuration by rustc_clean/dirty

DirtyCleanVisitor [
Experimental
]
FindAllAttrs [
Experimental
]

Constants

BASE_CONST [
Experimental
]

For typedef, constants, and statics

BASE_FN [
Experimental
]

DepNodes for functions + methods

BASE_HIR [
Experimental
]

DepNodes for Hir, which is pretty much everything

BASE_IMPL [
Experimental
]

impl implementation of struct/trait

BASE_MIR [
Experimental
]

DepNodes for MirValidated/Optimized, which is relevant in "executable" code, i.e. functions+methods

BASE_STRUCT [
Experimental
]

Struct, Enum and Union DepNodes

BASE_TRAIT_DEF [
Experimental
]

Trait Definition DepNodes

CFG [
Experimental
]
EXCEPT [
Experimental
]
EXTRA_ASSOCIATED [
Experimental
]

extra DepNodes for methods (+fn)

EXTRA_TRAIT [
Experimental
]
LABEL [
Experimental
]
LABELS_ADT [
Experimental
]

Abstract Data Type (Struct, Enum, Unions) DepNodes

LABELS_CONST [
Experimental
]
LABELS_CONST_IN_IMPL [
Experimental
]

Constant/Typedef in an impl

LABELS_CONST_IN_TRAIT [
Experimental
]

Trait-Const/Typedef DepNodes

LABELS_FN [
Experimental
]

Function DepNode

LABELS_FN_IN_IMPL [
Experimental
]

Method DepNodes

LABELS_FN_IN_TRAIT [
Experimental
]

Trait-Method DepNodes

LABELS_HIR_ONLY [
Experimental
]

For generic cases like inline-assemply/mod/etc

LABELS_IMPL [
Experimental
]

Impl DepNodes

LABELS_TRAIT [
Experimental
]

Trait Definition DepNodes

Functions

check_config [
Experimental
]

Given a #[rustc_dirty] or #[rustc_clean] attribute, scan for a cfg="foo" attribute and check whether we have a cfg flag called foo.

check_dirty_clean_annotations [
Experimental
]
expect_associated_value [
Experimental
]

Type Definitions

Labels [
Experimental
]