[][src]Module rustc::ty::query::plumbing

🔬 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?

The implementation of the query system itself. Defines the macros that generate the actual methods on tcx which find and execute the provider, manage the caches, and so forth.

Structs

CycleError [
Experimental
]
JobOwner [
Experimental
]

A type representing the responsibility to execute the job in the job field. This will poison the relevant query if dropped.

QueryCache [
Experimental
]
QueryValue [
Experimental
]

Enums

TryGetJob [
Experimental
]

The result of try_get_lock

Functions

force_from_dep_node [
Experimental
]

The red/green evaluation system will try to mark a specific DepNode in the dependency graph as green by recursively trying to mark the dependencies of that DepNode as green. While doing so, it will sometimes encounter a DepNode where we don't know if it is red or green and we therefore actually have to recompute its value in order to find out. Since the only piece of information that we have at that point is the DepNode we are trying to re-evaluate, we need some way to re-run a query from just that. This is what force_from_dep_node() implements.