about summary refs log tree commit diff
path: root/src/librustc/mir
diff options
context:
space:
mode:
authorAaron Hill <aa1ronham@gmail.com>2020-01-13 06:06:42 -0500
committerAaron Hill <aa1ronham@gmail.com>2020-01-13 06:06:42 -0500
commite390b91e5717a338db20360a1ddffa23ba66701d (patch)
tree77041173e827cc828dd49fe064389b96b799bf9b /src/librustc/mir
parent6a0bb1867b2026e05982f865bb48857d7e492cd7 (diff)
downloadrust-e390b91e5717a338db20360a1ddffa23ba66701d.tar.gz
rust-e390b91e5717a338db20360a1ddffa23ba66701d.zip
Use TraitQueryMode::Canonical when testing predicates in const prop
Diffstat (limited to 'src/librustc/mir')
-rw-r--r--src/librustc/mir/mono.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/librustc/mir/mono.rs b/src/librustc/mir/mono.rs
index 51ce575e51f..e7a4c5b5921 100644
--- a/src/librustc/mir/mono.rs
+++ b/src/librustc/mir/mono.rs
@@ -1,6 +1,7 @@
 use crate::dep_graph::{DepConstructor, DepNode, WorkProduct, WorkProductId};
 use crate::ich::{Fingerprint, NodeIdHashingMode, StableHashingContext};
 use crate::session::config::OptLevel;
+use crate::traits::TraitQueryMode;
 use crate::ty::print::obsolete::DefPathBasedNames;
 use crate::ty::{subst::InternalSubsts, Instance, InstanceDef, SymbolName, TyCtxt};
 use rustc_data_structures::base_n;
@@ -167,7 +168,9 @@ impl<'tcx> MonoItem<'tcx> {
             MonoItem::GlobalAsm(..) => return true,
         };
 
-        tcx.substitute_normalize_and_test_predicates((def_id, &substs))
+        // We shouldn't encounter any overflow here, so we use TraitQueryMode::Standard\
+        // to report an error if overflow somehow occurs.
+        tcx.substitute_normalize_and_test_predicates((def_id, &substs, TraitQueryMode::Standard))
     }
 
     pub fn to_string(&self, tcx: TyCtxt<'tcx>, debug: bool) -> String {