Trait rustc::ty::maps::config::QueryConfig [−][src]
pub trait QueryConfig<'tcx> { type Key: Eq + Hash + Clone + Debug; type Value: Clone + for<'a> HashStable<StableHashingContext<'a>>; const NAME: &'static str; fn query(key: Self::Key) -> Query<'tcx>; fn query_map<'a>(
tcx: TyCtxt<'a, 'tcx, '_>
) -> &'a Lock<QueryMap<'tcx, Self>>; fn to_dep_node(tcx: TyCtxt<'_, 'tcx, '_>, key: &Self::Key) -> DepNode; fn compute(tcx: TyCtxt<'_, 'tcx, '_>, key: Self::Key) -> Self::Value; fn handle_cycle_error(tcx: TyCtxt<'_, 'tcx, '_>) -> Self::Value; }
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Query configuration and description traits.
Associated Types
type Key: Eq + Hash + Clone + Debug
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
type Value: Clone + for<'a> HashStable<StableHashingContext<'a>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Associated Constants
const NAME: &'static str
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Required Methods
fn query(key: Self::Key) -> Query<'tcx>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn query_map<'a>(tcx: TyCtxt<'a, 'tcx, '_>) -> &'a Lock<QueryMap<'tcx, Self>>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn to_dep_node(tcx: TyCtxt<'_, 'tcx, '_>, key: &Self::Key) -> DepNode
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn compute(tcx: TyCtxt<'_, 'tcx, '_>, key: Self::Key) -> Self::Value
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
fn handle_cycle_error(tcx: TyCtxt<'_, 'tcx, '_>) -> Self::Value
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Implementors
impl<'tcx> QueryConfig<'tcx> for type_of<'tcx> type Key = DefId; type Value = Ty<'tcx>;
impl<'tcx> QueryConfig<'tcx> for generics_of<'tcx> type Key = DefId; type Value = &'tcx Generics;
impl<'tcx> QueryConfig<'tcx> for predicates_of<'tcx> type Key = DefId; type Value = GenericPredicates<'tcx>;
impl<'tcx> QueryConfig<'tcx> for explicit_predicates_of<'tcx> type Key = DefId; type Value = GenericPredicates<'tcx>;
impl<'tcx> QueryConfig<'tcx> for super_predicates_of<'tcx> type Key = DefId; type Value = GenericPredicates<'tcx>;
impl<'tcx> QueryConfig<'tcx> for type_param_predicates<'tcx> type Key = (DefId, DefId); type Value = GenericPredicates<'tcx>;
impl<'tcx> QueryConfig<'tcx> for trait_def<'tcx> type Key = DefId; type Value = &'tcx TraitDef;
impl<'tcx> QueryConfig<'tcx> for adt_def<'tcx> type Key = DefId; type Value = &'tcx AdtDef;
impl<'tcx> QueryConfig<'tcx> for adt_destructor<'tcx> type Key = DefId; type Value = Option<Destructor>;
impl<'tcx> QueryConfig<'tcx> for adt_sized_constraint<'tcx> type Key = DefId; type Value = &'tcx [Ty<'tcx>];
impl<'tcx> QueryConfig<'tcx> for adt_dtorck_constraint<'tcx> type Key = DefId; type Value = Result<DtorckConstraint<'tcx>, NoSolution>;
impl<'tcx> QueryConfig<'tcx> for is_const_fn<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_foreign_item<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for crate_variances<'tcx> type Key = CrateNum; type Value = Lrc<CrateVariancesMap>;
impl<'tcx> QueryConfig<'tcx> for variances_of<'tcx> type Key = DefId; type Value = Lrc<Vec<Variance>>;
impl<'tcx> QueryConfig<'tcx> for inferred_outlives_of<'tcx> type Key = DefId; type Value = Lrc<Vec<Predicate<'tcx>>>;
impl<'tcx> QueryConfig<'tcx> for inferred_outlives_crate<'tcx> type Key = CrateNum; type Value = Lrc<CratePredicatesMap<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for associated_item_def_ids<'tcx> type Key = DefId; type Value = Lrc<Vec<DefId>>;
impl<'tcx> QueryConfig<'tcx> for associated_item<'tcx> type Key = DefId; type Value = AssociatedItem;
impl<'tcx> QueryConfig<'tcx> for impl_trait_ref<'tcx> type Key = DefId; type Value = Option<TraitRef<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for impl_polarity<'tcx> type Key = DefId; type Value = ImplPolarity;
impl<'tcx> QueryConfig<'tcx> for inherent_impls<'tcx> type Key = DefId; type Value = Lrc<Vec<DefId>>;
impl<'tcx> QueryConfig<'tcx> for mir_keys<'tcx> type Key = CrateNum; type Value = Lrc<DefIdSet>;
impl<'tcx> QueryConfig<'tcx> for mir_const_qualif<'tcx> type Key = DefId; type Value = (u8, Lrc<IdxSetBuf<Local>>);
impl<'tcx> QueryConfig<'tcx> for mir_built<'tcx> type Key = DefId; type Value = &'tcx Steal<Mir<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for mir_const<'tcx> type Key = DefId; type Value = &'tcx Steal<Mir<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for mir_validated<'tcx> type Key = DefId; type Value = &'tcx Steal<Mir<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for optimized_mir<'tcx> type Key = DefId; type Value = &'tcx Mir<'tcx>;
impl<'tcx> QueryConfig<'tcx> for unsafety_check_result<'tcx> type Key = DefId; type Value = UnsafetyCheckResult;
impl<'tcx> QueryConfig<'tcx> for unsafe_derive_on_repr_packed<'tcx> type Key = DefId; type Value = ();
impl<'tcx> QueryConfig<'tcx> for fn_sig<'tcx> type Key = DefId; type Value = PolyFnSig<'tcx>;
impl<'tcx> QueryConfig<'tcx> for coerce_unsized_info<'tcx> type Key = DefId; type Value = CoerceUnsizedInfo;
impl<'tcx> QueryConfig<'tcx> for typeck_item_bodies<'tcx> type Key = CrateNum; type Value = CompileResult;
impl<'tcx> QueryConfig<'tcx> for typeck_tables_of<'tcx> type Key = DefId; type Value = &'tcx TypeckTables<'tcx>;
impl<'tcx> QueryConfig<'tcx> for used_trait_imports<'tcx> type Key = DefId; type Value = Lrc<DefIdSet>;
impl<'tcx> QueryConfig<'tcx> for has_typeck_tables<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for coherent_trait<'tcx> type Key = DefId; type Value = ();
impl<'tcx> QueryConfig<'tcx> for borrowck<'tcx> type Key = DefId; type Value = Lrc<BorrowCheckResult>;
impl<'tcx> QueryConfig<'tcx> for mir_borrowck<'tcx> type Key = DefId; type Value = BorrowCheckResult<'tcx>;
impl<'tcx> QueryConfig<'tcx> for crate_inherent_impls<'tcx> type Key = CrateNum; type Value = CrateInherentImpls;
impl<'tcx> QueryConfig<'tcx> for crate_inherent_impls_overlap_check<'tcx> type Key = CrateNum; type Value = ();
impl<'tcx> QueryConfig<'tcx> for const_eval<'tcx> type Key = ParamEnvAnd<'tcx, GlobalId<'tcx>>; type Value = EvalResult<'tcx>;
impl<'tcx> QueryConfig<'tcx> for check_match<'tcx> type Key = DefId; type Value = Result<(), ErrorReported>;
impl<'tcx> QueryConfig<'tcx> for privacy_access_levels<'tcx> type Key = CrateNum; type Value = Lrc<AccessLevels>;
impl<'tcx> QueryConfig<'tcx> for reachable_set<'tcx> type Key = CrateNum; type Value = ReachableSet;
impl<'tcx> QueryConfig<'tcx> for region_scope_tree<'tcx> type Key = DefId; type Value = Lrc<ScopeTree>;
impl<'tcx> QueryConfig<'tcx> for mir_shims<'tcx> type Key = InstanceDef<'tcx>; type Value = &'tcx Mir<'tcx>;
impl<'tcx> QueryConfig<'tcx> for def_symbol_name<'tcx> type Key = DefId; type Value = SymbolName;
impl<'tcx> QueryConfig<'tcx> for symbol_name<'tcx> type Key = Instance<'tcx>; type Value = SymbolName;
impl<'tcx> QueryConfig<'tcx> for describe_def<'tcx> type Key = DefId; type Value = Option<Def>;
impl<'tcx> QueryConfig<'tcx> for def_span<'tcx> type Key = DefId; type Value = Span;
impl<'tcx> QueryConfig<'tcx> for lookup_stability<'tcx> type Key = DefId; type Value = Option<&'tcx Stability>;
impl<'tcx> QueryConfig<'tcx> for lookup_deprecation_entry<'tcx> type Key = DefId; type Value = Option<DeprecationEntry>;
impl<'tcx> QueryConfig<'tcx> for item_attrs<'tcx> type Key = DefId; type Value = Lrc<[Attribute]>;
impl<'tcx> QueryConfig<'tcx> for trans_fn_attrs<'tcx> type Key = DefId; type Value = TransFnAttrs;
impl<'tcx> QueryConfig<'tcx> for fn_arg_names<'tcx> type Key = DefId; type Value = Vec<Name>;
impl<'tcx> QueryConfig<'tcx> for rendered_const<'tcx> type Key = DefId; type Value = String;
impl<'tcx> QueryConfig<'tcx> for impl_parent<'tcx> type Key = DefId; type Value = Option<DefId>;
impl<'tcx> QueryConfig<'tcx> for trait_of_item<'tcx> type Key = DefId; type Value = Option<DefId>;
impl<'tcx> QueryConfig<'tcx> for const_is_rvalue_promotable_to_static<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for rvalue_promotable_map<'tcx> type Key = DefId; type Value = Lrc<ItemLocalSet>;
impl<'tcx> QueryConfig<'tcx> for is_mir_available<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for vtable_methods<'tcx> type Key = PolyTraitRef<'tcx>; type Value = Lrc<Vec<Option<(DefId, &'tcx Substs<'tcx>)>>>;
impl<'tcx> QueryConfig<'tcx> for trans_fulfill_obligation<'tcx> type Key = (ParamEnv<'tcx>, PolyTraitRef<'tcx>); type Value = Vtable<'tcx, ()>;
impl<'tcx> QueryConfig<'tcx> for trait_impls_of<'tcx> type Key = DefId; type Value = Lrc<TraitImpls>;
impl<'tcx> QueryConfig<'tcx> for specialization_graph_of<'tcx> type Key = DefId; type Value = Lrc<Graph>;
impl<'tcx> QueryConfig<'tcx> for is_object_safe<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for param_env<'tcx> type Key = DefId; type Value = ParamEnv<'tcx>;
impl<'tcx> QueryConfig<'tcx> for is_copy_raw<'tcx> type Key = ParamEnvAnd<'tcx, Ty<'tcx>>; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_sized_raw<'tcx> type Key = ParamEnvAnd<'tcx, Ty<'tcx>>; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_freeze_raw<'tcx> type Key = ParamEnvAnd<'tcx, Ty<'tcx>>; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for needs_drop_raw<'tcx> type Key = ParamEnvAnd<'tcx, Ty<'tcx>>; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for layout_raw<'tcx> type Key = ParamEnvAnd<'tcx, Ty<'tcx>>; type Value = Result<&'tcx LayoutDetails, LayoutError<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for dylib_dependency_formats<'tcx> type Key = CrateNum; type Value = Lrc<Vec<(CrateNum, LinkagePreference)>>;
impl<'tcx> QueryConfig<'tcx> for is_panic_runtime<'tcx> type Key = CrateNum; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_compiler_builtins<'tcx> type Key = CrateNum; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for has_global_allocator<'tcx> type Key = CrateNum; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_sanitizer_runtime<'tcx> type Key = CrateNum; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_profiler_runtime<'tcx> type Key = CrateNum; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for panic_strategy<'tcx> type Key = CrateNum; type Value = PanicStrategy;
impl<'tcx> QueryConfig<'tcx> for is_no_builtins<'tcx> type Key = CrateNum; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for extern_crate<'tcx> type Key = DefId; type Value = Lrc<Option<ExternCrate>>;
impl<'tcx> QueryConfig<'tcx> for specializes<'tcx> type Key = (DefId, DefId); type Value = bool;
impl<'tcx> QueryConfig<'tcx> for in_scope_traits_map<'tcx> type Key = DefIndex; type Value = Option<Lrc<FxHashMap<ItemLocalId, Lrc<StableVec<TraitCandidate>>>>>;
impl<'tcx> QueryConfig<'tcx> for module_exports<'tcx> type Key = DefId; type Value = Option<Lrc<Vec<Export>>>;
impl<'tcx> QueryConfig<'tcx> for lint_levels<'tcx> type Key = CrateNum; type Value = Lrc<LintLevelMap>;
impl<'tcx> QueryConfig<'tcx> for impl_defaultness<'tcx> type Key = DefId; type Value = Defaultness;
impl<'tcx> QueryConfig<'tcx> for check_item_well_formed<'tcx> type Key = DefId; type Value = ();
impl<'tcx> QueryConfig<'tcx> for check_trait_item_well_formed<'tcx> type Key = DefId; type Value = ();
impl<'tcx> QueryConfig<'tcx> for check_impl_item_well_formed<'tcx> type Key = DefId; type Value = ();
impl<'tcx> QueryConfig<'tcx> for reachable_non_generics<'tcx> type Key = CrateNum; type Value = Lrc<DefIdMap<SymbolExportLevel>>;
impl<'tcx> QueryConfig<'tcx> for is_reachable_non_generic<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_unreachable_local_definition<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for upstream_monomorphizations<'tcx> type Key = CrateNum; type Value = Lrc<DefIdMap<Lrc<FxHashMap<&'tcx Substs<'tcx>, CrateNum>>>>;
impl<'tcx> QueryConfig<'tcx> for upstream_monomorphizations_for<'tcx> type Key = DefId; type Value = Option<Lrc<FxHashMap<&'tcx Substs<'tcx>, CrateNum>>>;
impl<'tcx> QueryConfig<'tcx> for native_libraries<'tcx> type Key = CrateNum; type Value = Lrc<Vec<NativeLibrary>>;
impl<'tcx> QueryConfig<'tcx> for foreign_modules<'tcx> type Key = CrateNum; type Value = Lrc<Vec<ForeignModule>>;
impl<'tcx> QueryConfig<'tcx> for plugin_registrar_fn<'tcx> type Key = CrateNum; type Value = Option<DefId>;
impl<'tcx> QueryConfig<'tcx> for derive_registrar_fn<'tcx> type Key = CrateNum; type Value = Option<DefId>;
impl<'tcx> QueryConfig<'tcx> for crate_disambiguator<'tcx> type Key = CrateNum; type Value = CrateDisambiguator;
impl<'tcx> QueryConfig<'tcx> for crate_hash<'tcx> type Key = CrateNum; type Value = Svh;
impl<'tcx> QueryConfig<'tcx> for original_crate_name<'tcx> type Key = CrateNum; type Value = Symbol;
impl<'tcx> QueryConfig<'tcx> for extra_filename<'tcx> type Key = CrateNum; type Value = String;
impl<'tcx> QueryConfig<'tcx> for implementations_of_trait<'tcx> type Key = (CrateNum, DefId); type Value = Lrc<Vec<DefId>>;
impl<'tcx> QueryConfig<'tcx> for all_trait_implementations<'tcx> type Key = CrateNum; type Value = Lrc<Vec<DefId>>;
impl<'tcx> QueryConfig<'tcx> for dllimport_foreign_items<'tcx> type Key = CrateNum; type Value = Lrc<FxHashSet<DefId>>;
impl<'tcx> QueryConfig<'tcx> for is_dllimport_foreign_item<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for is_statically_included_foreign_item<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for native_library_kind<'tcx> type Key = DefId; type Value = Option<NativeLibraryKind>;
impl<'tcx> QueryConfig<'tcx> for link_args<'tcx> type Key = CrateNum; type Value = Lrc<Vec<String>>;
impl<'tcx> QueryConfig<'tcx> for resolve_lifetimes<'tcx> type Key = CrateNum; type Value = Lrc<ResolveLifetimes>;
impl<'tcx> QueryConfig<'tcx> for named_region_map<'tcx> type Key = DefIndex; type Value = Option<Lrc<FxHashMap<ItemLocalId, Region>>>;
impl<'tcx> QueryConfig<'tcx> for is_late_bound_map<'tcx> type Key = DefIndex; type Value = Option<Lrc<FxHashSet<ItemLocalId>>>;
impl<'tcx> QueryConfig<'tcx> for object_lifetime_defaults_map<'tcx> type Key = DefIndex; type Value = Option<Lrc<FxHashMap<ItemLocalId, Lrc<Vec<ObjectLifetimeDefault>>>>>;
impl<'tcx> QueryConfig<'tcx> for visibility<'tcx> type Key = DefId; type Value = Visibility;
impl<'tcx> QueryConfig<'tcx> for dep_kind<'tcx> type Key = CrateNum; type Value = DepKind;
impl<'tcx> QueryConfig<'tcx> for crate_name<'tcx> type Key = CrateNum; type Value = Symbol;
impl<'tcx> QueryConfig<'tcx> for item_children<'tcx> type Key = DefId; type Value = Lrc<Vec<Export>>;
impl<'tcx> QueryConfig<'tcx> for extern_mod_stmt_cnum<'tcx> type Key = DefId; type Value = Option<CrateNum>;
impl<'tcx> QueryConfig<'tcx> for get_lang_items<'tcx> type Key = CrateNum; type Value = Lrc<LanguageItems>;
impl<'tcx> QueryConfig<'tcx> for defined_lang_items<'tcx> type Key = CrateNum; type Value = Lrc<Vec<(DefId, usize)>>;
impl<'tcx> QueryConfig<'tcx> for missing_lang_items<'tcx> type Key = CrateNum; type Value = Lrc<Vec<LangItem>>;
impl<'tcx> QueryConfig<'tcx> for visible_parent_map<'tcx> type Key = CrateNum; type Value = Lrc<DefIdMap<DefId>>;
impl<'tcx> QueryConfig<'tcx> for missing_extern_crate_item<'tcx> type Key = CrateNum; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for used_crate_source<'tcx> type Key = CrateNum; type Value = Lrc<CrateSource>;
impl<'tcx> QueryConfig<'tcx> for postorder_cnums<'tcx> type Key = CrateNum; type Value = Lrc<Vec<CrateNum>>;
impl<'tcx> QueryConfig<'tcx> for freevars<'tcx> type Key = DefId; type Value = Option<Lrc<Vec<Freevar>>>;
impl<'tcx> QueryConfig<'tcx> for maybe_unused_trait_import<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for maybe_unused_extern_crates<'tcx> type Key = CrateNum; type Value = Lrc<Vec<(DefId, Span)>>;
impl<'tcx> QueryConfig<'tcx> for stability_index<'tcx> type Key = CrateNum; type Value = Lrc<Index<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for all_crate_nums<'tcx> type Key = CrateNum; type Value = Lrc<Vec<CrateNum>>;
impl<'tcx> QueryConfig<'tcx> for all_traits<'tcx> type Key = CrateNum; type Value = Lrc<Vec<DefId>>;
impl<'tcx> QueryConfig<'tcx> for exported_symbols<'tcx> type Key = CrateNum; type Value = Arc<Vec<(ExportedSymbol<'tcx>, SymbolExportLevel)>>;
impl<'tcx> QueryConfig<'tcx> for collect_and_partition_translation_items<'tcx> type Key = CrateNum; type Value = (Arc<DefIdSet>, Arc<Vec<Arc<CodegenUnit<'tcx>>>>);
impl<'tcx> QueryConfig<'tcx> for is_translated_item<'tcx> type Key = DefId; type Value = bool;
impl<'tcx> QueryConfig<'tcx> for codegen_unit<'tcx> type Key = InternedString; type Value = Arc<CodegenUnit<'tcx>>;
impl<'tcx> QueryConfig<'tcx> for compile_codegen_unit<'tcx> type Key = InternedString; type Value = Stats;
impl<'tcx> QueryConfig<'tcx> for output_filenames<'tcx> type Key = CrateNum; type Value = Arc<OutputFilenames>;
impl<'tcx> QueryConfig<'tcx> for erase_regions_ty<'tcx> type Key = Ty<'tcx>; type Value = Ty<'tcx>;
impl<'tcx> QueryConfig<'tcx> for normalize_projection_ty<'tcx> type Key = CanonicalProjectionGoal<'tcx>; type Value = Result<Lrc<Canonical<'tcx, QueryResult<'tcx, NormalizationResult<'tcx>>>>, NoSolution>;
impl<'tcx> QueryConfig<'tcx> for normalize_ty_after_erasing_regions<'tcx> type Key = ParamEnvAnd<'tcx, Ty<'tcx>>; type Value = Ty<'tcx>;
impl<'tcx> QueryConfig<'tcx> for dropck_outlives<'tcx> type Key = CanonicalTyGoal<'tcx>; type Value = Result<Lrc<Canonical<'tcx, QueryResult<'tcx, DropckOutlivesResult<'tcx>>>>, NoSolution>;
impl<'tcx> QueryConfig<'tcx> for evaluate_obligation<'tcx> type Key = CanonicalPredicateGoal<'tcx>; type Value = Result<EvaluationResult, OverflowError>;
impl<'tcx> QueryConfig<'tcx> for substitute_normalize_and_test_predicates<'tcx> type Key = (DefId, &'tcx Substs<'tcx>); type Value = bool;
impl<'tcx> QueryConfig<'tcx> for target_features_whitelist<'tcx> type Key = CrateNum; type Value = Lrc<FxHashMap<String, Option<String>>>;
impl<'tcx> QueryConfig<'tcx> for instance_def_size_estimate<'tcx> type Key = InstanceDef<'tcx>; type Value = usize;
impl<'tcx> QueryConfig<'tcx> for features_query<'tcx> type Key = CrateNum; type Value = Lrc<Features>;
impl<'tcx> QueryConfig<'tcx> for program_clauses_for<'tcx> type Key = DefId; type Value = Clauses<'tcx>;
impl<'tcx> QueryConfig<'tcx> for program_clauses_for_env<'tcx> type Key = ParamEnv<'tcx>; type Value = Clauses<'tcx>;
impl<'tcx> QueryConfig<'tcx> for wasm_custom_sections<'tcx> type Key = CrateNum; type Value = Lrc<Vec<DefId>>;
impl<'tcx> QueryConfig<'tcx> for wasm_import_module_map<'tcx> type Key = CrateNum; type Value = Lrc<FxHashMap<DefId, String>>;