[−][src]Trait rustc_middle::ty::query::keys::Key
The Key trait controls what types can legally be used as the key
for a query.
Associated Types
type CacheSelector[src]
Required methods
pub fn query_crate(&self) -> CrateNum[src]
Given an instance of this key, what crate is it referring to? This is used to find the provider.
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
In the event that a cycle occurs, if no explicit span has been
given for a query with key self, what span should we use?
Implementations on Foreign Types
impl Key for CrateNum[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl Key for LocalDefId[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl Key for DefId[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl Key for (DefId, DefId)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl Key for (DefId, LocalDefId)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl Key for (LocalDefId, DefId)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl Key for (CrateNum, DefId)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl Key for (DefId, SimplifiedType)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for (DefId, SubstsRef<'tcx>)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for ((WithOptConstParam<DefId>, SubstsRef<'tcx>), (WithOptConstParam<DefId>, SubstsRef<'tcx>))[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for (LocalDefId, DefId, SubstsRef<'tcx>)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for (ParamEnv<'tcx>, PolyTraitRef<'tcx>)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for (&'tcx Const<'tcx>, Field)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl Key for Symbol[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _tcx: TyCtxt<'_>) -> Span[src]
impl Key for (Symbol, u32, u32)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for (DefId, Ty<'tcx>, SubstsRef<'tcx>, ParamEnv<'tcx>)[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _tcx: TyCtxt<'_>) -> Span[src]
Implementors
impl Key for WithOptConstParam<LocalDefId>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for &'tcx Const<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for &'tcx List<Predicate<'tcx>>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for InstanceDef<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for GlobalId<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for LitToConstInput<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for Instance<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for ParamEnv<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for GenericArg<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for PolyTraitRef<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, tcx: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for SubstsRef<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl<'tcx> Key for Ty<'tcx>[src]
type CacheSelector = DefaultCacheSelector
pub fn query_crate(&self) -> CrateNum[src]
pub fn default_span(&self, _: TyCtxt<'_>) -> Span[src]
impl<'tcx, T> Key for Canonical<'tcx, T>[src]
Canonical query goals correspond to abstract trait operations that are not tied to any crate in particular.