"offset" => {
let pointee_ty = *substs.types.get(subst::FnSpace, 0);
let pointee_size = self.ty_size(pointee_ty) as isize;
- let ptr_arg = try!(self.eval_operand(&args[0]));
+
+ let ptr_arg = try!(self.eval_operand(&args[0]));
let offset_arg = try!(self.eval_operand(&args[1]));
- let ptr = try!(self.memory.read_ptr(ptr_arg));
+
+ let ptr = try!(self.memory.read_ptr(ptr_arg));
let offset = try!(self.memory.read_int(offset_arg, self.memory.pointer_size));
+
let result_ptr = ptr.offset(offset as isize * pointee_size);
try!(self.memory.write_ptr(dest, result_ptr));
}