Module rustc::dep_graph [] [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?

Modules

debug [
Experimental
]

Code for debugging the dep-graph.

label_strs [
Experimental
]

Contains variant => str representations for constructing DepNode groups for tests.

Structs

AssertDepGraphSafe [
Experimental
]

A convenient override that lets you pass arbitrary state into a task. Every use should be accompanied by a comment explaining why it makes sense (or how it could be refactored away in the future).

DepGraph [
Experimental
]
DepGraphQuery [
Experimental
]
DepNode [
Experimental
]
DepNodeIndex [
Experimental
]
DepTrackingMap [
Experimental
]

A DepTrackingMap offers a subset of the Map API and ensures that we make calls to read and write as appropriate. We key the maps with a unique type for brevity.

PreviousDepGraph [
Experimental
]
SerializedDepGraph [
Experimental
]

Data for use when recompiling the current crate.

WorkProduct [
Experimental
]

A "work product" is an intermediate result that we save into the incremental directory for later re-use. The primary example are the object files that we save for each partition at code generation time.

WorkProductId [
Experimental
]

A "work product" corresponds to a .o (or other) file that we save in between runs. These ids do not have a DefId but rather some independent path or string that persists between runs without the need to be mapped or unmapped. (This ensures we can serialize them even in the absence of a tcx.)

Enums

DepConstructor [
Experimental
]
DepKind [
Experimental
]
DepNodeColor [
Experimental
]
WorkProductFileKind [
Experimental
]

Traits

DepGraphSafe [
Experimental
]

The DepGraphSafe trait is used to specify what kinds of values are safe to "leak" into a task. The idea is that this should be only be implemented for things like the tcx as well as various id types, which will create reads in the dep-graph whenever the trait loads anything that might depend on the input program.

DepTrackingMapConfig [
Experimental
]