From ede519bc276f9656a7e6a1ade3e5fb019d6b9838 Mon Sep 17 00:00:00 2001 From: David Renshaw <dwrenshaw@gmail.com> Date: Tue, 28 Nov 2017 19:57:46 -0500 Subject: [PATCH] fix breakage from https://github.com/rust-lang/rust/pull/46142 --- src/eval_context.rs | 3 ++- src/terminator/mod.rs | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/eval_context.rs b/src/eval_context.rs index 43cd9fe..aa2f440 100644 --- a/src/eval_context.rs +++ b/src/eval_context.rs @@ -776,7 +776,8 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { pub(super) fn eval_operand(&mut self, op: &mir::Operand<'tcx>) -> EvalResult<'tcx, Value> { use rustc::mir::Operand::*; match *op { - Consume(ref lvalue) => self.eval_and_read_lvalue(lvalue), + Copy(ref lvalue) => self.eval_and_read_lvalue(lvalue), + Move(ref lvalue) => self.eval_and_read_lvalue(lvalue), Constant(ref constant) => { use rustc::mir::Literal; diff --git a/src/terminator/mod.rs b/src/terminator/mod.rs index e382098..655c15a 100644 --- a/src/terminator/mod.rs +++ b/src/terminator/mod.rs @@ -474,7 +474,8 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { let ty = self.operand_ty(&arg_operands[0]); let ty = self.get_field_ty(ty, 0)?.ty; match arg_operands[0] { - mir::Operand::Consume(ref mut lval) => *lval = lval.clone().field(mir::Field::new(0), ty), + mir::Operand::Copy(ref mut lval) => *lval = lval.clone().field(mir::Field::new(0), ty), + mir::Operand::Move(ref mut lval) => *lval = lval.clone().field(mir::Field::new(0), ty), _ => bug!("virtual call first arg cannot be a constant"), } // recurse with concrete function -- GitLab