Module rustc_query_system::dep_graph::graph[−][src]

Structs

CompressedHybridIndex

Compressed representation of HybridIndex enum. Bits unused by the contained index types are used to encode which index type it contains.

CurrentDepGraph

CurrentDepGraph stores the dependency graph for the current session. It will be populated as we run queries or tasks. We never remove nodes from the graph: they are only added.

DepGraph
DepGraphData
DepNodeColorMap
DepNodeData

Data for nodes in the current graph, divided into different collections based on their presence in the previous graph, and if present, their color. We divide nodes this way because different types of nodes are able to share more or less data with the previous graph.

DepNodeIndex
EdgeIndex
LightGreenDepNodeData

Data for nodes in previous graph that have been marked green because we re-executed their queries and the results were the same as in the previous session. We can share the dep node and the fingerprint with the previous graph, but the edges may be different, so we store them directly.

LightGreenDepNodeIndex
NewDepNodeData

Data for nodes not in previous graph. Since we cannot share any data with the previous graph, so we must store all of such a node’s data here.

NewDepNodeIndex
RedDepNodeData

Data for nodes in previous graph that have been marked red. We can share the dep node with the previous graph, but the edges may be different, and the fingerprint is known to be different, so we store the latter two directly.

RedDepNodeIndex
TaskDeps
WorkProduct

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.

Enums

DepNodeColor
HybridIndex

Contains an index into one of several node data collections. Elsewhere, we store CompressedHyridIndex instead of this to save space, but convert to this type during processing to take advantage of the enum match ergonomics.

Constants

COMPRESSED_FIRST_GREEN
COMPRESSED_NONE
COMPRESSED_RED
TASK_DEPS_READS_CAP

The capacity of the reads field SmallVec

Functions

add_edges
hash_result

Type Definitions

EdgesVec