pub trait QueryDescription<CTX: QueryContext>: QueryConfig {
    type Cache: QueryCache<Key = Self::Key, Stored = Self::Stored, Value = Self::Value>;

    fn describe(tcx: CTX, key: Self::Key) -> String;
    fn query_state<'a>(tcx: CTX) -> &'a QueryState<Self::Key>
   where
        CTX: 'a
; fn query_cache<'a>(tcx: CTX) -> &'a Self::Cache
   where
        CTX: 'a
; fn make_vtable(
        tcx: CTX,
        key: &Self::Key
    ) -> QueryVTable<CTX, Self::Key, Self::Value>; fn cache_on_disk(tcx: CTX::DepContext, key: &Self::Key) -> bool; fn execute_query(tcx: CTX::DepContext, k: Self::Key) -> Self::Stored; }

Required Associated Types

Required Methods

Implementors

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for resolutions<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for source_span<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for hir_crate<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for hir_crate_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for hir_module_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for hir_owner<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for hir_owner_parent<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for hir_owner_nodes<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for hir_attrs<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for opt_const_param_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for const_param_default<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for type_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for analysis<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_expectations<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for generics_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for predicates_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for explicit_item_bounds<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for item_bounds<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for native_libraries<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for lint_expectations<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for expn_that_defined<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_panic_runtime<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for thir_body<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for thir_tree<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_keys<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_const_qualif<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_built<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_const<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for thir_abstract_const<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_for_ctfe<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_promoted<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for optimized_mir<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for coverageinfo<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for covered_code_regions<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for promoted_mir<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for erase_regions_ty<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for inferred_outlives_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for super_predicates_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for trait_def<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for adt_def<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for adt_destructor<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for adt_sized_constraint<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for constness<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for asyncness<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_foreign_item<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for generator_kind<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for crate_variances<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for variances_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for associated_item<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for associated_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for impl_trait_ref<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for impl_polarity<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for issue33140_self_ty<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for inherent_impls<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for incoherent_impls<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for thir_check_unsafety<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for assumed_wf_types<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for fn_sig<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for lint_mod<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_mod_attrs<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_mod_loops<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_mod_item_types<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_mod_privacy<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_liveness<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_mod_deathness<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_mod_impl_wf<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_mod_type_wf<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for coerce_unsized_info<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for typeck_item_bodies<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for typeck<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for typeck_const_arg<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for used_trait_imports<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for has_typeck_results<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for coherent_trait<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_borrowck<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for crate_inherent_impls<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for orphan_check_impl<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_inliner_callees<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for eval_to_valtree<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for valtree_to_const_val<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for destructure_const<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for deref_mir_constant<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for lit_to_const<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for lit_to_mir_constant<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_match<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for reachable_set<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for region_scope_tree<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for mir_shims<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for symbol_name<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for opt_def_kind<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for def_span<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for def_ident_span<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for lookup_stability<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_doc_hidden<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for item_attrs<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for codegen_fn_attrs<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for asm_target_features<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for fn_arg_names<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for rendered_const<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for impl_parent<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_mir_available<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for vtable_entries<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for vtable_allocation<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for trait_impls_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for param_env<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_copy_raw<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_sized_raw<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_freeze_raw<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_unpin_raw<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for needs_drop_raw<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for adt_drop_tys<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for layout_of<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for fn_abi_of_fn_ptr<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for fn_abi_of_instance<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for dependency_formats<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_compiler_builtins<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for has_global_allocator<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for has_panic_handler<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_profiler_runtime<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for has_ffi_unwind_calls<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_no_builtins<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for extern_crate<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for specializes<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for in_scope_traits_map<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for module_reexports<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for impl_defaultness<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for check_well_formed<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for foreign_modules<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for entry_fn<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for crate_hash<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for crate_host_hash<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for extra_filename<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for crate_extern_paths<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for native_library_kind<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for native_library<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for resolve_lifetimes<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for named_region_map<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_late_bound_map<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for late_bound_vars_map<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for visibility<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for dep_kind<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for crate_name<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for module_children<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for extern_mod_stmt_cnum<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for lib_features<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for defined_lib_features<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_intrinsic<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for get_lang_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for all_diagnostic_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for defined_lang_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for diagnostic_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for missing_lang_items<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for visible_parent_map<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for trimmed_def_paths<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for used_crate_source<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for debugger_visualizers<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for postorder_cnums<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_private_dep<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for allocator_kind<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for upvars_mentioned<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for stability_index<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for crates<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for traits_in_crate<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for exported_symbols<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_codegened_item<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for codegen_unit<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for output_filenames<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for dropck_outlives<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for evaluate_obligation<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for evaluate_goal<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for type_op_eq<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for type_op_subtype<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for type_op_normalize_ty<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for is_impossible_method<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for features_query<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for resolve_instance<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for limits<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for permits_uninit_init<'tcx>

impl<'tcx> QueryDescription<QueryCtxt<'tcx>> for permits_zero_init<'tcx>