From eb08a2e64618faa3d4af5d1a687de1c3c13c2c6b Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Fri, 21 Oct 2016 14:54:37 +0200 Subject: [PATCH] don't force allocate for ReifyFnPointer casts --- src/interpreter/mod.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/interpreter/mod.rs b/src/interpreter/mod.rs index 790c73385b9..96e0c00737d 100644 --- a/src/interpreter/mod.rs +++ b/src/interpreter/mod.rs @@ -687,10 +687,8 @@ impl<'a, 'tcx> EvalContext<'a, 'tcx> { ReifyFnPointer => match self.operand_ty(operand).sty { ty::TyFnDef(def_id, substs, fn_ty) => { - // FIXME(solson) - let dest = self.force_allocation(dest)?.to_ptr(); let fn_ptr = self.memory.create_fn_ptr(def_id, substs, fn_ty); - self.memory.write_ptr(dest, fn_ptr)?; + self.write_value(Value::ByVal(PrimVal::from_fn_ptr(fn_ptr)), dest, dest_ty)?; }, ref other => bug!("reify fn pointer on {:?}", other), },