rustc_middle/query/
mod.rs1use rustc_hir::def_id::LocalDefId;
2
3pub use self::caches::{DefIdCache, DefaultCache, QueryCache, SingleCache, VecCache};
4pub use self::job::{QueryInfo, QueryJob, QueryJobId, QueryLatch, QueryWaiter};
5pub use self::keys::{AsLocalQueryKey, LocalCrate, QueryKey};
6pub use self::plumbing::{
7 ActiveKeyStatus, CycleError, CycleErrorHandling, EnsureMode, IntoQueryParam, QueryMode,
8 QueryState, TyCtxtAt, TyCtxtEnsureDone, TyCtxtEnsureOk,
9};
10pub use self::stack::{QueryStackDeferred, QueryStackFrame, QueryStackFrameExtra};
11pub use crate::queries::Providers;
12use crate::ty::TyCtxt;
13
14pub(crate) mod arena_cached;
15mod caches;
16pub mod erase;
17pub(crate) mod inner;
18mod job;
19mod keys;
20pub mod on_disk_cache;
21#[macro_use]
22pub mod plumbing;
23pub(crate) mod modifiers;
24mod stack;
25
26pub fn describe_as_module(def_id: impl Into<LocalDefId>, tcx: TyCtxt<'_>) -> String {
27 let def_id = def_id.into();
28 if def_id.is_top_level_module() {
29 "top-level module".to_string()
30 } else {
31 ::alloc::__export::must_use({
::alloc::fmt::format(format_args!("module `{0}`",
tcx.def_path_str(def_id)))
})format!("module `{}`", tcx.def_path_str(def_id))
32 }
33}