fn infer_return_ty_for_fn_sig<'tcx>(
    tcx: TyCtxt<'tcx>,
    sig: &FnSig<'tcx>,
    generics: &Generics<'_>,
    def_id: LocalDefId,
    icx: &ItemCtxt<'tcx>
) -> PolyFnSig<'tcx>