about summary refs log tree commit diff
path: root/src/librustc/ty/query
diff options
context:
space:
mode:
authorDylan DPC <dylan.dpc@gmail.com>2020-03-25 19:28:09 +0100
committerGitHub <noreply@github.com>2020-03-25 19:28:09 +0100
commit1154023118c81237fad4498d9ddbaf277fe41ab5 (patch)
treed22a9408ecd1deb8bbf59815f97b8c1cd8a7fa80 /src/librustc/ty/query
parent97f0a9ef8d3a563eeae1966ff5549400783d8e1f (diff)
parentf8e3da5ea22268dd9f7ff61c133aca3e8c64206f (diff)
downloadrust-1154023118c81237fad4498d9ddbaf277fe41ab5.tar.gz
rust-1154023118c81237fad4498d9ddbaf277fe41ab5.zip
Rollup merge of #70319 - lcnr:issue63695, r=eddyb
correctly normalize constants

closes #70317

implements https://github.com/rust-lang/rust/issues/70125#issuecomment-602133708

r? eddyb cc @varkor
Diffstat (limited to 'src/librustc/ty/query')
-rw-r--r--src/librustc/ty/query/keys.rs13
-rw-r--r--src/librustc/ty/query/mod.rs2
2 files changed, 13 insertions, 2 deletions
diff --git a/src/librustc/ty/query/keys.rs b/src/librustc/ty/query/keys.rs
index 6073d3a545f..6be1f04efca 100644
--- a/src/librustc/ty/query/keys.rs
+++ b/src/librustc/ty/query/keys.rs
@@ -5,7 +5,7 @@ use crate::mir;
 use crate::traits;
 use crate::ty::fast_reject::SimplifiedType;
 use crate::ty::query::caches::DefaultCacheSelector;
-use crate::ty::subst::SubstsRef;
+use crate::ty::subst::{GenericArg, SubstsRef};
 use crate::ty::{self, Ty, TyCtxt};
 use rustc_hir::def_id::{CrateNum, DefId, LocalDefId, LOCAL_CRATE};
 use rustc_span::symbol::Symbol;
@@ -194,6 +194,17 @@ impl<'tcx> Key for ty::PolyTraitRef<'tcx> {
     }
 }
 
+impl<'tcx> Key for GenericArg<'tcx> {
+    type CacheSelector = DefaultCacheSelector;
+
+    fn query_crate(&self) -> CrateNum {
+        LOCAL_CRATE
+    }
+    fn default_span(&self, _: TyCtxt<'_>) -> Span {
+        DUMMY_SP
+    }
+}
+
 impl<'tcx> Key for &'tcx ty::Const<'tcx> {
     type CacheSelector = DefaultCacheSelector;
 
diff --git a/src/librustc/ty/query/mod.rs b/src/librustc/ty/query/mod.rs
index b45b3b3f539..c75e0d95e8f 100644
--- a/src/librustc/ty/query/mod.rs
+++ b/src/librustc/ty/query/mod.rs
@@ -31,7 +31,7 @@ use crate::traits::specialization_graph;
 use crate::traits::Clauses;
 use crate::traits::{self, Vtable};
 use crate::ty::steal::Steal;
-use crate::ty::subst::SubstsRef;
+use crate::ty::subst::{GenericArg, SubstsRef};
 use crate::ty::util::AlwaysRequiresDrop;
 use crate::ty::{self, AdtSizedConstraint, CrateInherentImpls, ParamEnvAnd, Ty, TyCtxt};
 use crate::util::common::ErrorReported;