fn mk_coroutine_obligations( genv: GlobalEnv<'_, '_>, generator_did: &DefId, resume_ty: &Ty, upvar_tys: &List<Ty>, opaque_def_id: &DefId, ) -> InferResult<Vec<Binder<CoroutineObligPredicate>>>