On Wed, Sep 06, 2023 at 05:02:06PM -0500, Eric Blake wrote: > > Okay, I'll merge in that aspect of my original along with your other > > improvements, and push something soon. Fingers crossed that we'll > > finally get a green CI run today. > > Now in as 75979812. Still not a green CI run; but the BSD builds now > work. The only remaining holdout is OpenSUSE Leap 15.5, where OCaml is > stuck at 4.06 and therefore lacks List.to_seq |> Map.of_seq. I'm not > sure if it is worth trying to copy the 4.07 implementations just so we > can keep the two sorted name maps (one of the reasons you WANT to use > a standard library implementation of Map is that writing a correct > self-balancing binary tree implementation is not trivial). But do we > need the resulting sets of APIs to be sorted by name? If we just > stick to constructs in 4.06, we may be hit with slower O(n^2) list > filtering when comparing which APIs go in which of the two lists (sync > vs async), but is our list of APIs so large that it actually makes a > noticeable difference to compile time? > > Rich, do you have any more ideas beyond Erik's recommendation [1] of > just dropping OpenSUSE 15.5 and focusing only on Tumbleweed? > > [1] https://gitlab.com/nbdkit/libnbd/-/merge_requests/5#note_1535510343
Thanks to stackoverflow [2], I came up with an alternative (using List.fold_left to build up from NameMap.empty through repeated NameMap.add, without any intermediate representation in Seq). As of commit db9f6bf6, we finally have green CI in libnbd again! [2] https://stackoverflow.com/questions/61220655/how-to-initialize-map-from-list-in-ocaml -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://listman.redhat.com/mailman/listinfo/libguestfs