Skip to content

Commit

Permalink
Use QueryCtxt in DepKindStruct.
Browse files Browse the repository at this point in the history
  • Loading branch information
cjgillot committed Feb 19, 2021
1 parent b27266f commit 1ac21e4
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 11 deletions.
13 changes: 4 additions & 9 deletions compiler/rustc_middle/src/dep_graph/dep_node.rs
Expand Up @@ -135,7 +135,7 @@ pub struct DepKindStruct {
/// then `force_from_dep_node()` should not fail for it. Otherwise, you can just
/// add it to the "We don't have enough information to reconstruct..." group in
/// the match below.
pub(crate) force_from_dep_node: fn(tcx: TyCtxt<'_>, dep_node: &DepNode) -> bool,
pub(crate) force_from_dep_node: fn(tcx: QueryCtxt<'_>, dep_node: &DepNode) -> bool,

/// Invoke a query to put the on-disk cached value in memory.
pub(crate) try_load_from_on_disk_cache: fn(QueryCtxt<'_>, &DepNode),
Expand Down Expand Up @@ -251,7 +251,7 @@ pub mod dep_kind {
<query_keys::$variant<'_> as DepNodeParams<TyCtxt<'_>>>::recover(tcx, dep_node)
}

fn force_from_dep_node(tcx: TyCtxt<'_>, dep_node: &DepNode) -> bool {
fn force_from_dep_node(tcx: QueryCtxt<'_>, dep_node: &DepNode) -> bool {
if is_anon {
return false;
}
Expand All @@ -260,13 +260,8 @@ pub mod dep_kind {
return false;
}

if let Some(key) = recover(tcx, dep_node) {
force_query::<queries::$variant<'_>, _>(
QueryCtxt { tcx, queries: tcx.queries },
key,
DUMMY_SP,
*dep_node
);
if let Some(key) = recover(*tcx, dep_node) {
force_query::<queries::$variant<'_>, _>(tcx, key, DUMMY_SP, *dep_node);
return true;
}

Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_middle/src/ty/query/plumbing.rs
Expand Up @@ -68,7 +68,7 @@ impl QueryContext for QueryCtxt<'tcx> {
self.queries.try_collect_active_jobs()
}

fn try_load_from_on_disk_cache(&self, dep_node: &dep_graph::DepNode) {
fn try_load_from_on_disk_cache(&self, dep_node: &DepNode) {
(dep_node.kind.try_load_from_on_disk_cache)(*self, dep_node)
}

Expand Down Expand Up @@ -126,7 +126,7 @@ impl QueryContext for QueryCtxt<'tcx> {
"calling force_from_dep_node() on DepKind::codegen_unit"
);

(dep_node.kind.force_from_dep_node)(**self, dep_node)
(dep_node.kind.force_from_dep_node)(*self, dep_node)
}

fn has_errors_or_delayed_span_bugs(&self) -> bool {
Expand Down

0 comments on commit 1ac21e4

Please sign in to comment.