Skip to main content

Crate rustc_query_impl

Crate rustc_query_impl 

Source
Expand description

Support for serializing the dep-graph and reloading it.

ModulesΒ§

_dep_kind_vtable_ctors πŸ”’
Module containing a named function for each dep kind (including queries) that creates a DepKindVTable.
plumbing πŸ”’
The implementation of the query system itself. This defines the macros that generate the actual methods on tcx which find and execute the provider, manage the caches, and so forth.
profiling_support πŸ”’
query_impl πŸ”’

StructsΒ§

QueryCtxt
Implements QueryContext for use by rustc_query_system, since that crate does not have direct access to [TyCtxt].
QueryFlags πŸ”’
SemiDynamicQueryDispatcher πŸ”’
Combines a [QueryVTable] with some additional compile-time booleans to implement QueryDispatcher, for use by code in rustc_query_system.

ConstantsΒ§

ALLOC_SELF_PROFILE_QUERY_STRINGS πŸ”’
ENCODE_QUERY_RESULTS πŸ”’
PER_QUERY_GATHER_ACTIVE_JOBS_FNS πŸ”’
Used by collect_active_jobs_from_all_queries to iterate over all queries, and gather the active jobs for each query.
QUERY_KEY_HASH_VERIFY πŸ”’

TraitsΒ§

QueryDispatcherUnerased πŸ”’
Provides access to vtable-like operations for a query (by creating a QueryDispatcher), but also keeps track of the β€œunerased” value type of the query (i.e. the actual result type in the query declaration).

FunctionsΒ§

alloc_self_profile_query_strings
All self-profiling events generated by the query engine use virtual StringIds for their event_id. This method makes all those virtual StringIds point to actual strings.
engine πŸ”’
make_dep_kind_vtables
make_query_vtables
provide
query_key_hash_verify_all
query_system