diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2021-01-17 14:57:07 +0100 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2021-02-13 21:14:57 +0100 |
| commit | 4b42a6d90b850eb697a56bddb9e3239d7e5c72fb (patch) | |
| tree | 18f595352dbabe29712b1c79005ec9845768b237 | |
| parent | 8684e9e47dcc52cc51dccdf1a74bac69deb38207 (diff) | |
| download | rust-4b42a6d90b850eb697a56bddb9e3239d7e5c72fb.tar.gz rust-4b42a6d90b850eb697a56bddb9e3239d7e5c72fb.zip | |
Introduce query_stored module.
| -rw-r--r-- | compiler/rustc_middle/src/ty/query/plumbing.rs | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/compiler/rustc_middle/src/ty/query/plumbing.rs b/compiler/rustc_middle/src/ty/query/plumbing.rs index f6370452e80..7a46bad0c1f 100644 --- a/compiler/rustc_middle/src/ty/query/plumbing.rs +++ b/compiler/rustc_middle/src/ty/query/plumbing.rs @@ -342,14 +342,20 @@ macro_rules! define_queries { $(pub type $name<$tcx> = $V;)* } + #[allow(nonstandard_style, unused_lifetimes)] + pub mod query_stored { + use super::*; + + $(pub type $name<$tcx> = < + query_storage!([$($modifiers)*][$($K)*, $V]) + as QueryStorage + >::Stored;)* + } $(impl<$tcx> QueryConfig for queries::$name<$tcx> { type Key = $($K)*; type Value = $V; - type Stored = < - query_storage!([$($modifiers)*][$($K)*, $V]) - as QueryStorage - >::Stored; + type Stored = query_stored::$name<$tcx>; const NAME: &'static str = stringify!($name); } @@ -442,8 +448,7 @@ macro_rules! define_queries { $($(#[$attr])* #[inline(always)] #[must_use] - pub fn $name(self, key: query_helper_param_ty!($($K)*)) - -> <queries::$name<$tcx> as QueryConfig>::Stored + pub fn $name(self, key: query_helper_param_ty!($($K)*)) -> query_stored::$name<$tcx> { self.at(DUMMY_SP).$name(key.into_query_param()) })* @@ -481,8 +486,7 @@ macro_rules! define_queries { impl TyCtxtAt<$tcx> { $($(#[$attr])* #[inline(always)] - pub fn $name(self, key: query_helper_param_ty!($($K)*)) - -> <queries::$name<$tcx> as QueryConfig>::Stored + pub fn $name(self, key: query_helper_param_ty!($($K)*)) -> query_stored::$name<$tcx> { get_query::<queries::$name<'_>, _>(self.tcx, self.span, key.into_query_param(), QueryMode::Get).unwrap() })* |
