pub(crate) fn fn_sig<'tcx>( tcx: TyCtxt<'tcx>, def_id: DefId, _: Cycle<'tcx>, err: Diag<'_>, ) -> EarlyBinder<'tcx, PolyFnSig<'tcx>>