Skip to main content

Module query

Module query 

Source

Re-exports§

pub use self::plumbing::ActiveKeyStatus;
pub use self::plumbing::CycleError;
pub use self::plumbing::CycleErrorHandling;
pub use self::plumbing::IntoQueryParam;
pub use self::plumbing::QueryMode;
pub use self::plumbing::QueryState;
pub use self::plumbing::TyCtxtAt;
pub use self::plumbing::TyCtxtEnsureDone;
pub use self::plumbing::TyCtxtEnsureOk;
pub use crate::queries::Providers;

Modules§

arena_cached 🔒
caches 🔒
erase
To improve compile times and code size for the compiler itself, query values are “erased” in some contexts (e.g. inside in-memory cache types), to reduce the number of generic instantiations created during codegen.
inner 🔒
Helper functions that serve as the immediate implementation of tcx.$query(..) and its variations.
job 🔒
keys 🔒
Defines the set of legal keys that can be used in queries.
modifiers 🔒
This contains documentation which is linked from query modifiers used in the rustc_queries! proc macro.
on_disk_cache
plumbing
stack 🔒

Structs§

DefIdCache
In-memory cache for queries whose key is a DefId.
DefaultCache
In-memory cache for queries whose keys aren’t suitable for any of the more specialized kinds of cache. Backed by a sharded hashmap.
LocalCrate
Placeholder for CrateNum’s “local” counterpart
QueryInfo
Represents a span and a query key.
QueryJob
Represents an active query job.
QueryJobId
A value uniquely identifying an active query job.
QueryLatch
QueryStackDeferred
Track a ‘side effect’ for a particular query. This is used to hold a closure which can create QueryStackFrameExtra.
QueryStackFrame
Description of a frame in the query stack.
QueryStackFrameExtra
QueryWaiter
SingleCache
In-memory cache for queries whose key type only has one value (e.g. ()). The cache therefore only needs to store one query return value.
VecCache
In-memory cache for queries whose keys are densely-numbered IDs (e.g CrateNum, LocalDefId), and can therefore be used as indices into a dense vector of cached values.

Traits§

AsLocalKey
Key
The Key trait controls what types can legally be used as the key for a query.
QueryCache
Trait for types that serve as an in-memory cache for query results, for a given key (argument) type and value (return) type.
QueryContext

Functions§

describe_as_module

Trait Aliases§

QueryCacheKey
Traits that all query keys must satisfy.