1use rustc_middle::arena::Arena;
2use rustc_middle::dep_graph::{DepKindVTable, DepNodeKey, KeyFingerprintStyle};
3use rustc_middle::query::QueryCache;
4use rustc_span::bug;
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")]
16mod non_query {
17 use super::*;
18
19 pub(crate) fn Null<'tcx>() -> DepKindVTable<'tcx> {
20 DepKindVTable {
21 is_eval_always: false,
22 key_fingerprint_style: KeyFingerprintStyle::Unit,
23 force_from_dep_node_fn: Some(|_, dep_node, _| {
24 ::rustc_span::macros::bug_impl(None,
format_args!("force_from_dep_node: encountered {0:?}", dep_node),
Location::caller())bug!("force_from_dep_node: encountered {dep_node:?}")
25 }),
26 promote_from_disk_fn: None,
27 }
28 }
29
30 pub(crate) fn Red<'tcx>() -> DepKindVTable<'tcx> {
31 DepKindVTable {
32 is_eval_always: false,
33 key_fingerprint_style: KeyFingerprintStyle::Unit,
34 force_from_dep_node_fn: Some(|_, dep_node, _| {
35 ::rustc_span::macros::bug_impl(None,
format_args!("force_from_dep_node: encountered {0:?}", dep_node),
Location::caller())bug!("force_from_dep_node: encountered {dep_node:?}")
36 }),
37 promote_from_disk_fn: None,
38 }
39 }
40
41 pub(crate) fn SideEffect<'tcx>() -> DepKindVTable<'tcx> {
42 DepKindVTable {
43 is_eval_always: false,
44 key_fingerprint_style: KeyFingerprintStyle::Unit,
45 force_from_dep_node_fn: Some(|tcx, _, prev_index| {
46 tcx.dep_graph.force_side_effect(tcx, prev_index);
47 true
48 }),
49 promote_from_disk_fn: None,
50 }
51 }
52
53 pub(crate) fn AnonZeroDeps<'tcx>() -> DepKindVTable<'tcx> {
54 DepKindVTable {
55 is_eval_always: false,
56 key_fingerprint_style: KeyFingerprintStyle::Opaque,
57 force_from_dep_node_fn: Some(|_, _, _| ::rustc_span::macros::bug_impl(None,
format_args!("cannot force an anon node"), Location::caller())bug!("cannot force an anon node")),
58 promote_from_disk_fn: None,
59 }
60 }
61
62 pub(crate) fn TraitSelect<'tcx>() -> DepKindVTable<'tcx> {
63 DepKindVTable {
64 is_eval_always: false,
65 key_fingerprint_style: KeyFingerprintStyle::Unit,
66 force_from_dep_node_fn: None,
67 promote_from_disk_fn: None,
68 }
69 }
70
71 pub(crate) fn CompileCodegenUnit<'tcx>() -> DepKindVTable<'tcx> {
72 DepKindVTable {
73 is_eval_always: false,
74 key_fingerprint_style: KeyFingerprintStyle::Opaque,
75 force_from_dep_node_fn: None,
76 promote_from_disk_fn: None,
77 }
78 }
79
80 pub(crate) fn CompileMonoItem<'tcx>() -> DepKindVTable<'tcx> {
81 DepKindVTable {
82 is_eval_always: false,
83 key_fingerprint_style: KeyFingerprintStyle::Opaque,
84 force_from_dep_node_fn: None,
85 promote_from_disk_fn: None,
86 }
87 }
88
89 pub(crate) fn Metadata<'tcx>() -> DepKindVTable<'tcx> {
90 DepKindVTable {
91 is_eval_always: false,
92 key_fingerprint_style: KeyFingerprintStyle::Unit,
93 force_from_dep_node_fn: None,
94 promote_from_disk_fn: None,
95 }
96 }
97}
98
99pub(crate) fn make_dep_kind_vtable_for_query<'tcx, Q>(
102 is_cache_on_disk: bool,
103 is_eval_always: bool,
104 is_no_force: bool,
105) -> DepKindVTable<'tcx>
106where
107 Q: GetQueryVTable<'tcx>,
108{
109 let key_fingerprint_style = <Q::Cache as QueryCache>::Key::key_fingerprint_style();
112 let can_recover = key_fingerprint_style.is_maybe_recoverable();
113
114 DepKindVTable {
115 is_eval_always,
116 key_fingerprint_style,
117 force_from_dep_node_fn: (can_recover && !is_no_force).then_some(
118 |tcx, dep_node, _prev_index| {
119 let query = Q::query_vtable(tcx);
120 crate::execution::force_query_dep_node(tcx, query, dep_node)
121 },
122 ),
123 promote_from_disk_fn: (can_recover && is_cache_on_disk).then_some(
124 |tcx, dep_node, prev_index, dep_node_index| {
125 let query = Q::query_vtable(tcx);
126 promote_from_disk_inner(tcx, query, dep_node, prev_index, dep_node_index)
127 },
128 ),
129 }
130}
131
132macro_rules! define_dep_kind_vtables {
133 (
134 queries {
135 $(
136 $(#[$attr:meta])*
137 fn $name:ident($K:ty) -> $V:ty
138 {
139 arena_cache: $arena_cache:literal,
141 cache_on_disk: $cache_on_disk:literal,
142 depth_limit: $depth_limit:literal,
143 desc: $desc:expr,
144 eval_always: $eval_always:literal,
145 feedable: $feedable:literal,
146 handle_cycle_error: $handle_cycle_error:literal,
147 no_force: $no_force:literal,
148 no_hash: $no_hash:literal,
149 returns_error_guaranteed: $returns_error_guaranteed:literal,
150 separate_provide_extern: $separate_provide_extern:literal,
151 }
152 )*
153 }
154 non_queries {
155 $(
156 $(#[$nq_attr:meta])*
157 $nq_name:ident,
158 )*
159 }
160 ) => {{
161 let nq_vtables = [
163 $(
164 non_query::$nq_name(),
165 )*
166 ];
167
168 let q_vtables: [DepKindVTable<'tcx>; _] = [
170 $(
171 $crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<
172 $crate::query_vtables::$name::VTableGetter,
173 >(
174 $cache_on_disk,
175 $eval_always,
176 $no_force,
177 )
178 ),*
179 ];
180
181 (nq_vtables, q_vtables)
182 }}
183}
184
185pub(crate) fn make_dep_kind_vtables<'tcx>(arena: &'tcx Arena<'tcx>) -> &'tcx [DepKindVTable<'tcx>] {
187 let (nq_vtables, q_vtables) =
188 {
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::resolve_type_relative_delegations::VTableGetter>(false,
false, 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::is_eligible_for_coverage::VTableGetter>(false,
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_codegen_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_for_def::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::mir_borrowck_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::all_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::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),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::fake_doc_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_vtables::all_fake_doc_items::VTableGetter>(false,
true, false)];
(nq_vtables, q_vtables)
}rustc_middle::queries::rustc_with_all_queries! { define_dep_kind_vtables! };
189
190 arena.alloc_from_iter(nq_vtables.into_iter().chain(q_vtables.into_iter()))
192}