about summary refs log tree commit diff
path: root/src/librustc_metadata/rmeta/decoder
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2020-07-05 22:58:46 +0300
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2020-07-05 22:58:46 +0300
commitf25811e34bf89c3dde760d826ad4662c245be202 (patch)
treedf11fc9e30921eb7bf973899e11b9a82071d8f88 /src/librustc_metadata/rmeta/decoder
parent0cd7ff7ddfb75a38dca81ad3e76b1e984129e939 (diff)
downloadrust-f25811e34bf89c3dde760d826ad4662c245be202.tar.gz
rust-f25811e34bf89c3dde760d826ad4662c245be202.zip
Replace early-bound normalization hack with per-query key/value type aliases.
Diffstat (limited to 'src/librustc_metadata/rmeta/decoder')
-rw-r--r--src/librustc_metadata/rmeta/decoder/cstore_impl.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs
index abbe45fe02e..a1c586b3283 100644
--- a/src/librustc_metadata/rmeta/decoder/cstore_impl.rs
+++ b/src/librustc_metadata/rmeta/decoder/cstore_impl.rs
@@ -17,7 +17,6 @@ use rustc_middle::middle::cstore::{CrateSource, CrateStore, EncodedMetadata};
 use rustc_middle::middle::exported_symbols::ExportedSymbol;
 use rustc_middle::middle::stability::DeprecationEntry;
 use rustc_middle::ty::query::Providers;
-use rustc_middle::ty::query::QueryConfig;
 use rustc_middle::ty::{self, TyCtxt};
 use rustc_session::utils::NativeLibKind;
 use rustc_session::{CrateDisambiguator, Session};
@@ -32,12 +31,10 @@ macro_rules! provide {
     (<$lt:tt> $tcx:ident, $def_id:ident, $other:ident, $cdata:ident,
       $($name:ident => $compute:block)*) => {
         pub fn provide_extern<$lt>(providers: &mut Providers<$lt>) {
-            // HACK(eddyb) `$lt: $lt` forces `$lt` to be early-bound, which
-            // allows the associated type in the return type to be normalized.
-            $(fn $name<$lt: $lt, T: IntoArgs>(
+            $(fn $name<$lt>(
                 $tcx: TyCtxt<$lt>,
-                def_id_arg: T,
-            ) -> <ty::queries::$name<$lt> as QueryConfig<TyCtxt<$lt>>>::Value {
+                def_id_arg: ty::query::query_keys::$name<$lt>,
+            ) -> ty::query::query_values::$name<$lt> {
                 let _prof_timer =
                     $tcx.prof.generic_activity("metadata_decode_entry");