Expect_test_configinclude Expect_test_config_types.S
with type 'a IO_flush.t = 'a
with type 'a IO_run.t = 'amodule IO_run : sig ... endmodule IO_flush : sig ... endA now-legacy monad. This signature used to declare a flush function. [%expect.output] still returns this type. No meaningful monadic work is done.
val run : (unit -> unit IO_run.t) -> unitRun an IO operation until completion
Synchronous check that there is no pending output on file description 0. With async, there is no guarantee that on the rhs of a IO.bind (flush ()) ... the output is completely flushed, that's why we need this.