123456789101112131415161718192021222324252627282930313233343536373839404142434445moduleUpon_unreleasable_issue=structtypet=[`CR(** Leaves a CR, so that features cannot be released. *)|`Warning_for_collector_testing(** Only for ppx_expect testing; do not use. *)]letequalt1t2=t1=t2letcomment_prefix=function|`CR->"CR "|`Warning_for_collector_testing->"";;letmessage_when_expectation_contains_backtracet=Printf.sprintf{|
(* %sexpect_test_collector: This test expectation appears to contain a backtrace.
This is strongly discouraged as backtraces are fragile.
Please change this test to not include a backtrace. *)
|}(comment_prefixt)endmoduletypeS=sigmoduleIO:sigtype'atvalreturn:'a->'atvalbind:'at->f:('a->'bt)->'btendvalflush:unit->unitIO.tvalrun:(unit->unitIO.t)->unitvalflushed:unit->boolvalupon_unreleasable_issue:[`CR|`Warning_for_collector_testing]endmoduleIO=structtype'at='aletreturnx=xletbindt~f=ftendletflush()=()(* the runtime already flushes [stdout] *)letrunf=f()letflushed()=true(* the runtime flushed [stdout] before calling this function *)letupon_unreleasable_issue=`CR