|
5 | 5 | use crate::dep_graph::{DepKind, DepNode, DepNodeIndex, SerializedDepNodeIndex};
|
6 | 6 | use crate::ich::StableHashingContext;
|
7 | 7 | use crate::ty::query::caches::QueryCache;
|
8 |
| -use crate::ty::query::config::QueryAccessors; |
| 8 | +use crate::ty::query::config::{QueryAccessors, QueryDescription}; |
9 | 9 | use crate::ty::query::job::{QueryInfo, QueryJob, QueryJobId, QueryShardJobId};
|
10 | 10 | use crate::ty::query::Query;
|
11 | 11 | use crate::ty::tls;
|
@@ -118,15 +118,27 @@ impl<'tcx, Q: QueryAccessors<'tcx>> QueryStateAccessor<'tcx, Q> {
|
118 | 118 | }
|
119 | 119 | }
|
120 | 120 |
|
121 |
| -impl<'tcx, Q: QueryAccessors<'tcx>> Default for QueryStateAccessor<'tcx, Q> { |
| 121 | +impl<'tcx, Q: QueryDescription<'tcx>> Default for QueryStateAccessor<'tcx, Q> { |
122 | 122 | fn default() -> Self {
|
123 | 123 | QueryStateAccessor {
|
124 | 124 | state: QueryState {
|
125 | 125 | cache: Q::Cache::default(),
|
126 | 126 | shards: Default::default(),
|
127 | 127 | #[cfg(debug_assertions)]
|
128 | 128 | cache_hits: AtomicUsize::new(0),
|
129 |
| - fns: panic!(), |
| 129 | + fns: QueryFns { |
| 130 | + anon: Q::ANON, |
| 131 | + eval_always: Q::EVAL_ALWAYS, |
| 132 | + name: Q::NAME, |
| 133 | + dep_kind: Q::dep_kind(), |
| 134 | + to_dep_node: Q::to_dep_node, |
| 135 | + compute: Q::compute, |
| 136 | + hash_result: Q::hash_result, |
| 137 | + handle_cycle_error: Q::handle_cycle_error, |
| 138 | + debug_key: |key| format!("{:?}", key), |
| 139 | + cache_on_disk: Q::cache_on_disk, |
| 140 | + try_load_from_disk: Q::try_load_from_disk, |
| 141 | + }, |
130 | 142 | },
|
131 | 143 | }
|
132 | 144 | }
|
|
0 commit comments