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::GetQueryVTable;
7use crate::plumbing::{force_from_dep_node_inner, promote_from_disk_inner};
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_anon: bool,
100 is_cache_on_disk: bool,
101 is_eval_always: bool,
102) -> DepKindVTable<'tcx>
103where
104 Q: GetQueryVTable<'tcx>,
105{
106 let key_fingerprint_style = if is_anon {
107 KeyFingerprintStyle::Opaque
108 } else {
109 <Q::Cache as QueryCache>::Key::key_fingerprint_style()
110 };
111
112 let can_recover = key_fingerprint_style.is_maybe_recoverable();
115 if is_anon {
116 if !!can_recover {
::core::panicking::panic("assertion failed: !can_recover")
};assert!(!can_recover);
117 }
118
119 DepKindVTable {
120 is_eval_always,
121 key_fingerprint_style,
122 force_from_dep_node_fn: can_recover.then_some(force_from_dep_node_inner::<Q>),
123 promote_from_disk_fn: (can_recover && is_cache_on_disk)
124 .then_some(promote_from_disk_inner::<Q>),
125 }
126}
127
128macro_rules! define_dep_kind_vtables {
129 (
130 queries {
131 $(
132 $(#[$attr:meta])*
133 fn $name:ident($K:ty) -> $V:ty
134 {
135 anon: $anon:literal,
137 arena_cache: $arena_cache:literal,
138 cache_on_disk: $cache_on_disk:literal,
139 cycle_error_handling: $cycle_error_handling:ident,
140 depth_limit: $depth_limit:literal,
141 eval_always: $eval_always:literal,
142 feedable: $feedable:literal,
143 no_hash: $no_hash:literal,
144 return_result_from_ensure_ok: $return_result_from_ensure_ok:literal,
145 separate_provide_extern: $separate_provide_extern:literal,
146 }
147 )*
148 }
149 non_queries {
150 $(
151 $(#[$nq_attr:meta])*
152 $nq_name:ident,
153 )*
154 }
155 ) => {{
156 let nq_vtables = [
158 $(
159 non_query::$nq_name(),
160 )*
161 ];
162
163 let q_vtables: [DepKindVTable<'tcx>; _] = [
165 $(
166 $crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<
167 $crate::query_impl::$name::VTableGetter,
168 >(
169 $anon,
170 $cache_on_disk,
171 $eval_always,
172 )
173 ),*
174 ];
175
176 (nq_vtables, q_vtables)
177 }}
178}
179
180pub fn make_dep_kind_vtables<'tcx>(arena: &'tcx Arena<'tcx>) -> &'tcx [DepKindVTable<'tcx>] {
182 let (nq_vtables, q_vtables) =
183 {
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_impl::derive_macro_expansion::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::trigger_delayed_bug::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::registered_tools::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::early_lint_checks::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::env_var_os::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::resolutions::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::resolver_for_lowering_raw::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::source_span::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::hir_crate::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::hir_crate_items::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::hir_module_items::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::local_def_id_to_hir_id::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::hir_owner_parent_q::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::opt_hir_owner_nodes::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::hir_attr_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::opt_ast_lowering_delayed_lints::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::const_param_default::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::const_of_item::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_of_opaque::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_of_opaque_hir_typeck::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_alias_is_lazy::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::collect_return_position_impl_trait_in_trait_tys::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::opaque_ty_origin::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::unsizing_params_for_adt::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::analysis::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_expectations::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::generics_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::predicates_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::opaque_types_defined_by::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::nested_bodies_within::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::explicit_item_bounds::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::explicit_item_self_bounds::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::item_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::item_self_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::item_non_self_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::impl_super_outlives::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::native_libraries::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::shallow_lint_levels_on::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lint_expectations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lints_that_dont_need_to_run::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::expn_that_defined::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_panic_runtime::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_representability::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_representability_adt_ty::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::params_in_repr::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::thir_body::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_keys::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_const_qualif::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_built::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::thir_abstract_const::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_drops_elaborated_and_const_checked::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_for_ctfe::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_promoted::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::closure_typeinfo::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::closure_saved_names_of_captured_variables::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_coroutine_witnesses::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_coroutine_obligations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_potentially_region_dependent_goals::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::optimized_mir::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coverage_attr_on::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coverage_ids_info::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::promoted_mir::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::erase_and_anonymize_regions_ty::VTableGetter>(true,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::wasm_import_module_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::trait_explicit_predicates_and_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::explicit_predicates_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::inferred_outlives_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::explicit_super_predicates_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::explicit_implied_predicates_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::explicit_supertraits_containing_assoc_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::const_conditions::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::explicit_implied_const_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_param_predicates::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::trait_def::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_def::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_destructor::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_async_destructor::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_sizedness_constraint::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_dtorck_constraint::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::constness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::asyncness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_promotable_const_fn::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coroutine_by_move_body_def_id::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coroutine_kind::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coroutine_for_closure::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coroutine_hidden_types::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_variances::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::variances_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::inferred_outlives_crate::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::associated_item_def_ids::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::associated_item::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::associated_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::impl_item_implementor_ids::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::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_impl::impl_trait_header::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::impl_self_is_guaranteed_unsized::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::inherent_impls::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::incoherent_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_transmutes::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_unsafety::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_tail_calls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::assumed_wf_types::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::assumed_wf_types_for_rpitit::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::fn_sig::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lint_mod::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_unused_traits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_mod_attrs::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_mod_unstable_api_usage::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_mod_privacy::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_liveness::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::live_symbols_and_ignored_derived_traits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_mod_deathness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_type_wf::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coerce_unsized_info::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::typeck::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::used_trait_imports::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::coherent_trait::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_borrowck::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_inherent_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_inherent_impls_validity_check::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_inherent_impls_overlap_check::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::orphan_check_impl::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_callgraph_cyclic::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_inliner_callees::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::tag_for_variant::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::eval_to_allocation_raw::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::eval_static_initializer::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::eval_to_const_value_raw::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::eval_to_valtree::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::valtree_to_const_val::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lit_to_const::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_match::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::effective_visibilities::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_private_in_public::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::reachable_set::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::region_scope_tree::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::mir_shims::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::symbol_name::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::def_kind::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::def_span::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::def_ident_span::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::ty_span::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lookup_stability::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lookup_const_stability::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lookup_default_body_stability::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::should_inherit_track_caller::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::inherited_align::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lookup_deprecation_entry::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_doc_hidden::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_doc_notable_trait::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::attrs_for_def::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::codegen_fn_attrs::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::asm_target_features::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::fn_arg_idents::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::rendered_const::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::rendered_precise_capturing_args::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::impl_parent::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_mir_available::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::own_existential_vtable_entries::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::vtable_entries::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::first_method_vtable_slot::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::supertrait_vtable_slot::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::vtable_allocation::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::codegen_select_candidate::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::all_local_trait_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::local_trait_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::trait_impls_of::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::specialization_graph_of::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::dyn_compatibility_violations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_dyn_compatible::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::param_env::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::typing_env_normalized_for_post_analysis::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_copy_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_use_cloned_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_sized_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_freeze_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_unsafe_unpin_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_unpin_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_async_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::needs_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::needs_async_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::has_significant_drop_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::has_structural_eq_impl::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_drop_tys::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_async_drop_tys::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::adt_significant_drop_tys::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::list_significant_drop_tys::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::layout_of::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::fn_abi_of_fn_ptr::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::fn_abi_of_instance_no_deduced_attrs::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::fn_abi_of_instance_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::dylib_dependency_formats::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::dependency_formats::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_compiler_builtins::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::has_global_allocator::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::has_alloc_error_handler::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::has_panic_handler::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_profiler_runtime::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::has_ffi_unwind_calls::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::required_panic_strategy::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::panic_in_drop_strategy::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_no_builtins::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::symbol_mangling_version::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::extern_crate::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::specialization_enabled_in::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::specializes::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::in_scope_traits_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::defaultness::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::default_field::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_well_formed::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::enforce_impl_non_lifetime_params_are_constrained::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::reachable_non_generics::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_reachable_non_generic::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_unreachable_local_definition::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::upstream_monomorphizations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::upstream_monomorphizations_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::upstream_drop_glue_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::upstream_async_drop_glue_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::foreign_modules::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::clashing_extern_declarations::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::entry_fn::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::proc_macro_decls_static::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_hash::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_host_hash::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::extra_filename::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_extern_paths::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::implementations_of_trait::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_incoherent_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::native_library::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::inherit_sig_for_delegation_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::resolve_bound_vars::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::named_variable_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_late_bound_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::object_lifetime_default::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::late_bound_vars_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::opaque_captured_lifetimes::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::visibility::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::inhabited_predicate_adt::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::inhabited_predicate_type::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_dep_kind::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_name::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::module_children::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::num_extern_def_ids::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::lib_features::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::stability_implications::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::intrinsic_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::get_lang_items::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::all_diagnostic_items::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::defined_lang_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::diagnostic_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::missing_lang_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::visible_parent_map::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::trimmed_def_paths::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::missing_extern_crate_item::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::used_crate_source::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::debugger_visualizers::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::postorder_cnums::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_private_dep::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::allocator_kind::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::alloc_error_handler_kind::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::upvars_mentioned::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crates::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::used_crates::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::duplicate_crate_names::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::traits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::trait_impls_in_crate::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::stable_order_of_exportable_impls::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::exportable_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::exported_non_generic_symbols::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::exported_generic_symbols::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::collect_and_partition_mono_items::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_codegened_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::codegen_unit::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::backend_optimization_level::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::output_filenames::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::normalize_canonicalized_projection::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::normalize_canonicalized_free_alias::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::normalize_canonicalized_inherent_projection::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::try_normalize_generic_arg_after_erasing_regions::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::implied_outlives_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::dropck_outlives::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::evaluate_obligation::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_op_ascribe_user_type::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_op_prove_predicate::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_op_normalize_ty::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_op_normalize_clause::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_op_normalize_poly_fn_sig::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::type_op_normalize_fn_sig::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::instantiate_and_check_impossible_predicates::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::is_impossible_associated_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::method_autoderef_steps::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::evaluate_root_goal_for_proof_tree_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::rust_target_features::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::implied_target_features::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::features_query::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::crate_for_resolver::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::resolve_instance_raw::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::reveal_opaque_types_in_bounds::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::limits::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::diagnostic_hir_wf_check::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::global_backend_features::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_validity_requirement::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::compare_impl_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::deduced_param_attrs::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::doc_link_resolutions::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::doc_link_traits_in_scope::VTableGetter>(false,
false, true),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::stripped_cfg_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::generics_require_sized_self::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::cross_crate_inlinable::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_mono_item::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::skip_move_check_fns::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::items_of_instance::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::size_estimate::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::anon_const_kind::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::trivial_const::VTableGetter>(false,
true, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::sanitizer_settings_for::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::check_externally_implementable_items::VTableGetter>(false,
false, false),
crate::dep_kind_vtables::make_dep_kind_vtable_for_query::<crate::query_impl::externally_implementable_items::VTableGetter>(false,
true, false)];
(nq_vtables, q_vtables)
}rustc_middle::rustc_with_all_queries! { define_dep_kind_vtables! };
184
185 arena.alloc_from_iter(nq_vtables.into_iter().chain(q_vtables.into_iter()))
187}