On 6/27/23 14:33, Richard W.M. Jones wrote:
 > Link:
https://discuss.ocaml.org/t/ocaml-5-forcing-objects-to-be-collected-and-f...
 > ---
 >  ocaml/t/guestfs_065_implicit_close.ml | 8 ++++++++
 >  1 file changed, 8 insertions(+)
 > 
 > diff --git a/ocaml/t/guestfs_065_implicit_close.ml
b/ocaml/t/guestfs_065_implicit_close.ml
 > index f2dfecbd5c..04e511dd8a 100644
 > --- a/ocaml/t/guestfs_065_implicit_close.ml
 > +++ b/ocaml/t/guestfs_065_implicit_close.ml
 > @@ -16,6 +16,14 @@
 >   * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 >   *)
 >  
 > +let () =
 > +  (* In OCaml 5, Gc.full_major does not actually collect the handle
 > +   * for unknown reasons.  Skip the test until we can resolve this.
 > +   *
https://discuss.ocaml.org/t/ocaml-5-forcing-objects-to-be-collected-and-f...
 > +   *)
 > +  if Sys.ocaml_version >= "5" then
 > +    exit 77
 > +
 >  let close_invoked = ref 0
 >  
 >  let close _ _ _ _ =
 
 series looks great and even understandable, thanks! 
After further discussion with OCaml upstream I added a few more fixes.
These are not actually necessary for OCaml 5 to work but they clean up
a few things: