12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061open!Async_kernel(** {2 Async_kernel} *)include(Async_kernel:moduletypeofAsync_kernelwithmoduleDeferred:=Deferred)(** @open *)moduleDeferred=structinclude(Deferred:moduletypeofDeferredwithmoduleOr_error:=Deferred.Or_error)moduleOr_error=structincludeAsync_kernel.Deferred.Or_errormoduleExpect_test_config=Deferred_or_error_expect_test_configendend(** {2 Async_unix} *)includeAsync_unix(** @open *)(** {2 Async_command} *)(* We define [Command] using [struct include ... end] rather than as an alias so that we
don't have to add [async_command] to downstream jbuild library imports. *)moduleCommand=structincludeAsync_commandend(** {2 Async_rpc} *)includeAsync_rpc(** @open *)(* We define [Quickcheck] using [struct include ... end] rather than as an alias so that
we don't have to add [async_quickcheck] to downstream jbuild library imports. *)moduleQuickcheck=structincludeAsync_quickcheckendlet%test"Async library initialization does not initialize the scheduler"=Scheduler.is_ready_to_initialize();;moduleExpect_test_config:Expect_test_config.Swithtype'aIO_flush.t='aDeferred.twithtype'aIO_run.t='aDeferred.t=structmoduleIO_run=DeferredmoduleIO_flush=structincludeIO_runletto_runt=tendletflush()=return()letrunf=Thread_safe.block_on_async_exnfletflushed()=trueletupon_unreleasable_issue=Expect_test_config.upon_unreleasable_issueendmoduleExpect_test_config_with_unit_expect=Expect_test_config_with_unit_expect