- let fty = tcx.mk_bare_fn(fty);
- let method_ty = opaque_method_ty(tcx, fty);
- debug!("trans_object_shim: fty={:?} method_ty={:?}", fty, method_ty);
+
+ let ret_ty = ccx.tcx().erase_late_bound_regions(&fty.sig.output());
+ let ret_ty = infer::normalize_associated_type(ccx.tcx(), &ret_ty);
+
+ let method_fn_ty = opaque_method_ty(tcx, &fty);
+ let shim_fn_ty = tcx.mk_fn_ptr(fty);
+ debug!("trans_object_shim: shim_fn_ty={:?} method_fn_ty={:?}",
+ shim_fn_ty, method_fn_ty);