2026-03-09 07:47.19: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/martin/modules (e34732b7eecc27804791f909072a225243220372) (linux-x86_64:opensuse-15.6-5.4_opam-2.5)Base: ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041Opam project buildTo reproduce locally:git clone --recursive "https://github.com/ahrefs/atd.git" -b "martin/modules" && cd "atd" && git reset --hard e34732b7cat > Dockerfile <<'END-OF-DOCKERFILE'FROM ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041# opensuse-15.6-5.4_opam-2.5USER 1000:1000ENV CLICOLOR_FORCE="1"ENV OPAMCOLOR="always"WORKDIR /srcRUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opamRUN opam init --reinit -niRUN uname -rs && opam exec -- ocaml -version && opam --versionWORKDIR /srcRUN sudo chown opam /srcRUN cd ~/opam-repository && (git cat-file -e db025b90cf6b81a0e665f98ea04833f94fc9cede || git fetch origin master) && git reset -q --hard db025b90cf6b81a0e665f98ea04833f94fc9cede && git log --no-decorate -n1 --oneline && opam update -uCOPY --chown=1000:1000 atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam ./RUN opam pin add -yn atdts.dev './' && \opam pin add -yn atds.dev './' && \opam pin add -yn atdpy.dev './' && \opam pin add -yn atdml.dev './' && \opam pin add -yn atdj.dev './' && \opam pin add -yn atdgen.dev './' && \opam pin add -yn atdgen-runtime.dev './' && \opam pin add -yn atdgen-codec-runtime.dev './' && \opam pin add -yn atdd.dev './' && \opam pin add -yn atdcpp.dev './' && \opam pin add -yn atd.dev './'RUN echo '(lang dune 3.0)' > './dune-project'ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0"ENV CI="true"ENV OCAMLCI="true"RUN opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPSRUN opam install $DEPSCOPY --chown=1000:1000 . /srcRUN opam exec -- dune build @install @check @runtest && rm -rf _buildEND-OF-DOCKERFILEdocker build .END-REPRO-BLOCK2026-03-09 07:47.19: Using cache hint "ahrefs/atd-ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041-opensuse-15.6-5.4_opam-2.5-50c6e615f413ea8a9a9e0569f162696d"2026-03-09 07:47.19: Using OBuilder spec:((from ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041)(comment opensuse-15.6-5.4_opam-2.5)(user (uid 1000) (gid 1000))(env CLICOLOR_FORCE 1)(env OPAMCOLOR always)(workdir /src)(run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam"))(run (shell "opam init --reinit -ni"))(run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))(workdir /src)(run (shell "sudo chown opam /src"))(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "cd ~/opam-repository && (git cat-file -e db025b90cf6b81a0e665f98ea04833f94fc9cede || git fetch origin master) && git reset -q --hard db025b90cf6b81a0e665f98ea04833f94fc9cede && git log --no-decorate -n1 --oneline && opam update -u"))(copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam)(dst ./))(run (network host)(shell "opam pin add -yn atdts.dev './' && \\nopam pin add -yn atds.dev './' && \\nopam pin add -yn atdpy.dev './' && \\nopam pin add -yn atdml.dev './' && \\nopam pin add -yn atdj.dev './' && \\nopam pin add -yn atdgen.dev './' && \\nopam pin add -yn atdgen-runtime.dev './' && \\nopam pin add -yn atdgen-codec-runtime.dev './' && \\nopam pin add -yn atdd.dev './' && \\nopam pin add -yn atdcpp.dev './' && \\nopam pin add -yn atd.dev './'"))(run (shell "echo '(lang dune 3.0)' > './dune-project'"))(env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0")(env CI true)(env OCAMLCI true)(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS"))(run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam install $DEPS"))(copy (src .) (dst /src))(run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")))2026-03-09 07:47.19: Waiting for resource in pool OCluster2026-03-09 07:47.19: Waiting for worker…2026-03-09 07:47.19: Got resource from pool OClusterBuilding on laodoke.caelum.ci.devAll commits already cachedHEAD is now at e34732b Update docs and changelog for import statement support(from ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041)Unable to find image 'ocaml/opam:opensuse-15.6-ocaml-5.4@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041' locallydocker.io/ocaml/opam@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041: Pulling from ocaml/opam88fec4ee27fa: Already exists0c29b9b81895: Already existse13a07a82ff2: Already existsa4f587681cd2: Already existsb654fe557977: Already exists07b50a5ff06e: Already exists2524e7100bda: Already exists62a0e072f540: Already existse4d4efb28b71: Already exists4d22927afde6: Already exists1910d19eb083: Already existsf0e05cd6bfcf: Already existsa809beaf2ce5: Already existsb7a362ffa81b: Already exists460129753514: Already existsd4f714e04836: Already existsd70fe23c18cd: Already exists0d07d7fef061: Already exists5623d083d3b3: Already exists4f4fb700ef54: Already existsce6441b074a7: Already exists0fd2a08bcd56: Already existsf6068b2a147c: Already exists4c1a35052789: Already existsb33abd038481: Already exists350e9373a176: Already existsa7fc136663a0: Already exists5703438fe18a: Already exists8833b155bad4: Already exists98913bd67483: Already exists331f50433f29: Already existsc935b3ee9c7e: Already exists22319c85fe85: Already existsb7a9591fcacc: Already exists945c450a4d0f: Already exists24e90ed45fcf: Already exists8424e867ee77: Already existsb85a58b4c2e9: Already exists8e414bdd1303: Pulling fs layerb70e2c1c4f97: Pulling fs layerbc301221eae3: Pulling fs layer9efc6627d455: Pulling fs layer44ea4bdfa499: Pulling fs layerb70e2c1c4f97: Waitingbc301221eae3: Waiting9efc6627d455: Waiting748be3b47daa: Pulling fs layer44ea4bdfa499: Waiting748be3b47daa: Waitingebaa78c1632f: Pulling fs layerebaa78c1632f: Waiting8e414bdd1303: Verifying Checksum8e414bdd1303: Download complete8e414bdd1303: Pull completeb70e2c1c4f97: Download completeb70e2c1c4f97: Pull completebc301221eae3: Verifying Checksumbc301221eae3: Download completebc301221eae3: Pull complete44ea4bdfa499: Download complete748be3b47daa: Verifying Checksum748be3b47daa: Download completeebaa78c1632f: Verifying Checksumebaa78c1632f: Download complete9efc6627d455: Verifying Checksum9efc6627d455: Download complete9efc6627d455: Pull complete44ea4bdfa499: Pull complete748be3b47daa: Pull completeebaa78c1632f: Pull completeDigest: sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f4041Status: Downloaded newer image for ocaml/opam@sha256:effc88b5c29636e2a2c6cb1098771062d091bda2846d151c20cf377b7e7f40412026-03-09 07:48.25 ---> saved as "ef7fcc773164a50ac7c6190f2fe405e5d17bf12eddb2fc6cbe71b9e48747f47a"/: (comment opensuse-15.6-5.4_opam-2.5)/: (user (uid 1000) (gid 1000))/: (env CLICOLOR_FORCE 1)/: (env OPAMCOLOR always)/: (workdir /src)/src: (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam"))2026-03-09 07:48.25 ---> saved as "de099de23ed215e5aa934a37013d9d90f80af6c95f1126a36c1dafd3f0c2771a"/src: (run (shell "opam init --reinit -ni"))Configuring from /home/opam/.opamrc and then from built-in defaults.Checking for available remotes: rsync and local, git.- you won't be able to use mercurial repositories unless you install the hg command on your system.- you won't be able to use darcs repositories unless you install the darcs command on your system.This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.You may want to back it up before going further.[NOTE] The 'jobs' option was reset, its value was 255 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:opam option jobs=255 --globalContinue? [Y/n] yFormat upgrade done.<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>[default] Initialised2026-03-09 07:48.50 ---> saved as "e4567fea59e9f89f28721481af1347ec0e49e166b623b782f9469b741d323d8a"/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))Linux 6.8.0-90-genericThe OCaml toplevel, version 5.4.02.5.02026-03-09 07:48.51 ---> saved as "ca5e94ca25f331100bb4ff662a4a576c2a692e3deb6b97773656fd20c750ac37"/src: (workdir /src)/src: (run (shell "sudo chown opam /src"))2026-03-09 07:48.51 ---> saved as "a18645d69895a2ac0663dd277250036df2b7d0221e78508f58b24710dd49f470"/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "cd ~/opam-repository && (git cat-file -e db025b90cf6b81a0e665f98ea04833f94fc9cede || git fetch origin master) && git reset -q --hard db025b90cf6b81a0e665f98ea04833f94fc9cede && git log --no-decorate -n1 --oneline && opam update -u"))From https://github.com/ocaml/opam-repository* branch master -> FETCH_HEAD3109384a92..55776d6a15 master -> origin/masterdb025b90cf Merge pull request #29509 from mjambon/release-testo-0.4.0<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>[default] synchronised from git+file:///home/opam/opam-repositoryEverything as up-to-date as possible (run with --verbose to show unavailable upgrades).However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.5.0"), which will ask permission to downgrade or uninstall the conflicting packages.Nothing to do.# To update the current shell environment, run: eval $(opam env)2026-03-09 07:49.05 ---> saved as "27dcfe377badbba29c5e112035f781af2c8867e4b7eec943f08db7b1d1efad98"/src: (copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam)(dst ./))2026-03-09 07:49.05 ---> saved as "b048f0aabf299bbe0367455b71d81e01d7653f8ddf12d5dd58bbb92d047f4c45"/src: (run (network host)(shell "opam pin add -yn atdts.dev './' && \\nopam pin add -yn atds.dev './' && \\nopam pin add -yn atdpy.dev './' && \\nopam pin add -yn atdml.dev './' && \\nopam pin add -yn atdj.dev './' && \\nopam pin add -yn atdgen.dev './' && \\nopam pin add -yn atdgen-runtime.dev './' && \\nopam pin add -yn atdgen-codec-runtime.dev './' && \\nopam pin add -yn atdd.dev './' && \\nopam pin add -yn atdcpp.dev './' && \\nopam pin add -yn atd.dev './'"))[atdts.dev] synchronised (file:///src)atdts is now pinned to file:///src (version dev)[atds.dev] synchronised (file:///src)atds is now pinned to file:///src (version dev)[atdpy.dev] synchronised (file:///src)atdpy is now pinned to file:///src (version dev)[NOTE] Package atdml does not exist in opam repositories registered in the current switch.[atdml.dev] synchronised (file:///src)atdml is now pinned to file:///src (version dev)[atdj.dev] synchronised (file:///src)atdj is now pinned to file:///src (version dev)[atdgen.dev] synchronised (file:///src)atdgen is now pinned to file:///src (version dev)[atdgen-runtime.dev] synchronised (file:///src)atdgen-runtime is now pinned to file:///src (version dev)[atdgen-codec-runtime.dev] synchronised (file:///src)atdgen-codec-runtime is now pinned to file:///src (version dev)[atdd.dev] synchronised (file:///src)atdd is now pinned to file:///src (version dev)[atdcpp.dev] synchronised (file:///src)atdcpp is now pinned to file:///src (version dev)[atd.dev] synchronised (file:///src)atd is now pinned to file:///src (version dev)2026-03-09 07:49.13 ---> saved as "615bb7ace30cbcc53468589601ebfc18c0d7106b04136d82bbfbf43c66c14568"/src: (run (shell "echo '(lang dune 3.0)' > './dune-project'"))2026-03-09 07:49.13 ---> saved as "4de26c06a2b1e172a9691d993524311359dd5dbec5586e8a0036aebdf77485c6"/src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0")/src: (env CI true)/src: (env OCAMLCI true)/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS"))+ /usr/bin/sudo "zypper" "--non-interactive" "refresh"- Retrieving repository 'Update repository of openSUSE Backports' metadata [..- Looking for gpg keys in repository Update repository of openSUSE Backports.- gpgkey=http://download.opensuse.org/update/leap/15.6/backports/repodata/repomd.xml.key- ...- .....- ....- ....- ....- ....- ..............- ..done]- Building repository 'Update repository of openSUSE Backports' cache [..- ..done]- Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata [..- Looking for gpg keys in repository Update repository with updates from SUSE Linux Enterprise 15.- gpgkey=http://download.opensuse.org/update/leap/15.6/sle/repodata/repomd.xml.key- .....- ....- ....- ....- ....- ....- .............- ..........- ..........- ..........- ..........- .........- ........- ......done]- Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache [..- ..done]- Repository 'Main Update Repository' is up to date.- Repository 'Update Repository (Non-Oss)' is up to date.- Repository 'Non-OSS Repository' is up to date.- Repository 'Main Repository' is up to date.- All repositories have been refreshed.<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>[atd.dev] synchronised (file:///src)[atdcpp.dev] synchronised (file:///src)[atdd.dev] synchronised (file:///src)[atdgen.dev] synchronised (file:///src)[atdgen-codec-runtime.dev] synchronised (file:///src)[atdgen-runtime.dev] synchronised (file:///src)[atdj.dev] synchronised (file:///src)[atdml.dev] synchronised (file:///src)[atdpy.dev] synchronised (file:///src)[atds.dev] synchronised (file:///src)[atdts.dev] synchronised (file:///src)[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).[NOTE] Package ocaml-config is already installed (current version is 3).[NOTE] Package ocaml-compiler is already installed (current version is 5.4.0).[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).[NOTE] Package ocaml is already installed (current version is 5.4.0).[NOTE] Package base-unix is already installed (current version is base).[NOTE] Package base-threads is already installed (current version is base).[NOTE] Package base-nnp is already installed (current version is base).[NOTE] Package base-effects is already installed (current version is base).[NOTE] Package base-domains is already installed (current version is base).[NOTE] Package base-bigarray is already installed (current version is base).The following system packages will first need to be installed:python3<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>+ /usr/bin/sudo "zypper" "--non-interactive" "install" "python3"- Loading repository data...- Reading installed packages...- Resolving package dependencies...-- The following 4 NEW packages are going to be installed:- libopenssl1_1 libpython3_6m1_0 python3 python3-base-- 4 new packages to install.-- Package download size: 10.5 MiB-- Package install size change:- | 38.5 MiB required by packages that will be installed- 38.5 MiB | - 0 B released by packages that will be removed-- Backend: classic_rpmtrans- Continue? [y/n/v/...? shows all options] (y): y- Retrieving: libopenssl1_1-1.1.1w-150600.5.21.1.x86_64 (Update repository with updates from SUSE Linux Enterprise 15) (1/4), 1.4 MiB- Retrieving: libopenssl1_1-1.1.1w-150600.5.21.1.x86_64.rpm [...- ....- ....- ....- ....- ....- .not found]- Retrieving: libopenssl1_1-1.1.1w-150600.5.21.1.x86_64.rpm [.not found]- Retrieving: libopenssl1_1-1.1.1w-150600.5.21.1.x86_64.rpm [..done (906.2 KiB/s)]- Retrieving: libpython3_6m1_0-3.6.15-150300.10.106.1.x86_64 (Update repository with updates from SUSE Linux Enterprise 15) (2/4), 1.2 MiB- Retrieving: libpython3_6m1_0-3.6.15-150300.10.106.1.x86_64.rpm [.not found]- Retrieving: libpython3_6m1_0-3.6.15-150300.10.106.1.x86_64.rpm [.not found]- Retrieving: libpython3_6m1_0-3.6.15-150300.10.106.1.x86_64.rpm [.done]- Retrieving: python3-base-3.6.15-150300.10.106.1.x86_64 (Update repository with updates from SUSE Linux Enterprise 15) (3/4), 7.8 MiB- Retrieving: python3-base-3.6.15-150300.10.106.1.x86_64.rpm [.not found]- Retrieving: python3-base-3.6.15-150300.10.106.1.x86_64.rpm [.not found]- Retrieving: python3-base-3.6.15-150300.10.106.1.x86_64.rpm [....- .done (7.5 MiB/s)]- Retrieving: python3-3.6.15-150300.10.106.1.x86_64 (Update repository with updates from SUSE Linux Enterprise 15) (4/4), 107.1 KiB- Retrieving: python3-3.6.15-150300.10.106.1.x86_64.rpm [.not found]- Retrieving: python3-3.6.15-150300.10.106.1.x86_64.rpm [.not found]- Retrieving: python3-3.6.15-150300.10.106.1.x86_64.rpm [.done]-- Checking for file conflicts: [...done]- (1/4) Installing: libopenssl1_1-1.1.1w-150600.5.21.1.x86_64 [...done]- (2/4) Installing: libpython3_6m1_0-3.6.15-150300.10.106.1.x86_64 [...done]- (3/4) Installing: python3-base-3.6.15-150300.10.106.1.x86_64 [...- ........done]- (4/4) Installing: python3-3.6.15-150300.10.106.1.x86_64 [..done]# To update the current shell environment, run: eval $(opam env)2026-03-09 07:50.15 ---> saved as "ee879d520817f7304080ba89fe77e7a57ed1df8e8528a92cfe38f26fdbbeaa61"/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))(network host)(shell "opam install $DEPS"))[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).[NOTE] Package ocaml-config is already installed (current version is 3).[NOTE] Package ocaml-compiler is already installed (current version is 5.4.0).[NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0).[NOTE] Package ocaml is already installed (current version is 5.4.0).[NOTE] Package base-unix is already installed (current version is base).[NOTE] Package base-threads is already installed (current version is base).[NOTE] Package base-nnp is already installed (current version is base).[NOTE] Package base-effects is already installed (current version is base).[NOTE] Package base-domains is already installed (current version is base).[NOTE] Package base-bigarray is already installed (current version is base).The following actions will be performed:=== install 32 packages- install alcotest 1.9.1- install astring 0.8.5- install biniou 1.2.2- install camlp-streams 5.0.1- install cmdliner 2.1.0- install conf-python-3 9.0.0- install cppo 1.8.0- install dune 3.21.1- install easy-format 1.3.4- install fmt 0.11.0- install fpath 0.7.3- install menhir 20260209- install menhirCST 20260209- install menhirGLR 20260209- install menhirLib 20260209- install menhirSdk 20260209- install ocaml-compiler-libs v0.17.0- install ocaml-syntax-shims 1.0.0- install ocamlbuild 0.16.1- install ocamlfind 1.9.8- install ppx_derivers 1.2.1- install ppx_deriving 6.1.1- install ppxlib 0.37.0- install re 1.14.0- install sexplib0 v0.17.0- install stdlib-shims 0.3.0- install testo 0.4.0- install testo-diff 0.4.0- install testo-util 0.4.0- install topkg 1.1.1- install uutf 1.0.4- install yojson 3.0.0<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>-> retrieved alcotest.1.9.1 (cached)-> retrieved astring.0.8.5 (cached)-> retrieved biniou.1.2.2 (cached)-> retrieved conf-python-3.9.0.0 (cached)-> retrieved camlp-streams.5.0.1 (cached)-> retrieved cmdliner.2.1.0 (cached)-> retrieved cppo.1.8.0 (cached)-> installed conf-python-3.9.0.0-> retrieved easy-format.1.3.4 (cached)-> retrieved fmt.0.11.0 (cached)-> retrieved fpath.0.7.3 (cached)-> retrieved ocaml-compiler-libs.v0.17.0 (cached)-> retrieved ocaml-syntax-shims.1.0.0 (cached)-> retrieved ocamlbuild.0.16.1 (cached)-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (cached)-> retrieved dune.3.21.1 (cached)-> retrieved ocamlfind.1.9.8 (cached)-> retrieved ppx_derivers.1.2.1 (cached)-> retrieved ppx_deriving.6.1.1 (cached)-> retrieved re.1.14.0 (cached)-> retrieved sexplib0.v0.17.0 (cached)-> retrieved stdlib-shims.0.3.0 (cached)-> retrieved topkg.1.1.1 (cached)-> retrieved uutf.1.0.4 (cached)-> retrieved ppxlib.0.37.0 (cached)-> retrieved yojson.3.0.0 (cached)-> retrieved testo.0.4.0, testo-diff.0.4.0, testo-util.0.4.0 (cached)-> installed cmdliner.2.1.0-> installed ocamlfind.1.9.8-> installed ocamlbuild.0.16.1-> installed topkg.1.1.1-> installed uutf.1.0.4-> installed fmt.0.11.0-> installed astring.0.8.5-> installed fpath.0.7.3-> installed dune.3.21.1-> installed camlp-streams.5.0.1-> installed easy-format.1.3.4-> installed menhirCST.20260209-> installed ppx_derivers.1.2.1-> installed stdlib-shims.0.3.0-> installed menhirGLR.20260209-> installed menhirLib.20260209-> installed menhirSdk.20260209-> installed cppo.1.8.0-> installed sexplib0.v0.17.0-> installed biniou.1.2.2-> installed ocaml-syntax-shims.1.0.0-> installed re.1.14.0-> installed ocaml-compiler-libs.v0.17.0-> installed yojson.3.0.0-> installed alcotest.1.9.1-> installed menhir.20260209-> installed ppxlib.0.37.0-> installed ppx_deriving.6.1.1-> installed testo-diff.0.4.0-> installed testo-util.0.4.0-> installed testo.0.4.0Done.# To update the current shell environment, run: eval $(opam env)2026-03-09 07:51.13 ---> saved as "252cd600d824df3b5b8c6b54f6a6f04ee1a1f952dcad2a2fa6a553e5fbb694aa"/src: (copy (src .) (dst /src))2026-03-09 07:51.14 ---> saved as "10c15cf75ec1bd37ed47d2cdb6dada3f7c6f25cd28b6daf99cfdb5f188df4486"/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))File "atds/test/dune", lines 13-22, characters 0-177:13 | (rule14 | (alias runtest)15 | (package atds)16 | (deps17 | AtdsTest.scala18 | argonaut_2.11-6.2.2.jar19 | argonaut_2.12-6.2.2.jar20 | junit-4.8.2.jar21 | test.scala)22 | (action (run ./run_test.sh)))(cd _build/default/atds/test && ./run_test.sh)./run_test.sh: line 6: scalac: command not foundFile "atdj/test/dune", lines 53-61, characters 0-160:53 | (rule54 | (alias runtest)55 | (package atdj)56 | (deps57 | AtdjTest.java58 | json.jar59 | junit-4.8.2.jar60 | (glob_files com/mylife/test/*.java))61 | (action (run ./run_test.sh)))(cd _build/default/atdj/test && ./run_test.sh)./run_test.sh: line 5: javac: command not found./run_test.sh: line 6: javac: command not found./run_test.sh: line 7: javadoc: command not found./run_test.sh: line 10: java: command not found(cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -o test2j -open Test,Test2,Testj -ntd test2.atd)Warning: option "-json" is deprecated.(cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_ambiguous_record_j -open Test_ambiguous_record_t -ntd test_ambiguous_record.atd)Warning: option "-json" is deprecated.(cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_polymorphic_wrap_j test_polymorphic_wrap.atd)Warning: option "-json" is deprecated.(cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -validate -extend Test test.atd -o testv)Warning: option "-validate" is deprecated.(cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -extend Test test.atd -json -o testjstd_j)Warning: option "-json" is deprecated.(cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -extend Test -j-custom-fields 'fun loc s -> Printf.eprintf "Warning: skipping field %s (def: %s)" s loc' test.atd -o testj)Warning: option "-json" is deprecated.(cd _build/default/atdts/src/test && ./Main.exe)Testing `atdts'.This run has ID `YV3SBL93'.Full test results in `/src/_build/default/atdts/src/test/_build/_tests/atdts'.Test Successful in 0.000s. 0 test run.(cd _build/default/atdpy/src/test && ./Main.exe)Testing `atdpy'.This run has ID `VEAF7LXV'.Full test results in `/src/_build/default/atdpy/src/test/_build/_tests/atdpy'.Test Successful in 0.000s. 0 test run.File "atdd/test/dlang-tests/dune", lines 17-26, characters 0-141:17 | (rule18 | (alias runtest)19 | (package atdd)20 | (deps21 | (glob_files *.d))22 | (action23 | (progn24 | (bash "ldc2 %{deps} --of test")25 | (bash ./test)26 | )))(cd _build/default/atdd/test/dlang-tests && /usr/bin/bash -e -u -o pipefail -c 'ldc2 everything_atd.d test_atdd.d --of test')/usr/bin/bash: ldc2: command not foundFile "atdcat/test/test.expected.atd", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdcat/test/test.expected.atd _build/default/atdcat/test/test.out.atddiff --git a/_build/default/atdcat/test/test.expected.atd b/_build/default/atdcat/test/test.out.atdindex f1b2259..c15ed85 100644--- a/_build/default/atdcat/test/test.expected.atd+++ b/_build/default/atdcat/test/test.out.atd@@ -1,4 +1,6 @@<doc html="<p>This <b>is</b> a test.</p>" text="This is a test.">+import a <ocaml name="Aha">+import a.b <ocaml name="AB"> as c <python name="cc">type test_string_syntax =int<a b="\"">File "atdgen/test/melange/melangespec_mel.expected.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/melange/melangespec_mel.expected.ml _build/default/atdgen/test/melange/melangespec_mel.mldiff --git a/_build/default/atdgen/test/melange/melangespec_mel.expected.ml b/_build/default/atdgen/test/melange/melangespec_mel.mlindex 744d15f..8c67475 100644--- a/_build/default/atdgen/test/melange/melangespec_mel.expected.ml+++ b/_build/default/atdgen/test/melange/melangespec_mel.ml@@ -663,7 +663,7 @@ let read_point = ())let write_param_similar write__a = (- Atdgen_codec_runtime.Encode.make (fun (t : 'a param_similar) ->+ Atdgen_codec_runtime.Encode.make (fun (t : _ param_similar) ->(Atdgen_codec_runtime.Encode.obj[@@ -700,12 +700,12 @@ let read_param_similar read__a = (Atdgen_codec_runtime.Decode.int|> Atdgen_codec_runtime.Decode.field "something") json;- } : 'a param_similar)+ } : _ param_similar))))let write_param write__a = (- Atdgen_codec_runtime.Encode.make (fun (t : 'a param) ->+ Atdgen_codec_runtime.Encode.make (fun (t : _ param) ->(Atdgen_codec_runtime.Encode.obj[@@ -742,12 +742,12 @@ let read_param read__a = (Atdgen_codec_runtime.Decode.unit|> Atdgen_codec_runtime.Decode.field "nothing") json;- } : 'a param)+ } : _ param))))let write_pair write__a write__b = (- Atdgen_codec_runtime.Encode.make (fun (t : ('a, 'b) pair) ->+ Atdgen_codec_runtime.Encode.make (fun (t : (_, _) pair) ->(Atdgen_codec_runtime.Encode.obj[@@ -784,7 +784,7 @@ let read_pair read__a read__b = (read__b|> Atdgen_codec_runtime.Decode.field "right") json;- } : ('a, 'b) pair)+ } : (_, _) pair))))(cd _build/default/atd/test && ./unit_tests.exe)Testing `atd'.This run has ID `7YI02VNY'.[OK] Annot 0 valid.[OK] Annot 1 invalid1.[OK] Annot 2 invalid2.[OK] Annot 3 invalid3.[OK] Annot 4 invalid4.[OK] Annot 5 invalid5.[OK] Annot 6 invalid6.[OK] Annot 7 invalid7.[OK] Annot 8 invalid8.[OK] Annot 9 invalid9.[OK] Sort 0 sort.[OK] Unique_name 0 reserved identifiers.[OK] Unique_name 1 reserved prefixes.[OK] Unique_name 2 identifier creation.[OK] Doc 0 normalize "".[OK] Doc 1 normalize "a".[OK] Doc 2 normalize "a b".[OK] Doc 3 normalize "a\nb".[OK] Doc 4 normalize "a b".[OK] Doc 5 normalize "a \n b".[OK] Doc 6 normalize "a \n\n b".[OK] Doc 7 normalize " a ".[OK] Doc 8 normalize "\n\na\n\n".[OK] Doc 9 normalize "{{}}".[OK] Doc 10 normalize "{{a}}".[OK] Doc 11 normalize "{{ a b\n\nc\n }}".[OK] Doc 12 normalize "{{ {a} }}".[OK] Doc 13 normalize "{{{}}}".[OK] Doc 14 normalize "{{{a}}}".[OK] Doc 15 normalize "{{{ }}}".[OK] Doc 16 normalize "{{{ {{a}} }}}".[OK] Doc 17 normalize "{{{ a\n\n b }}}".Full test results in `/src/_build/default/atd/test/_build/_tests/atd'.Test Successful in 0.004s. 32 tests run.File "atdcat/test/test.unwrap.expected.atd", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdcat/test/test.unwrap.expected.atd _build/default/atdcat/test/test.unwrap.atddiff --git a/_build/default/atdcat/test/test.unwrap.expected.atd b/_build/default/atdcat/test/test.unwrap.atdindex 02d3e25..c15ed85 100644--- a/_build/default/atdcat/test/test.unwrap.expected.atd+++ b/_build/default/atdcat/test/test.unwrap.atd@@ -1,4 +1,6 @@<doc html="<p>This <b>is</b> a test.</p>" text="This is a test.">+import a <ocaml name="Aha">+import a.b <ocaml name="AB"> as c <python name="cc">type test_string_syntax =int<a b="\"">@@ -78,4 +80,4 @@ type 'a recur = { cyc: 'a recur option }type 'a ta = [ Ta of 'a ] <ta f2="xyz" f1>type int_ta = int ta <ta f1="false" f3="abc">type int_ta2 = int ta <ta f1="false" f3="abc"> <ocaml repr="classic">-type timestamp = string+type timestamp = string wrap <ocaml module="Timestamp">File "atdgen/test/melange/melangespec_j.expected.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/melange/melangespec_j.expected.ml _build/default/atdgen/test/melange/melangespec_j.mldiff --git a/_build/default/atdgen/test/melange/melangespec_j.expected.ml b/_build/default/atdgen/test/melange/melangespec_j.mlindex ef4d482..04f553c 100644--- a/_build/default/atdgen/test/melange/melangespec_j.expected.ml+++ b/_build/default/atdgen/test/melange/melangespec_j.ml@@ -1464,8 +1464,8 @@ let read_point = ()let point_of_string s =read_point (Yojson.Safe.init_lexer ()) (Lexing.from_string s)-let write_param_similar write__a : _ -> 'a param_similar -> _ = (- fun ob (x : 'a param_similar) ->+let write_param_similar write__a : _ -> _ param_similar -> _ = (+ fun ob (x : _ param_similar) ->Buffer.add_char ob '{';let is_first = ref true inif !is_first then@@ -1612,13 +1612,13 @@ let read_param_similar read__a = (data = (match !field_data with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "data");something = (match !field_something with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "something");}- : 'a param_similar)+ : _ param_similar)))let param_similar_of_string read__a s =read_param_similar read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s)-let write_param write__a : _ -> 'a param -> _ = (- fun ob (x : 'a param) ->+let write_param write__a : _ -> _ param -> _ = (+ fun ob (x : _ param) ->Buffer.add_char ob '{';let is_first = ref true inif !is_first then@@ -1765,13 +1765,13 @@ let read_param read__a = (data = (match !field_data with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "data");nothing = (match !field_nothing with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "nothing");}- : 'a param)+ : _ param)))let param_of_string read__a s =read_param read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s)-let write_pair write__a write__b : _ -> ('a, 'b) pair -> _ = (- fun ob (x : ('a, 'b) pair) ->+let write_pair write__a write__b : _ -> (_, _) pair -> _ = (+ fun ob (x : (_, _) pair) ->Buffer.add_char ob '{';let is_first = ref true inif !is_first then@@ -1918,7 +1918,7 @@ let read_pair read__a read__b = (left = (match !field_left with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "left");right = (match !field_right with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "right");}- : ('a, 'b) pair)+ : (_, _) pair)))let pair_of_string read__a read__b s =File "atdgen/test/testv.expected.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/testv.expected.ml _build/default/atdgen/test/testv.mldiff --git a/_build/default/atdgen/test/testv.expected.ml b/_build/default/atdgen/test/testv.mlindex de48083..96cdf73 100644--- a/_build/default/atdgen/test/testv.expected.ml+++ b/_build/default/atdgen/test/testv.ml@@ -162,7 +162,7 @@ let validate__a_list validate__a = (validate__a))-let rec validate_p' validate__a : _ -> 'a p' -> _ = (+let rec validate_p' validate__a : _ -> _ p' -> _ = (fun path x ->match x with| A -> None@@ -218,7 +218,7 @@ let rec validate__a_b_poly_option validate__a validate__b path x = (validate_poly validate__a validate__b)) path x-and validate_poly validate__x validate__y : _ -> ('x, 'y) poly -> _ = (+and validate_poly validate__x validate__y : _ -> (_, _) poly -> _ = (fun path x ->match(@@ -446,7 +446,7 @@ let validate_int32 = (let validate_hello = (fun _ _ -> None)-let validate_generic validate__a : _ -> 'a generic -> _ = (+let validate_generic validate__a : _ -> _ generic -> _ = (fun _ _ -> None)let validate_floats : _ -> floats -> _ = (File "atdgen/test/test.expected.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test.expected.ml _build/default/atdgen/test/test.mldiff --git a/_build/default/atdgen/test/test.expected.ml b/_build/default/atdgen/test/test.mlindex 77ff462..f08e720 100644--- a/_build/default/atdgen/test/test.expected.ml+++ b/_build/default/atdgen/test/test.ml@@ -194,7 +194,7 @@ let read__a_list get__a_reader read__a = (let _a_list_of_string get__a_reader read__a ?pos s =read__a_list get__a_reader read__a (Bi_inbuf.from_string ?pos s)let rec p'_tag = Bi_io.variant_tag-and write_untagged_p' _a_tag write_untagged__a write__a : Bi_outbuf.t -> 'a p' -> unit = (+and write_untagged_p' _a_tag write_untagged__a write__a : Bi_outbuf.t -> _ p' -> unit = (fun ob x ->match x with| A -> Bi_outbuf.add_char4 ob '\000' '\000' '\000' 'A'@@ -222,17 +222,17 @@ let rec get_p'_reader get__a_reader read__a = (fun ib ->Bi_io.read_hashtag ib (fun ib h has_arg ->match h, has_arg with- | 65, false -> (A : 'a p')+ | 65, false -> (A : _ p')| 14816, true -> (Bb ((read_p' get__a_reader read__a) ib- ) : 'a p')+ ) : _ p')| -711691517, true -> (Ccccc ((read__a) ib- ) : 'a p')+ ) : _ p')| _ -> Atdgen_runtime.Ob_run.unsupported_variant h has_arg))@@ -241,17 +241,17 @@ and read_p' get__a_reader read__a = (if Bi_io.read_tag ib <> 23 then Atdgen_runtime.Ob_run.read_error_at ib;Bi_io.read_hashtag ib (fun ib h has_arg ->match h, has_arg with- | 65, false -> (A : 'a p')+ | 65, false -> (A : _ p')| 14816, true -> (Bb ((read_p' get__a_reader read__a) ib- ) : 'a p')+ ) : _ p')| -711691517, true -> (Ccccc ((read__a) ib- ) : 'a p')+ ) : _ p')| _ -> Atdgen_runtime.Ob_run.unsupported_variant h has_arg))@@ -604,7 +604,7 @@ and string_of__a_b_poly_option _a_tag write_untagged__a write__a _b_tag write_unwrite__a_b_poly_option _a_tag write_untagged__a write__a _b_tag write_untagged__b write__b ob x;Bi_outbuf.contents oband poly_tag = Bi_io.record_tag-and write_untagged_poly _x_tag write_untagged__x write__x _y_tag write_untagged__y write__y : Bi_outbuf.t -> ('x, 'y) poly -> unit = (+and write_untagged_poly _x_tag write_untagged__x write__x _y_tag write_untagged__y write__y : Bi_outbuf.t -> (_, _) poly -> unit = (fun ob x ->Bi_vint.write_uvint ob 2;Bi_outbuf.add_char4 ob '\128' 'M' '\202' '\135';@@ -686,7 +686,7 @@ and get_poly_reader get__x_reader read__x get__y_reader read__y = (fst = !field_fst;snd = !field_snd;}- : ('x, 'y) poly)+ : (_, _) poly))and read_poly get__x_reader read__x get__y_reader read__y = (fun ib ->@@ -719,7 +719,7 @@ and read_poly get__x_reader read__x get__y_reader read__y = (fst = !field_fst;snd = !field_snd;}- : ('x, 'y) poly)+ : (_, _) poly))and poly_of_string get__x_reader read__x get__y_reader read__y ?pos s =read_poly get__x_reader read__x get__y_reader read__y (Bi_inbuf.from_string ?pos s)@@ -3906,7 +3906,7 @@ let read_hello = (let hello_of_string ?pos s =read_hello (Bi_inbuf.from_string ?pos s)let generic_tag = Bi_io.record_tag-let write_untagged_generic _a_tag write_untagged__a write__a : Bi_outbuf.t -> 'a generic -> unit = (+let write_untagged_generic _a_tag write_untagged__a write__a : Bi_outbuf.t -> _ generic -> unit = (fun ob x ->Bi_vint.write_uvint ob 1;Bi_outbuf.add_char4 ob '\240' 'G' '\003' '\130';@@ -3944,7 +3944,7 @@ let get_generic_reader get__a_reader read__a = ({x294623 = !field_x294623;}- : 'a generic)+ : _ generic))let read_generic get__a_reader read__a = (fun ib ->@@ -3968,7 +3968,7 @@ let read_generic get__a_reader read__a = ({x294623 = !field_x294623;}- : 'a generic)+ : _ generic))let generic_of_string get__a_reader read__a ?pos s =read_generic get__a_reader read__a (Bi_inbuf.from_string ?pos s)File "atdgen/test/testjstd_j.expected.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/testjstd_j.expected.ml _build/default/atdgen/test/testjstd_j.mldiff --git a/_build/default/atdgen/test/testjstd_j.expected.ml b/_build/default/atdgen/test/testjstd_j.mlindex 5540346..9ac76b5 100644--- a/_build/default/atdgen/test/testjstd_j.expected.ml+++ b/_build/default/atdgen/test/testjstd_j.ml@@ -173,8 +173,8 @@ let read__a_list read__a = ()let _a_list_of_string read__a s =read__a_list read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s)-let rec write_p' write__a : _ -> 'a p' -> _ = (- fun ob (x : 'a p') ->+let rec write_p' write__a : _ -> _ p' -> _ = (+ fun ob (x : _ p') ->match x with| A -> Buffer.add_string ob "\"A\""| Bb x ->@@ -201,7 +201,7 @@ let rec read_p' read__a = (| `Double_quote -> (match Yojson.Safe.finish_string p lb with| "A" ->- (A : 'a p')+ (A : _ p')| x ->Atdgen_runtime.Oj_run.invalid_variant_tag p x)@@ -217,7 +217,7 @@ let rec read_p' read__a = (inYojson.Safe.read_space p lb;Yojson.Safe.read_rbr p lb;- (Bb x : 'a p')+ (Bb x : _ p')| "Ccccc" ->Yojson.Safe.read_space p lb;Yojson.Safe.read_comma p lb;@@ -228,7 +228,7 @@ let rec read_p' read__a = (inYojson.Safe.read_space p lb;Yojson.Safe.read_rbr p lb;- (Ccccc x : 'a p')+ (Ccccc x : _ p')| x ->Atdgen_runtime.Oj_run.invalid_variant_tag p x)@@ -625,8 +625,8 @@ and string_of__a_b_poly_option write__a write__b ?(len = 1024) x =let ob = Buffer.create len inwrite__a_b_poly_option write__a write__b ob x;Buffer.contents ob-and write_poly write__x write__y : _ -> ('x, 'y) poly -> _ = (- fun ob (x : ('x, 'y) poly) ->+and write_poly write__x write__y : _ -> (_, _) poly -> _ = (+ fun ob (x : (_, _) poly) ->Buffer.add_char ob '{';let is_first = ref true inif !is_first then@@ -813,7 +813,7 @@ and read_poly read__x read__y = (fst = (match !field_fst with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "fst");snd = (match !field_snd with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "snd");}- : ('x, 'y) poly)+ : (_, _) poly)))and poly_of_string read__x read__y s =@@ -3722,8 +3722,8 @@ let read_hello = ()let hello_of_string s =read_hello (Yojson.Safe.init_lexer ()) (Lexing.from_string s)-let write_generic write__a : _ -> 'a generic -> _ = (- fun ob (x : 'a generic) ->+let write_generic write__a : _ -> _ generic -> _ = (+ fun ob (x : _ generic) ->Buffer.add_char ob '{';let is_first = ref true inif !is_first then@@ -3815,7 +3815,7 @@ let read_generic read__a = ({x294623 = (match !field_x294623 with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "x294623");}- : 'a generic)+ : _ generic)))let generic_of_string read__a s =File "atdgen/test/testj.expected.ml", line 1, characters 0-0:/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/testj.expected.ml _build/default/atdgen/test/testj.mldiff --git a/_build/default/atdgen/test/testj.expected.ml b/_build/default/atdgen/test/testj.mlindex 5f93184..bc2e342 100644--- a/_build/default/atdgen/test/testj.expected.ml+++ b/_build/default/atdgen/test/testj.ml@@ -173,8 +173,8 @@ let read__a_list read__a = ()let _a_list_of_string read__a s =read__a_list read__a (Yojson.Safe.init_lexer ()) (Lexing.from_string s)-let rec write_p' write__a : _ -> 'a p' -> _ = (- fun ob (x : 'a p') ->+let rec write_p' write__a : _ -> _ p' -> _ = (+ fun ob (x : _ p') ->match x with| A -> Buffer.add_string ob "\"A\""| Bb x ->@@ -201,7 +201,7 @@ let rec read_p' read__a = (| `Double_quote -> (match Yojson.Safe.finish_string p lb with| "A" ->- (A : 'a p')+ (A : _ p')| x ->Atdgen_runtime.Oj_run.invalid_variant_tag p x)@@ -217,7 +217,7 @@ let rec read_p' read__a = (inYojson.Safe.read_space p lb;Yojson.Safe.read_rbr p lb;- (Bb x : 'a p')+ (Bb x : _ p')| "Ccccc" ->Yojson.Safe.read_space p lb;Yojson.Safe.read_comma p lb;@@ -228,7 +228,7 @@ let rec read_p' read__a = (inYojson.Safe.read_space p lb;Yojson.Safe.read_rbr p lb;- (Ccccc x : 'a p')+ (Ccccc x : _ p')| x ->Atdgen_runtime.Oj_run.invalid_variant_tag p x)@@ -629,8 +629,8 @@ and string_of__a_b_poly_option write__a write__b ?(len = 1024) x =let ob = Buffer.create len inwrite__a_b_poly_option write__a write__b ob x;Buffer.contents ob-and write_poly write__x write__y : _ -> ('x, 'y) poly -> _ = (- fun ob (x : ('x, 'y) poly) ->+and write_poly write__x write__y : _ -> (_, _) poly -> _ = (+ fun ob (x : (_, _) poly) ->Buffer.add_char ob '{';let is_first = ref true inif !is_first then@@ -825,7 +825,7 @@ and read_poly read__x read__y = (fst = (match !field_fst with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "fst");snd = (match !field_snd with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "snd");}- : ('x, 'y) poly)+ : (_, _) poly)))and poly_of_string read__x read__y s =@@ -3778,8 +3778,8 @@ let read_hello = ()let hello_of_string s =read_hello (Yojson.Safe.init_lexer ()) (Lexing.from_string s)-let write_generic write__a : _ -> 'a generic -> _ = (- fun ob (x : 'a generic) ->+let write_generic write__a : _ -> _ generic -> _ = (+ fun ob (x : _ generic) ->Buffer.add_char ob '{';let is_first = ref true inif !is_first then@@ -3873,7 +3873,7 @@ let read_generic read__a = ({x294623 = (match !field_x294623 with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "x294623");}- : 'a generic)+ : _ generic)))let generic_of_string read__a s =File "atdpy/test/python-tests/dune", lines 23-35, characters 0-217:23 | (rule24 | (alias runtest)25 | (package atdpy)....33 | (run python3 -m flake8 .)34 | (run python3 -m mypy --strict .)35 | (run python3 -m pytest .))))(cd _build/default/atdpy/test/python-tests && /usr/bin/python3 -m flake8 .)/usr/bin/python3: No module named flake8File "atdcat/test/dune", lines 57-87, characters 0-907:57 | (rule58 | (alias runtest)59 | (deps....85 | )86 | )87 | )(cd _build/default/atdcat/test && /usr/bin/python3 -m jsonschema schema.json -i data.json)/usr/bin/python3: No module named jsonschemaFile "atdcpp/test/cpp-tests/dune", lines 19-28, characters 0-183:19 | (rule20 | (alias runtest)21 | (package atdcpp)22 | (deps23 | (glob_files *.cpp))24 | (action25 | (progn26 | (bash "g++ -I../../lib/rapidjson/include -std=c++17 %{deps} -o test")27 | (bash ./test)28 | )))(cd _build/default/atdcpp/test/cpp-tests && /usr/bin/bash -e -u -o pipefail -c 'g++ -I../../lib/rapidjson/include -std=c++17 everything_atd.cpp test_atdd.cpp -o test')In file included from everything_atd.cpp:12:0:everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory#include <rapidjson/document.h>^~~~~~~~~~~~~~~~~~~~~~compilation terminated.In file included from test_atdd.cpp:12:0:everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory#include <rapidjson/document.h>^~~~~~~~~~~~~~~~~~~~~~compilation terminated.File "atdgen/test/dune", lines 423-426, characters 0-80:423 | (rule424 | (alias runtest)425 | (package atdgen)426 | (action (run ./test_atdgen_main.exe)))(cd _build/default/atdgen/test && ./test_atdgen_main.exe)Testing `atdgen'.This run has ID `GEECUFWQ'.[OK] atdgen 0 ocaml internals.[OK] atdgen 1 biniou missing record fields.[OK] atdgen 2 biniou missing tuple fields.[OK] atdgen 3 biniou read/write unit.[OK] atdgen 4 json missing record fields.[OK] atdgen 5 json missing tuple fields.[OK] atdgen 6 json extra field warning.[OK] atdgen 7 json association list.[OK] atdgen 8 json association array.[OK] atdgen 9 json ints derived from ocaml floats.[OK] atdgen 10 biniou correctness.[OK] atdgen 11 json correctness.[OK] atdgen 12 json space.[OK] atdgen 13 validators0.[OK] atdgen 14 validators1.[OK] atdgen 15 validators2.[OK] atdgen 16 validators3.[OK] atdgen 17 validators4.[OK] atdgen 18 json files.[OK] atdgen 19 json streams.[OK] atdgen 20 raw JSON.[OK] atdgen 21 ocaml wrapping - ints.[OK] atdgen 22 ocaml wrapping - double wrapping.[OK] atdgen 23 ocaml wrapping - with validation.[OK] atdgen 24 ocaml wrapping - wrap constructor without...[OK] atdgen 25 check length of floats serialized as floa...[OK] atdgen 26 print JSON floats with maximum number of ...[OK] atdgen 27 read json record with null fields meaning...[OK] atdgen 28 read and write a variant represented as a...[OK] atdgen 29 read and write a variant represented as a...[OK] atdgen 30 test variants represented with single-fie...[OK] atdgen 31 emulate the retired tag_field feature.[OK] atdgen 32 emulate the retired tag_field feature, wi...[OK] atdgen 33 test <json open_enum>.[OK] atdgen 34 test ambiguous record with json adapters.[OK] atdgen 35 test ambiguous classic variants with json...[OK] atdgen 36 test wrapping of polymorphic types.[OK] atdgen 37 json encoding int.[OK] atdgen 38 json encoding & decoding int.[FAIL] atdgen 39 json encoding int with string representat...[OK] atdgen 40 json encoding & decoding int with string ...[OK] atdgen 41 abstract types.[OK] atdgen 42 untyped json.[FAIL] atdgen 43 generic.[OK] atdgen 44 inline-records.┌──────────────────────────────────────────────────────────────────────────────┐│ [FAIL] atdgen 39 json encoding int with string represen... │└──────────────────────────────────────────────────────────────────────────────┘ASSERT trueFAIL trueExpected: `true'Received: `false'Raised at Alcotest_engine__Test.check in file "src/alcotest-engine/test.ml", lines 216-226, characters 4-19Called from Dune__exe__Test_atdgen_main.check in file "atdgen/test/test_atdgen_main.ml" (inlined), line 12, characters 2-43Called from Dune__exe__Test_atdgen_main.test_encoding_int_with_string_repr in file "atdgen/test/test_atdgen_main.ml", line 636, characters 2-39Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35Logs saved to `/src/_build/default/atdgen/test/_build/_tests/atdgen/atdgen.039.output'.──────────────────────────────────────────────────────────────────────────────┌──────────────────────────────────────────────────────────────────────────────┐│ [FAIL] atdgen 43 generic. │└──────────────────────────────────────────────────────────────────────────────┘ASSERT involution-abstract_jASSERT involution-test_int_with_string_repr_j.AfloatFile "atdgen/test/test_atdgen_main.ml", line 678, character 2:FAIL involution-test_int_with_string_repr_j.AfloatExpected: `"\"42\""'Received: `"42"'Raised at Alcotest_engine__Test.check in file "src/alcotest-engine/test.ml", lines 216-226, characters 4-19Called from Dune__exe__Test_atdgen_main.test_generic in file "atdgen/test/test_atdgen_main.ml", line 678, characters 2-107Called from Alcotest_engine__Core.Make.protect_test.(fun) in file "src/alcotest-engine/core.ml", line 186, characters 17-23Called from Alcotest_engine__Monad.Identity.catch in file "src/alcotest-engine/monad.ml", line 24, characters 31-35Logs saved to `/src/_build/default/atdgen/test/_build/_tests/atdgen/atdgen.043.output'.──────────────────────────────────────────────────────────────────────────────Full test results in `/src/_build/default/atdgen/test/_build/_tests/atdgen'.2 failures! in 0.008s. 45 tests run."/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 12026-03-09 07:51.18: Job failed: Failed: Build failed