about summary refs log tree commit diff
diff options
context:
space:
mode:
authorCamille GILLOT <gillot.camille@gmail.com>2021-01-17 14:58:34 +0100
committerCamille GILLOT <gillot.camille@gmail.com>2021-02-19 17:51:50 +0100
commit3f868b1791587e6af77e3b42a3b941f7fef03bcc (patch)
tree32be357849d56844a748b2a6f4181755979f68ac
parent2db2776589eced747c35e030aa185f3a4fc93ffa (diff)
downloadrust-3f868b1791587e6af77e3b42a3b941f7fef03bcc.tar.gz
rust-3f868b1791587e6af77e3b42a3b941f7fef03bcc.zip
Opacify query invocation.
-rw-r--r--compiler/rustc_middle/src/ty/query/plumbing.rs20
1 files changed, 16 insertions, 4 deletions
diff --git a/compiler/rustc_middle/src/ty/query/plumbing.rs b/compiler/rustc_middle/src/ty/query/plumbing.rs
index 91a267e38d5..b084fd01327 100644
--- a/compiler/rustc_middle/src/ty/query/plumbing.rs
+++ b/compiler/rustc_middle/src/ty/query/plumbing.rs
@@ -450,8 +450,7 @@ macro_rules! define_queries {
                     Err(lookup) => lookup,
                 };
 
-                let qcx = QueryCtxt(self.tcx);
-                get_query::<queries::$name<'_>, _>(qcx, DUMMY_SP, key, lookup, QueryMode::Ensure);
+                self.tcx.queries.$name(self.tcx, DUMMY_SP, key, lookup, QueryMode::Ensure);
             })*
         }
 
@@ -542,8 +541,7 @@ macro_rules! define_queries {
                     Err(lookup) => lookup,
                 };
 
-                let qcx = QueryCtxt(self.tcx);
-                get_query::<queries::$name<'_>, _>(qcx, self.span, key, lookup, QueryMode::Get).unwrap()
+                self.tcx.queries.$name(self.tcx, self.span, key, lookup, QueryMode::Get).unwrap()
             })*
         }
 
@@ -598,6 +596,20 @@ macro_rules! define_queries_struct {
 
                 Some(jobs)
             }
+
+            $($(#[$attr])*
+            #[inline(always)]
+            fn $name(
+                &self,
+                tcx: TyCtxt<$tcx>,
+                span: Span,
+                key: query_keys::$name<$tcx>,
+                lookup: QueryLookup,
+                mode: QueryMode,
+            ) -> Option<query_stored::$name<$tcx>> {
+                let qcx = QueryCtxt(tcx);
+                get_query::<queries::$name<$tcx>, _>(qcx, span, key, lookup, mode)
+            })*
         }
     };
 }