Skip to content

Commit 3e259b9

Browse files
committed
Make QueryDescription::reify an associated const.
1 parent 4b11ee8 commit 3e259b9

File tree

3 files changed

+16
-18
lines changed

3 files changed

+16
-18
lines changed

src/librustc/ty/query/config.rs

+10-12
Original file line numberDiff line numberDiff line change
@@ -99,18 +99,16 @@ pub(crate) trait QueryDescription<'tcx>: QueryAccessors<'tcx> {
9999
bug!("QueryDescription::load_from_disk() called for an unsupported query.")
100100
}
101101

102-
fn reify() -> QueryVtable<'tcx, Self::Key, Self::Value> {
103-
QueryVtable {
104-
anon: Self::ANON,
105-
dep_kind: Self::DEP_KIND,
106-
eval_always: Self::EVAL_ALWAYS,
107-
name: Self::NAME,
108-
compute: Self::COMPUTE_FN,
109-
hash_result: Self::hash_result,
110-
cache_on_disk: Self::cache_on_disk,
111-
try_load_from_disk: Self::try_load_from_disk,
112-
}
113-
}
102+
const VTABLE: QueryVtable<'tcx, Self::Key, Self::Value> = QueryVtable {
103+
anon: Self::ANON,
104+
dep_kind: Self::DEP_KIND,
105+
eval_always: Self::EVAL_ALWAYS,
106+
name: Self::NAME,
107+
compute: Self::COMPUTE_FN,
108+
hash_result: Self::hash_result,
109+
cache_on_disk: Self::cache_on_disk,
110+
try_load_from_disk: Self::try_load_from_disk,
111+
};
114112
}
115113

116114
impl<'tcx, M: QueryAccessors<'tcx, Key = DefId>> QueryDescription<'tcx> for M {

src/librustc/ty/query/on_disk_cache.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ impl<'sess> OnDiskCache<'sess> {
209209
encode_query_results(
210210
tcx,
211211
ty::query::queries::$query::query_state(tcx),
212-
&ty::query::queries::$query::reify(),
212+
&ty::query::queries::$query::VTABLE,
213213
enc,
214214
qri
215215
)?;

src/librustc/ty/query/plumbing.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -545,11 +545,11 @@ impl<'tcx> TyCtxt<'tcx> {
545545
// expensive for some `DepKind`s.
546546
if !self.dep_graph.is_fully_enabled() {
547547
let null_dep_node = DepNode::new_no_params(crate::dep_graph::DepKind::Null);
548-
return self.force_query_with_job(key, job, null_dep_node, &Q::reify()).0;
548+
return self.force_query_with_job(key, job, null_dep_node, &Q::VTABLE).0;
549549
}
550550

551551
if Q::ANON {
552-
let (result, dep_node_index) = self.try_execute_anon_query(key, job.id, &Q::reify());
552+
let (result, dep_node_index) = self.try_execute_anon_query(key, job.id, &Q::VTABLE);
553553

554554
job.complete(&result, dep_node_index);
555555

@@ -559,15 +559,15 @@ impl<'tcx> TyCtxt<'tcx> {
559559
let dep_node = Q::to_dep_node(self, &key);
560560

561561
if !Q::EVAL_ALWAYS {
562-
let loaded = self.start_incremental_query(key.clone(), &dep_node, job.id, &Q::reify());
562+
let loaded = self.start_incremental_query(key.clone(), &dep_node, job.id, &Q::VTABLE);
563563

564564
if let Some((result, dep_node_index)) = loaded {
565565
job.complete(&result, dep_node_index);
566566
return result;
567567
}
568568
}
569569

570-
let (result, dep_node_index) = self.force_query_with_job(key, job, dep_node, &Q::reify());
570+
let (result, dep_node_index) = self.force_query_with_job(key, job, dep_node, &Q::VTABLE);
571571
self.dep_graph.read_index(dep_node_index);
572572
result
573573
}
@@ -832,7 +832,7 @@ impl<'tcx> TyCtxt<'tcx> {
832832
#[cfg(parallel_compiler)]
833833
TryGetJob::JobCompleted(_) => return,
834834
};
835-
self.force_query_with_job(key, job, dep_node, &Q::reify());
835+
self.force_query_with_job(key, job, dep_node, &Q::VTABLE);
836836
},
837837
);
838838
}

0 commit comments

Comments
 (0)