Module rustc::ty::query[][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

__query_compute [
Experimental
]
config [
Experimental
]
job [
Experimental
]
keys [
Experimental
]

Defines the set of legal keys that can be used in queries.

on_disk_cache [
Experimental
]
plumbing [
Experimental
]

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.

queries [
Experimental
]
values [
Experimental
]

Structs

CycleError [
Experimental
]
OnDiskCache [
Experimental
]

OnDiskCache provides an interface to incr. comp. data cached from the previous compilation session. This data will eventually include the results of a few selected queries (like typeck_tables_of and mir_optimized) and any diagnostics that have been emitted during a query.

Providers [
Experimental
]
Queries [
Experimental
]
QueryInfo [
Experimental
]

A span and a query key

QueryJob [
Experimental
]

A object representing an active query job.

TyCtxtAt [
Experimental
]

Enums

Query [
Experimental
]

Traits

QueryConfig [
Experimental
]

Functions

all_crate_nums_node [
Experimental
]
all_traits_node [
Experimental
]
codegen_fn_attrs [
Experimental
]
collect_and_partition_mono_items_node [
Experimental
]
const_eval_dep_node [
Experimental
]
const_value_to_allocation [
Experimental
]
crate_inherent_impls_dep_node [
Experimental
]
crate_variances [
Experimental
]
erase_regions_ty [
Experimental
]
features_node [
Experimental
]
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.

fulfill_obligation_dep_node [
Experimental
]
get_lang_items_node [
Experimental
]
implementations_of_trait_node [
Experimental
]
inherent_impls_overlap_check_dep_node [
Experimental
]
instance_def_size_estimate_dep_node [
Experimental
]
is_copy_dep_node [
Experimental
]
is_freeze_dep_node [
Experimental
]
is_sized_dep_node [
Experimental
]
layout_dep_node [
Experimental
]
link_args_node [
Experimental
]
lint_levels_node [
Experimental
]
maybe_unused_extern_crates_node [
Experimental
]
mir_keys [
Experimental
]
mir_shim_dep_node [
Experimental
]
needs_drop_dep_node [
Experimental
]
output_filenames_node [
Experimental
]
postorder_cnums_node [
Experimental
]
reachability_dep_node [
Experimental
]
specializes_node [
Experimental
]
stability_index_node [
Experimental
]
substitute_normalize_and_test_predicates_node [
Experimental
]
symbol_name_dep_node [
Experimental
]
target_features_whitelist_node [
Experimental
]
type_param_predicates [
Experimental
]
typeck_item_bodies_dep_node [
Experimental
]
visible_parent_map_node [
Experimental
]
vtable_methods_node [
Experimental
]