pub(crate) fn coroutine_trait_ref_and_outputs<'tcx>( tcx: TyCtxt<'tcx>, fn_trait_def_id: DefId, self_ty: Ty<'tcx>, sig: GenSig<TyCtxt<'tcx>>, ) -> (TraitRef<'tcx>, Ty<'tcx>, Ty<'tcx>)