| use rustc_hir::def_id::LocalDefId; | |
| pub use self::caches::{DefIdCache, DefaultCache, QueryCache, SingleCache, VecCache}; | |
| pub use self::into_query_key::IntoQueryKey; | |
| pub use self::job::{QueryJob, QueryJobId, QueryLatch, QueryWaiter}; | |
| pub use self::keys::{AsLocalQueryKey, LocalCrate, QueryKey}; | |
| pub use self::plumbing::{ | |
| ActiveKeyStatus, Cycle, EnsureMode, QueryMode, QueryState, QuerySystem, QueryVTable, TyCtxtAt, | |
| TyCtxtEnsureDone, TyCtxtEnsureOk, TyCtxtEnsureResult, | |
| }; | |
| pub use self::stack::QueryStackFrame; | |
| pub use crate::queries::Providers; | |
| use crate::ty::TyCtxt; | |
| pub(crate) mod arena_cached; | |
| mod caches; | |
| pub mod erase; | |
| pub(crate) mod inner; | |
| mod into_query_key; | |
| mod job; | |
| mod keys; | |
| pub(crate) mod modifiers; | |
| pub mod on_disk_cache; | |
| pub(crate) mod plumbing; | |
| mod stack; | |
| pub fn describe_as_module(def_id: impl Into<LocalDefId>, tcx: TyCtxt<'_>) -> String { | |
| let def_id = def_id.into(); | |
| if def_id.is_top_level_module() { | |
| "top-level module".to_string() | |
| } else { | |
| format!("module `{}`", tcx.def_path_str(def_id)) | |
| } | |
| } |