1use rustc_middle::arena::Arena;
2use rustc_middle::bug;
3use rustc_middle::dep_graph::{DepKindVTable, DepNodeKey, KeyFingerprintStyle};
4use rustc_middle::query::QueryCache;
5
6use crate::incremental::promote_from_disk_inner;
7use crate::query_vtables::GetQueryVTable;
8
9#[expect(non_snake_case, reason = "use non-snake case to avoid collision with query names")]
11mod non_query {
12 use super::*;
13
14 pub(crate) fn Null<'tcx>() -> DepKindVTable<'tcx> {
16 DepKindVTable {
17 is_eval_always: false,
18 key_fingerprint_style: KeyFingerprintStyle::Unit,
19 force_from_dep_node_fn: Some(|_, dep_node, _| {
20 ::rustc_middle::util::bug::bug_fmt(format_args!("force_from_dep_node: encountered {0:?}",
dep_node))bug!("force_from_dep_node: encountered {dep_node:?}")
21 }),
22 promote_from_disk_fn: None,
23 }
24 }
25
26 pub(crate) fn Red<'tcx>() -> DepKindVTable<'tcx> {
28 DepKindVTable {
29 is_eval_always: false,
30 key_fingerprint_style: KeyFingerprintStyle::Unit,
31 force_from_dep_node_fn: Some(|_, dep_node, _| {
32 ::rustc_middle::util::bug::bug_fmt(format_args!("force_from_dep_node: encountered {0:?}",
dep_node))bug!("force_from_dep_node: encountered {dep_node:?}")
33 }),
34 promote_from_disk_fn: None,
35 }
36 }
37
38 pub(crate) fn SideEffect<'tcx>() -> DepKindVTable<'tcx> {
39 DepKindVTable {
40 is_eval_always: false,
41 key_fingerprint_style: KeyFingerprintStyle::Unit,
42 force_from_dep_node_fn: Some(|tcx, _, prev_index| {
43 tcx.dep_graph.force_side_effect(tcx, prev_index);
44 true
45 }),
46 promote_from_disk_fn: None,
47 }
48 }
49
50 pub(crate) fn AnonZeroDeps<'tcx>() -> DepKindVTable<'tcx> {
51 DepKindVTable {
52 is_eval_always: false,
53 key_fingerprint_style: KeyFingerprintStyle::Opaque,
54 force_from_dep_node_fn: Some(|_, _, _| ::rustc_middle::util::bug::bug_fmt(format_args!("cannot force an anon node"))bug!("cannot force an anon node")),
55 promote_from_disk_fn: None,
56 }
57 }
58
59 pub(crate) fn TraitSelect<'tcx>() -> DepKindVTable<'tcx> {
60 DepKindVTable {
61 is_eval_always: false,
62 key_fingerprint_style: KeyFingerprintStyle::Unit,
63 force_from_dep_node_fn: None,
64 promote_from_disk_fn: None,
65 }
66 }
67
68 pub(crate) fn CompileCodegenUnit<'tcx>() -> DepKindVTable<'tcx> {
69 DepKindVTable {
70 is_eval_always: false,
71 key_fingerprint_style: KeyFingerprintStyle::Opaque,
72 force_from_dep_node_fn: None,
73 promote_from_disk_fn: None,
74 }
75 }
76
77 pub(crate) fn CompileMonoItem<'tcx>() -> DepKindVTable<'tcx> {
78 DepKindVTable {
79 is_eval_always: false,
80 key_fingerprint_style: KeyFingerprintStyle::Opaque,
81 force_from_dep_node_fn: None,
82 promote_from_disk_fn: None,
83 }
84 }
85
86 pub(crate) fn Metadata<'tcx>() -> DepKindVTable<'tcx> {
87 DepKindVTable {
88 is_eval_always: false,
89 key_fingerprint_style: KeyFingerprintStyle::Unit,
90 force_from_dep_node_fn: None,
91 promote_from_disk_fn: None,
92 }
93 }
94}
95
96pub(crate) fn make_dep_kind_vtable_for_query<'tcx, Q>(
99 is_cache_on_disk: bool,
100 is_eval_always: bool,
101 is_no_force: bool,
102) -> DepKindVTable<'tcx>
103where
104 Q: GetQueryVTable<'tcx>,
105{
106 let key_fingerprint_style = <Q::Cache as QueryCache>::Key::key_fingerprint_style();
109 let can_recover = key_fingerprint_style.is_maybe_recoverable();
110
111 DepKindVTable {
112 is_eval_always,
113 key_fingerprint_style,
114 force_from_dep_node_fn: (can_recover && !is_no_force).then_some(
115 |tcx, dep_node, _prev_index| {
116 let query = Q::query_vtable(tcx);
117 crate::execution::force_query_dep_node(tcx, query, dep_node)
118 },
119 ),
120 promote_from_disk_fn: (can_recover && is_cache_on_disk).then_some(
121 |tcx, dep_node, prev_index, dep_node_index| {
122 let query = Q::query_vtable(tcx);
123 promote_from_disk_inner(tcx, query, dep_node, prev_index, dep_node_index)
124 },
125 ),
126 }
127}
128
129macro_rules! define_dep_kind_vtables {
130 (
131 queries {
132 $(
133 $(#[$attr:meta])*
134 fn $name:ident($K:ty) -> $V:ty
135 {
136 arena_cache: $arena_cache:literal,
138 cache_on_disk: $cache_on_disk:literal,
139 depth_limit: $depth_limit:literal,
140 desc: $desc:expr,
141 eval_always: $eval_always:literal,
142 feedable: $feedable:literal,
143 handle_cycle_error: $handle_cycle_error:literal,
144 no_force: $no_force:literal,
145 no_hash: $no_hash:literal,
146 returns_error_guaranteed: $returns_error_guaranteed:literal,
147 separate_provide_extern: $separate_provide_extern:literal,
148 }
149 )*
150 }
151 non_queries {
152 $(
153 $(#[$nq_attr:meta])*
154 $nq_name:ident,
155 )*
156 }
157 ) => {{
158 let nq_vtables = [
160 $(
161 non_query::$nq_name(),
162 )*
163 ];
164
165 let q_vtables: [DepKindVTable<'tcx>; _] = [
167 $(
168 $crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<
169 $crate::query_vtables::$name::VTableGetter,
170 >(
171 $cache_on_disk,
172 $eval_always,
173 $no_force,
174 )
175 ),*
176 ];
177
178 (nq_vtables, q_vtables)
179 }}
180}
181
182pub fn make_dep_kind_vtables<'tcx>(arena: &'tcx Arena<'tcx>) -> &'tcx [DepKindVTable<'tcx>] {
184 let (nq_vtables, q_vtables) =
185 {
let nq_vtables =
[non_query::Null(), non_query::Red(), non_query::SideEffect(),
non_query::AnonZeroDeps(), non_query::TraitSelect(),
non_query::CompileCodegenUnit(), non_query::CompileMonoItem(),
non_query::Metadata()];
let q_vtables: [DepKindVTable<'tcx>; _] =
[crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::derive_macro_expansion::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::trigger_delayed_bug::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::registered_attr_tools::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::registered_lint_tools::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::early_lint_checks::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::env_var_os::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::resolutions::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::resolver_for_lowering_raw::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::index_ast::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::source_span::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lower_to_hir::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::hir_owner::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::hir_crate_items::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::hir_module_items::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::hir_owner_parent_q::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::hir_attr_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::const_param_default::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::const_of_item::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_of_opaque::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_of_opaque_hir_typeck::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_alias_is_checked::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::collect_return_position_impl_trait_in_trait_tys::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::opaque_ty_origin::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::unsizing_params_for_adt::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::analysis::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_expectations::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::generics_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::clauses_of::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::opaque_types_defined_by::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::nested_bodies_within::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::explicit_item_bounds::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::explicit_item_self_bounds::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::item_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::item_self_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::item_non_self_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::impl_super_outlives::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::native_libraries::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::shallow_lint_levels_on::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lint_expectations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::skippable_lints::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::expn_that_defined::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_panic_runtime::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_representability::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_representability_adt_ty::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::params_in_repr::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::thir_body::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_keys::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_const_qualif::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_built::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::thir_abstract_const::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_drops_elaborated_and_const_checked::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_for_ctfe::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_promoted::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::closure_typeinfo::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::closure_saved_names_of_captured_variables::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_coroutine_witnesses::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_coroutine_obligations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_potentially_region_dependent_goals::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::optimized_mir::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coverage_attr_on::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coverage_ids_info::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::promoted_mir::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::erase_and_anonymize_regions_ty::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::wasm_import_module_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::trait_explicit_clauses_and_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::explicit_clauses_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::inferred_outlives_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::explicit_super_clauses_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::explicit_implied_clauses_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::explicit_supertraits_containing_assoc_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::const_conditions::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::explicit_implied_const_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_param_clauses::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::trait_def::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_def::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_destructor::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_async_destructor::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_sizedness_constraint::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_dtorck_constraint::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::constness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::asyncness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_promotable_const_fn::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coroutine_by_move_body_def_id::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coroutine_kind::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coroutine_for_closure::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coroutine_hidden_types::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_variances::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::variances_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::inferred_outlives_crate::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::associated_item_def_ids::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::associated_item::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::associated_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::impl_item_implementor_ids::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::associated_types_for_impl_traits_in_trait_or_impl::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::impl_trait_header::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::impl_is_fully_generic_for_reflection::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::impl_self_is_guaranteed_unsized::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::inherent_impls::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::incoherent_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_transmutes::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_offloads::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_unsafety::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_tail_calls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::assumed_wf_types::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::assumed_wf_types_for_rpitit::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::fn_sig::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lint_mod::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_unused_traits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_mod_attrs::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_mod_unstable_api_usage::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_mod_privacy::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_liveness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::live_symbols_and_ignored_derived_traits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_mod_deathness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_type_wf::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coerce_unsized_info::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::typeck_root::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::used_trait_imports::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::coherent_trait::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_borrowck::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_inherent_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_inherent_impls_validity_check::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_inherent_impls_overlap_check::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::orphan_check_impl::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_callgraph_cyclic::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_inliner_callees::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::tag_for_variant::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::eval_to_allocation_raw::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::eval_static_initializer::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::eval_to_const_value_raw::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::eval_to_valtree::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::valtree_to_const_val::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lit_to_const::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_match::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::effective_visibilities::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_private_in_public::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::reachable_set::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::region_scope_tree::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::mir_shims::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::symbol_name::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::def_kind::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::def_span::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::def_ident_span::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::ty_span::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lookup_stability::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lookup_const_stability::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lookup_default_body_stability::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::should_inherit_track_caller::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::inherited_align::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lookup_deprecation_entry::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_doc_hidden::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_doc_notable_trait::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::attrs_for_def::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::codegen_fn_attrs::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::asm_target_features::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::fn_arg_idents::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::rendered_const::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::rendered_precise_capturing_args::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::impl_parent::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_mir_available::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::own_existential_vtable_entries::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::vtable_entries::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::first_method_vtable_slot::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::supertrait_vtable_slot::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::vtable_allocation::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::codegen_select_candidate::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::all_local_trait_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::local_trait_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::trait_impls_of::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::specialization_graph_of::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::dyn_compatibility_violations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_dyn_compatible::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::param_env::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::param_env_normalized_for_post_analysis::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_copy_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_use_cloned_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_sized_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_freeze_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_unsafe_unpin_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_unpin_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_async_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::needs_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::needs_async_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::has_significant_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::has_structural_eq_impl::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_drop_tys::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_async_drop_tys::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::adt_significant_drop_tys::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::list_significant_drop_tys::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::layout_of::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::fn_abi_of_fn_ptr::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::fn_abi_of_instance_no_deduced_attrs::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::fn_abi_of_instance_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::dylib_dependency_formats::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::dependency_formats::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_compiler_builtins::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::has_global_allocator::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::has_alloc_error_handler::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::has_panic_handler::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_profiler_runtime::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::has_ffi_unwind_calls::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::required_panic_strategy::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::panic_in_drop_strategy::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_no_builtins::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::symbol_mangling_version::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::extern_crate::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::specialization_enabled_in::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::specializes::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::defaultness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::default_field::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_well_formed::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::enforce_impl_non_lifetime_params_are_constrained::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::reachable_non_generics::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_reachable_non_generic::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_unreachable_local_definition::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::upstream_monomorphizations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::upstream_monomorphizations_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::upstream_drop_glue_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::upstream_async_drop_glue_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::foreign_modules::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::clashing_extern_declarations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::entry_fn::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::proc_macro_decls_static::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_hash::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_host_hash::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::extra_filename::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_extern_paths::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::implementations_of_trait::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_incoherent_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::native_library::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::inherit_sig_for_delegation_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::delegation_user_specified_args::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::resolve_bound_vars::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::named_variable_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_late_bound_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::object_lifetime_default::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::late_bound_vars_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::opaque_captured_lifetimes::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::live_args_for_alias_from_outlives_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::args_known_to_outlive_alias_params::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::visibility::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::inhabited_predicate_adt::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::inhabited_predicate_type::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_opsem_inhabited_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_dep_kind::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_name::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::module_children::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::num_extern_def_ids::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::lib_features::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::stability_implications::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::intrinsic_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::get_lang_items::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::all_diagnostic_items::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::all_canonical_symbols::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::defined_lang_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::diagnostic_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::canonical_symbols::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::missing_lang_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::visible_parent_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::trimmed_def_paths::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::missing_extern_crate_item::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::used_crate_source::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::debugger_visualizers::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::postorder_cnums::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_private_dep::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::allocator_kind::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::alloc_error_handler_kind::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::upvars_mentioned::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crates::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::used_crates::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::duplicate_crate_names::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::traits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::trait_impls_in_crate::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::stable_order_of_exportable_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::exportable_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::exported_non_generic_symbols::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::exported_generic_symbols::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::collect_and_partition_mono_items::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_codegened_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::codegen_unit::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::backend_optimization_level::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::output_filenames::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::normalize_canonicalized_projection::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::normalize_canonicalized_free_alias::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::normalize_canonicalized_inherent_projection::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::try_normalize_generic_arg_after_erasing_regions::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::implied_outlives_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::dropck_outlives::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::evaluate_obligation::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_op_ascribe_user_type::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_op_prove_predicate::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_op_normalize_ty::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_op_normalize_clause::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_op_normalize_poly_fn_sig::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::type_op_normalize_fn_sig::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::instantiate_and_check_impossible_clauses::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::is_impossible_associated_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::method_autoderef_steps::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::evaluate_root_goal_for_proof_tree_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::rust_target_features::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::implied_target_features::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::features_query::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::crate_for_resolver::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::resolve_instance_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::reveal_opaque_types_in_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::limits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::diagnostic_hir_wf_check::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::global_backend_features::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_validity_requirement::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::compare_impl_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::deduced_param_attrs::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::doc_link_resolutions::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::doc_link_traits_in_scope::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::stripped_cfg_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::generics_require_sized_self::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::cross_crate_inlinable::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_mono_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::items_of_instance::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::size_estimate::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::anon_const_kind::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::trivial_const::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::sanitizer_settings_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::check_externally_implementable_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::externally_implementable_items::VTableGetter>(true,
false, false)];
(nq_vtables, q_vtables)
}rustc_middle::queries::rustc_with_all_queries! { define_dep_kind_vtables! };
186
187 arena.alloc_from_iter(nq_vtables.into_iter().chain(q_vtables.into_iter()))
189}