impl<'mir, 'tcx: 'mir, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
fn fn_can_unwind(&self, attrs: CodegenFnAttrFlags, abi: Abi) -> bool {
- layout::fn_can_unwind(
- self.tcx.sess.panic_strategy(),
- attrs,
- layout::conv_from_spec_abi(*self.tcx, abi),
- abi,
- )
+ layout::fn_can_unwind(*self.tcx, attrs, abi)
}
pub(super) fn eval_terminator(
ty::FnPtr(sig) => {
let caller_abi = sig.abi();
let fn_ptr = self.read_pointer(&func)?;
- let fn_val = self.memory.get_fn(fn_ptr.into())?;
+ let fn_val = self.memory.get_fn(fn_ptr)?;
(
fn_val,
caller_abi,
- self.fn_can_unwind(layout::fn_ptr_codegen_fn_attr_flags(), caller_abi),
+ self.fn_can_unwind(CodegenFnAttrFlags::empty(), caller_abi),
)
}
ty::FnDef(def_id, substs) => {
// a thin pointer.
assert!(receiver_place.layout.is_unsized());
let receiver_ptr_ty = self.tcx.mk_mut_ptr(receiver_place.layout.ty);
- let this_receiver_ptr = self.layout_of(receiver_ptr_ty)?.field(self, 0)?;
+ let this_receiver_ptr = self.layout_of(receiver_ptr_ty)?.field(self, 0);
// Adjust receiver argument.
args[0] = OpTy::from(ImmTy::from_immediate(
Scalar::from_maybe_pointer(receiver_place.ptr, self).into(),