From a26ceb3be4e771799b58383116f4d70f15e7c937 Mon Sep 17 00:00:00 2001 From: Bruno Dutra Date: Thu, 30 Aug 2018 21:58:28 +0200 Subject: [PATCH] Use EvalContext's TyCtx for the purpose of hashing the evaluation context --- src/librustc_mir/interpret/eval_context.rs | 3 ++- src/librustc_mir/interpret/step.rs | 7 ++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/librustc_mir/interpret/eval_context.rs b/src/librustc_mir/interpret/eval_context.rs index ac34de490bb..bc03ef8c025 100644 --- a/src/librustc_mir/interpret/eval_context.rs +++ b/src/librustc_mir/interpret/eval_context.rs @@ -227,12 +227,13 @@ impl<'a, 'mir, 'tcx, M> InfiniteLoopDetector<'a, 'mir, 'tcx, M> pub fn observe_and_analyze( &mut self, + tcx: &TyCtxt<'b, 'tcx, 'tcx>, machine: &M, memory: &Memory<'a, 'mir, 'tcx, M>, stack: &[Frame<'mir, 'tcx>], ) -> EvalResult<'tcx, ()> { - let mut hcx = memory.tcx.get_stable_hashing_context(); + let mut hcx = tcx.get_stable_hashing_context(); let mut hasher = StableHasher::::new(); (machine, stack).hash_stable(&mut hcx, &mut hasher); let hash = hasher.finish(); diff --git a/src/librustc_mir/interpret/step.rs b/src/librustc_mir/interpret/step.rs index f3d655c2651..545333e8791 100644 --- a/src/librustc_mir/interpret/step.rs +++ b/src/librustc_mir/interpret/step.rs @@ -73,7 +73,12 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> { "Constant evaluating a complex constant, this might take some time"); } - self.loop_detector.observe_and_analyze(&self.machine, &self.memory, &self.stack[..]) + self.loop_detector.observe_and_analyze( + &self.tcx, + &self.machine, + &self.memory, + &self.stack[..], + ) } pub fn run(&mut self) -> EvalResult<'tcx> {