about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/librustc_mir/const_eval/machine.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/librustc_mir/const_eval/machine.rs b/src/librustc_mir/const_eval/machine.rs
index 115511fa70a..0cb654b30cc 100644
--- a/src/librustc_mir/const_eval/machine.rs
+++ b/src/librustc_mir/const_eval/machine.rs
@@ -40,15 +40,16 @@ impl<'mir, 'tcx> InterpCx<'mir, 'tcx, CompileTimeInterpreter<'mir, 'tcx>> {
             return Ok(false);
         }
 
-        let gid = GlobalId { instance, promoted: None };
-
-        let place = self.const_eval_raw(gid)?;
         let dest = match ret {
             Some((dest, _)) => dest,
             // Don't memoize diverging function calls.
             None => return Ok(false),
         };
 
+        let gid = GlobalId { instance, promoted: None };
+
+        let place = self.const_eval_raw(gid)?;
+
         self.copy_op(place.into(), dest)?;
 
         self.return_to_block(ret.map(|r| r.1))?;