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> {