2025-12-09 19:39.05: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/yojson3 (9b2abd5bc58e93fd0a38a1de4f4a819e13226e7a) (macos-arm64:macos-homebrew-4.14_arm64_opam-2.4) Base: macos-homebrew-ocaml-4.14 Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/atd.git" -b "yojson3" && cd "atd" && git reset --hard 9b2abd5b cat > Dockerfile <<'END-OF-DOCKERFILE' FROM macos-homebrew-ocaml-4.14 # macos-homebrew-4.14_arm64_opam-2.4 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" RUN ln -f ~/local/bin/opam-2.4 ~/local/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version RUN cd ~/opam-repository && (git cat-file -e 8a324a5b9945e0e515da441ede437f3756caa83d || git fetch origin master) && git reset -q --hard 8a324a5b9945e0e515da441ede437f3756caa83d && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 atdts.opam atds.opam atdpy.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam ./src/./ RUN opam pin add -yn atdts.dev './src/./' && \ opam pin add -yn atds.dev './src/./' && \ opam pin add -yn atdpy.dev './src/./' && \ opam pin add -yn atdj.dev './src/./' && \ opam pin add -yn atdgen.dev './src/./' && \ opam pin add -yn atdgen-runtime.dev './src/./' && \ opam pin add -yn atdgen-codec-runtime.dev './src/./' && \ opam pin add -yn atdd.dev './src/./' && \ opam pin add -yn atdcpp.dev './src/./' && \ opam pin add -yn atd.dev './src/./' RUN echo '(lang dune 3.0)' > './src/./dune-project' ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.4 --depext-only -y atdts.dev atds.dev atdpy.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . ./src RUN cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2025-12-09 19:39.05: Using cache hint "ahrefs/atd-macos-homebrew-ocaml-4.14-macos-homebrew-4.14_arm64_opam-2.4-3defb39c8f8e1d2ad79778404c35fe0a" 2025-12-09 19:39.05: Using OBuilder spec: ((from macos-homebrew-ocaml-4.14) (comment macos-homebrew-4.14_arm64_opam-2.4) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (run (shell "ln -f ~/local/bin/opam-2.4 ~/local/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 8a324a5b9945e0e515da441ede437f3756caa83d || git fetch origin master) && git reset -q --hard 8a324a5b9945e0e515da441ede437f3756caa83d && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src atdts.opam atds.opam atdpy.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./src/./)) (run (network host) (shell "opam pin add -yn atdts.dev './src/./' && \ \nopam pin add -yn atds.dev './src/./' && \ \nopam pin add -yn atdpy.dev './src/./' && \ \nopam pin add -yn atdj.dev './src/./' && \ \nopam pin add -yn atdgen.dev './src/./' && \ \nopam pin add -yn atdgen-runtime.dev './src/./' && \ \nopam pin add -yn atdgen-codec-runtime.dev './src/./' && \ \nopam pin add -yn atdd.dev './src/./' && \ \nopam pin add -yn atdcpp.dev './src/./' && \ \nopam pin add -yn atd.dev './src/./'")) (run (network host) (shell "echo '(lang dune 3.0)' > './src/./dune-project'")) (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "opam update --depexts && opam install --cli=2.4 --depext-only -y atdts.dev atds.dev atdpy.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS")) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst ./src)) (run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2025-12-09 19:39.05: Waiting for resource in pool OCluster 2025-12-09 19:39.05: Waiting for worker… 2025-12-09 19:48.52: Got resource from pool OCluster Building on m1-worker-04 HEAD is now at 7757273 Bring back start_any_variant HEAD is now at 9b2abd5 Import the missing Yojson functions 'start_any_variant' and 'start_any_tuple' which were accidentally removed from Yojson. (from macos-homebrew-ocaml-4.14) 2025-12-09 19:48.53 ---> using "0c60f117aee57abea8364cb033d47bb1d63ff0f68e5ee97378e032498e8442af" from cache /: (comment macos-homebrew-4.14_arm64_opam-2.4) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (run (shell "ln -f ~/local/bin/opam-2.4 ~/local/bin/opam")) 2025-12-09 19:48.53 ---> using "16fd332aba96a180769fbf49639a0f9a6aa6ed7d2edfa24c2b9bea4039176eb4" from cache /: (run (shell "opam init --reinit -ni")) No configuration file found, using 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 /Users/mac1000/.opam from version 2.1 to version 2.2, which can't be reverted. You may want to back it up before going further. Continue? [Y/n] y [NOTE] The 'jobs' option was reset, its value was 1 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=1 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] no changes from git+file:///Users/mac1000/opam-repository 2025-12-09 19:48.53 ---> using "441082522a992e4675bb61cf184ac4d487fcb27eccab875ab68ef480e42527a0" from cache /: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Darwin 24.5.0 The OCaml toplevel, version 4.14.2 2.4.1 2025-12-09 19:48.53 ---> using "73a23ad864bce177bda3ef5ed15fdc258f712e067e25e839184501078d169a1f" from cache /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 8a324a5b9945e0e515da441ede437f3756caa83d || git fetch origin master) && git reset -q --hard 8a324a5b9945e0e515da441ede437f3756caa83d && git log --no-decorate -n1 --oneline && opam update -u")) 8a324a5b99 Add: cmdliner.2.1.0 (#28962) <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///Users/mac1000/opam-repository Everything as up-to-date as possible The following packages are not being upgraded because the new versions conflict with other installed packages: - ocaml.5.4.0 - ocaml-config.3 However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.4.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) 2025-12-09 19:48.53 ---> using "89557baf1e9427aa7f10b9ee4cd2e5493e97946d70c04d1ded7d4bc4e01d282c" from cache /: (copy (src atdts.opam atds.opam atdpy.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./src/./)) 2025-12-09 19:48.53 ---> using "21fb58c935660c643083488584911be4e89ece30c0b3ecc4443a439fe6b6cae4" from cache /: (run (network host) (shell "opam pin add -yn atdts.dev './src/./' && \ \nopam pin add -yn atds.dev './src/./' && \ \nopam pin add -yn atdpy.dev './src/./' && \ \nopam pin add -yn atdj.dev './src/./' && \ \nopam pin add -yn atdgen.dev './src/./' && \ \nopam pin add -yn atdgen-runtime.dev './src/./' && \ \nopam pin add -yn atdgen-codec-runtime.dev './src/./' && \ \nopam pin add -yn atdd.dev './src/./' && \ \nopam pin add -yn atdcpp.dev './src/./' && \ \nopam pin add -yn atd.dev './src/./'")) [atdts.dev] synchronised (file:///Users/mac1000/src) atdts is now pinned to file:///Users/mac1000/src (version dev) [atds.dev] synchronised (file:///Users/mac1000/src) atds is now pinned to file:///Users/mac1000/src (version dev) [atdpy.dev] synchronised (file:///Users/mac1000/src) atdpy is now pinned to file:///Users/mac1000/src (version dev) [atdj.dev] synchronised (file:///Users/mac1000/src) atdj is now pinned to file:///Users/mac1000/src (version dev) [atdgen.dev] synchronised (file:///Users/mac1000/src) atdgen is now pinned to file:///Users/mac1000/src (version dev) [atdgen-runtime.dev] synchronised (file:///Users/mac1000/src) atdgen-runtime is now pinned to file:///Users/mac1000/src (version dev) [atdgen-codec-runtime.dev] synchronised (file:///Users/mac1000/src) atdgen-codec-runtime is now pinned to file:///Users/mac1000/src (version dev) [atdd.dev] synchronised (file:///Users/mac1000/src) atdd is now pinned to file:///Users/mac1000/src (version dev) [atdcpp.dev] synchronised (file:///Users/mac1000/src) atdcpp is now pinned to file:///Users/mac1000/src (version dev) [atd.dev] synchronised (file:///Users/mac1000/src) atd is now pinned to file:///Users/mac1000/src (version dev) 2025-12-09 19:48.54 ---> using "268e9de44d3e2c53f639852e5d8a04836b03677d05cbdef385a5ae70a6f3a89b" from cache /: (run (network host) (shell "echo '(lang dune 3.0)' > './src/./dune-project'")) 2025-12-09 19:48.54 ---> using "83d5b36c0381667c83cfd7e39da697ebd1379b177018fefbb7d957a443f4d7b6" from cache /: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.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 dune.3.20.2 easy-format.1.3.4 fmt.0.11.0 menhir.20250912 menhirCST.20250912 menhirLib.20250912 menhirSdk.20250912 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 re.1.14.0 seq.base stdlib-shims.0.3.0 topkg.1.1.1 uutf.1.0.4 yojson.2.2.2") /: (env CI true) /: (env OCAMLCI true) /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "opam update --depexts && opam install --cli=2.4 --depext-only -y atdts.dev atds.dev atdpy.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS")) + /opt/homebrew/bin/brew "update" - ==> Updating Homebrew... - ==> Homebrew collects anonymous analytics. - Read the analytics documentation (and how to opt-out) here: - https://docs.brew.sh/Analytics - No analytics have been recorded yet (nor will be during this `brew` run). - - ==> Homebrew is run entirely by unpaid volunteers. Please consider donating: - https://github.com/Homebrew/brew#donations - - Updated 2 taps (homebrew/core and homebrew/cask). - ==> New Formulae - netshow: Interactive network connection monitor with friendly service names <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [atdd.dev] synchronised (file:///Users/mac1000/src) [atdcpp.dev] synchronised (file:///Users/mac1000/src) [atd.dev] synchronised (file:///Users/mac1000/src) [atdgen.dev] synchronised (file:///Users/mac1000/src) [atdgen-codec-runtime.dev] synchronised (file:///Users/mac1000/src) [atdgen-runtime.dev] synchronised (file:///Users/mac1000/src) [atdj.dev] synchronised (file:///Users/mac1000/src) [atdpy.dev] synchronised (file:///Users/mac1000/src) [atds.dev] synchronised (file:///Users/mac1000/src) [atdts.dev] synchronised (file:///Users/mac1000/src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [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-bigarray is already installed (current version is base). The following system packages will first need to be installed: python@3.9 <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> + /opt/homebrew/bin/brew "install" "python@3.9" - ==> Fetching downloads for: python@3.9 - Warning: python@3.9 has been deprecated! It will be disabled on 2026-10-15. - ✔︎ Bottle Manifest python@3.9 (3.9.25) - ✔︎ Bottle Manifest ca-certificates (2025-12-02) - ✔︎ Bottle Manifest openssl@3 (3.6.0) - ✔︎ Bottle Manifest xz (5.8.1) - ✔︎ Bottle Manifest gdbm (1.26) - ✔︎ Bottle Manifest mpdecimal (4.0.1) - ✔︎ Bottle ca-certificates (2025-12-02) - ✔︎ Bottle Manifest readline (8.3.1) - ✔︎ Bottle xz (5.8.1) - ✔︎ Bottle mpdecimal (4.0.1) - ✔︎ Bottle Manifest sqlite (3.51.1) - ✔︎ Bottle readline (8.3.1) - ✔︎ Bottle sqlite (3.51.1) - ✔︎ Bottle gdbm (1.26) - ✔︎ Bottle openssl@3 (3.6.0) - ✔︎ Bottle python@3.9 (3.9.25) - ==> Installing dependencies for python@3.9: gdbm, mpdecimal, ca-certificates, openssl@3, readline, sqlite and xz - ==> Installing python@3.9 dependency: gdbm - ==> Pouring gdbm--1.26.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/gdbm/1.26: 25 files, 1.1MB - ==> Installing python@3.9 dependency: mpdecimal - ==> Pouring mpdecimal--4.0.1.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/mpdecimal/4.0.1: 22 files, 659.6KB - ==> Installing python@3.9 dependency: ca-certificates - ==> Pouring ca-certificates--2025-12-02.all.bottle.tar.gz - ==> Regenerating CA certificate bundle from keychain, this may take a while... - 🍺 /opt/homebrew/Cellar/ca-certificates/2025-12-02: 4 files, 235.9KB - ==> Installing python@3.9 dependency: openssl@3 - ==> Pouring openssl@3--3.6.0.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/openssl@3/3.6.0: 7,609 files, 37.5MB - ==> Installing python@3.9 dependency: readline - ==> Pouring readline--8.3.1.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/readline/8.3.1: 56 files, 2.7MB - ==> Installing python@3.9 dependency: sqlite - ==> Pouring sqlite--3.51.1.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/sqlite/3.51.1: 13 files, 5.2MB - ==> Installing python@3.9 dependency: xz - ==> Pouring xz--5.8.1.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/xz/5.8.1: 96 files, 2.6MB - ==> Installing python@3.9 - ==> Pouring python@3.9--3.9.25.arm64_sequoia.bottle.tar.gz - ==> /opt/homebrew/Cellar/python@3.9/3.9.25/bin/python3.9 -Im ensurepip - ==> /opt/homebrew/Cellar/python@3.9/3.9.25/bin/python3.9 -Im pip install -v --no-index --upgrade --isolated --target=/opt/homebrew/lib/python3.9/site-packages /opt/homebrew/Cellar/python@3.9/3.9.25/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ensurepip/_bundled/setuptools-80.9.0-py3-none-any.whl /opt/homebrew/Cellar/python@3.9/3.9.25/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ensurepip/_bundled/pip-25.3-py3-none-any.whl /opt/homebrew/Cellar/python@3.9/3.9.25/libexec/wheel-0.45.1-py3-none-any.whl - ==> Caveats - Python is installed as - /opt/homebrew/bin/python3.9 - - Unversioned and major-versioned symlinks `python`, `python3`, `python-config`, `python3-config`, `pip`, `pip3`, etc. pointing to - `python3.9`, `python3.9-config`, `pip3.9` etc., respectively, are installed into - /opt/homebrew/opt/python@3.9/libexec/bin - - You can install Python packages with - pip3.9 install <package> - They will install into the site-package directory - /opt/homebrew/lib/python3.9/site-packages - - `idle3.9` requires tkinter, which is available separately: - brew install python-tk@3.9 - - If you do not need a specific version of Python, and always want Homebrew's `python3` in your PATH: - brew install python3 - - See: https://docs.brew.sh/Homebrew-and-Python - ==> Summary - 🍺 /opt/homebrew/Cellar/python@3.9/3.9.25: 3,039 files, 59.4MB - ==> Running `brew cleanup python@3.9`... - Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`. - Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`). - ==> Caveats - ==> python@3.9 - Python is installed as - /opt/homebrew/bin/python3.9 - - Unversioned and major-versioned symlinks `python`, `python3`, `python-config`, `python3-config`, `pip`, `pip3`, etc. pointing to - `python3.9`, `python3.9-config`, `pip3.9` etc., respectively, are installed into - /opt/homebrew/opt/python@3.9/libexec/bin - - You can install Python packages with - pip3.9 install <package> - They will install into the site-package directory - /opt/homebrew/lib/python3.9/site-packages - - `idle3.9` requires tkinter, which is available separately: - brew install python-tk@3.9 - - If you do not need a specific version of Python, and always want Homebrew's `python3` in your PATH: - brew install python3 - - See: https://docs.brew.sh/Homebrew-and-Python 2025-12-09 19:48.54 ---> using "af739153a29144aa61bbe46744f9b146dfa6dd484be726d174c1c419c203b36c" from cache /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (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 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.2). [NOTE] Package ocaml is already installed (current version is 4.14.2). [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-bigarray is already installed (current version is base). The following actions will be performed: === install 22 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 dune 3.20.2 - install easy-format 1.3.4 - install fmt 0.11.0 - install menhir 20250912 - install menhirCST 20250912 - install menhirLib 20250912 - install menhirSdk 20250912 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install re 1.14.0 - install seq base - install stdlib-shims 0.3.0 - install topkg 1.1.1 - install uutf 1.0.4 - install yojson 2.2.2 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved astring.0.8.5 (cached) -> retrieved alcotest.1.9.1 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved biniou.1.2.2 (https://github.com/mjambon/biniou/releases/download/1.2.2/biniou-1.2.2.tbz) -> retrieved conf-python-3.9.0.0 (https://raw.githubusercontent.com/ocaml/opam-source-archives/main/patches/conf-python-3/test.py) -> retrieved fmt.0.11.0 (cached) -> installed conf-python-3.9.0.0 -> retrieved menhir.20250912, menhirCST.20250912, menhirLib.20250912, menhirSdk.20250912 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved easy-format.1.3.4 (https://github.com/ocaml-community/easy-format/releases/download/1.3.4/easy-format-1.3.4.tbz) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved re.1.14.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved dune.3.20.2 (cached) -> retrieved yojson.2.2.2 (https://github.com/ocaml-community/yojson/releases/download/2.2.2/yojson-2.2.2.tbz) -> installed cmdliner.2.1.0 -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed topkg.1.1.1 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed dune.3.20.2 -> installed easy-format.1.3.4 -> installed camlp-streams.5.0.1 -> installed menhirCST.20250912 -> installed stdlib-shims.0.3.0 -> installed ocaml-syntax-shims.1.0.0 -> installed menhirSdk.20250912 -> installed menhirLib.20250912 -> installed biniou.1.2.2 -> installed yojson.2.2.2 -> installed re.1.14.0 -> installed alcotest.1.9.1 -> installed menhir.20250912 Done. # To update the current shell environment, run: eval $(opam env) 2025-12-09 19:48.54 ---> using "4b32ab749fcd37d0072d7f7f6fc5ca79cfc26cfda716e8f2f3ac9270cfe4b929" from cache /: (copy (src .) (dst ./src)) 2025-12-09 19:48.55 ---> saved as "11ba0a46bb840f5c38229fb7eb2a6dcda042c2a594a7b8da1721f6fd794ddeb1" /: (run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default && /Users/mac1000/.opam/4.14.2/bin/ocamldep.opt -modules -impl doc/atdgen-tutorial-data/config-file/config_atd.ml) > _build/default/doc/atdgen-tutorial-data/config-file/.config.eobjs/dune__exe__Config_atd.impl.d File "doc/atdgen-tutorial-data/config-file/config_atd.ml", line 7, characters 18-21: 7 | <ocaml valid="fun l -> ^^^ Error: Syntax error (cd _build/default/atd/test && ./unit_tests.exe) Testing `atd'. This run has ID `54JUJP5S'. [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.002s. 32 tests run. File "atdd/test/dlang-tests/dune", lines 17-26, characters 0-141: 17 | (rule 18 | (alias runtest) 19 | (package atdd) 20 | (deps 21 | (glob_files *.d)) 22 | (action 23 | (progn 24 | (bash "ldc2 %{deps} --of test") 25 | (bash ./test) 26 | ))) (cd _build/default/atdd/test/dlang-tests && /bin/bash -e -u -o pipefail -c 'ldc2 everything_atd.d test_atdd.d --of test') /bin/bash: ldc2: command not found (cd _build/default/atdts/src/test && ./Main.exe) Testing `atdts'. This run has ID `T9D9LK1A'. Full test results in `~/src/_build/default/atdts/src/test/_build/_tests/atdts'. Test Successful in 0.000s. 0 test run. File "atdcat/test/dune", lines 57-87, characters 0-907: 57 | (rule 58 | (alias runtest) 59 | (deps .... 85 | ) 86 | ) 87 | ) (cd _build/default/atdcat/test && /usr/bin/python3 -m jsonschema schema.json -i data.json) /Library/Developer/CommandLineTools/usr/bin/python3: No module named jsonschema (cd _build/default/atdpy/src/test && ./Main.exe) Testing `atdpy'. This run has ID `N1GL6B7G'. Full test results in `~/src/_build/default/atdpy/src/test/_build/_tests/atdpy'. Test Successful in 0.000s. 0 test run. File "atds/test/dune", lines 13-22, characters 0-177: 13 | (rule 14 | (alias runtest) 15 | (package atds) 16 | (deps 17 | AtdsTest.scala 18 | argonaut_2.11-6.2.2.jar 19 | argonaut_2.12-6.2.2.jar 20 | junit-4.8.2.jar 21 | test.scala) 22 | (action (run ./run_test.sh))) (cd _build/default/atds/test && ./run_test.sh) ./run_test.sh: line 6: scalac: command not found File "atdpy/test/python-tests/dune", lines 19-29, characters 0-198: 19 | (rule 20 | (alias runtest) 21 | (package atdpy) 22 | (deps 23 | everything.py 24 | (glob_files *.py)) 25 | (action 26 | (progn 27 | (run python3 -m flake8 .) 28 | (run python3 -m mypy --strict .) 29 | (run python3 -m pytest .)))) (cd _build/default/atdpy/test/python-tests && /usr/bin/python3 -m flake8 .) /Library/Developer/CommandLineTools/usr/bin/python3: No module named flake8 File "atdj/test/dune", lines 53-61, characters 0-160: 53 | (rule 54 | (alias runtest) 55 | (package atdj) 56 | (deps 57 | AtdjTest.java 58 | json.jar 59 | junit-4.8.2.jar 60 | (glob_files com/mylife/test/*.java)) 61 | (action (run ./run_test.sh))) (cd _build/default/atdj/test && ./run_test.sh) The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. 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.ml diff --git a/_build/default/atdgen/test/melange/melangespec_j.expected.ml b/_build/default/atdgen/test/melange/melangespec_j.ml index 5cba12b..c2ed7f4 100644 --- a/_build/default/atdgen/test/melange/melangespec_j.expected.ml +++ b/_build/default/atdgen/test/melange/melangespec_j.ml @@ -392,20 +392,7 @@ let string_of_with_open_enum ?(len = 1024) x = let read_with_open_enum = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Alpha" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Alpha - | "Beta" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Beta - | x -> - `Other x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "Alpha" -> @@ -467,20 +454,7 @@ let string_of_variant3 ?(len = 1024) x = let read_variant3 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "C" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (C : variant3) - | "B" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (B : variant3) - | x -> - (A x : variant3) - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "C" -> @@ -511,20 +485,7 @@ let string_of_variant2 ?(len = 1024) x = let read_variant2 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (A : variant2) - | "C" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (C : variant2) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> @@ -560,25 +521,7 @@ let string_of_variant1 ?(len = 1024) x = let read_variant1 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (A x : variant1) - | "B" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (B : variant1) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "B" -> @@ -640,30 +583,7 @@ let string_of_v2 ?(len = 1024) x = let read_v2 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "V1_foo" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (V1_foo x : v2) - | "V2_bar" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_bool - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (V2_bar x : v2) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -722,30 +642,7 @@ let string_of_v1 ?(len = 1024) x = let read_v1 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "V1_foo" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_bool - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (V1_foo x : v1) - | "V2_bar" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (V2_bar x : v1) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -923,51 +820,7 @@ let string_of_single_tuple ?(len = 1024) x = let read_single_tuple = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Single_tuple" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - fun p lb -> - Yojson.Safe.read_space p lb; - let std_tuple = Yojson.Safe.start_any_tuple p lb in - let len = ref 0 in - let end_of_tuple = ref false in - (try - let x0 = - let x = - ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - incr len; - (try - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - with Yojson.End_of_tuple -> end_of_tuple := true); - x - in - if not !end_of_tuple then ( - try - while true do - Yojson.Safe.skip_json p lb; - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - done - with Yojson.End_of_tuple -> () - ); - (x0) - with Yojson.End_of_tuple -> - Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0 ]); - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Single_tuple x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -1096,84 +949,7 @@ let string_of__unit_simple_var ?(len = 1024) x = let read__unit_simple_var = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Foo" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - fun p lb -> - Yojson.Safe.read_space p lb; - let std_tuple = Yojson.Safe.start_any_tuple p lb in - let len = ref 0 in - let end_of_tuple = ref false in - (try - let x0 = - let x = - ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - incr len; - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - x - in - let x1 = - let x = - ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - incr len; - (try - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - with Yojson.End_of_tuple -> end_of_tuple := true); - x - in - if not !end_of_tuple then ( - try - while true do - Yojson.Safe.skip_json p lb; - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - done - with Yojson.End_of_tuple -> () - ); - (x0, x1) - with Yojson.End_of_tuple -> - Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0; 1 ]); - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Foo x - | "Bar" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Bar - | "Foobar" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_null - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Foobar x - | "Foo_id" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_id - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Foo_id x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "Bar" -> @@ -1334,84 +1110,7 @@ let string_of_simple_var write__a ?(len = 1024) x = let read_simple_var read__a = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Foo" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - fun p lb -> - Yojson.Safe.read_space p lb; - let std_tuple = Yojson.Safe.start_any_tuple p lb in - let len = ref 0 in - let end_of_tuple = ref false in - (try - let x0 = - let x = - ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - incr len; - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - x - in - let x1 = - let x = - ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - incr len; - (try - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - with Yojson.End_of_tuple -> end_of_tuple := true); - x - in - if not !end_of_tuple then ( - try - while true do - Yojson.Safe.skip_json p lb; - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - done - with Yojson.End_of_tuple -> () - ); - (x0, x1) - with Yojson.End_of_tuple -> - Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0; 1 ]); - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Foo x - | "Bar" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Bar - | "Foobar" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Foobar x - | "Foo_id" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_id - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Foo_id x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "Bar" -> @@ -2749,30 +2448,7 @@ let read_adapted = ( Atdgen_runtime.Oj_run.read_with_adapter Atdgen_codec_runtime.Json_adapter.Type_field.normalize ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `A x - | "B" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_b - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `B x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> File "atdgen/test/test2j.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test2j.expected.ml _build/default/atdgen/test/test2j.ml diff --git a/_build/default/atdgen/test/test2j.expected.ml b/_build/default/atdgen/test/test2j.ml index cea20a4..1f613c7 100644 --- a/_build/default/atdgen/test/test2j.expected.ml +++ b/_build/default/atdgen/test/test2j.ml @@ -52,25 +52,7 @@ let string_of__string_option ?(len = 1024) x = let read__string_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> File "atdgen/test/test_ambiguous_variant_j.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test_ambiguous_variant_j.expected.ml _build/default/atdgen/test/test_ambiguous_variant_j.ml diff --git a/_build/default/atdgen/test/test_ambiguous_variant_j.expected.ml b/_build/default/atdgen/test/test_ambiguous_variant_j.ml index e5432e3..ed1a763 100644 --- a/_build/default/atdgen/test/test_ambiguous_variant_j.expected.ml +++ b/_build/default/atdgen/test/test_ambiguous_variant_j.ml @@ -37,30 +37,7 @@ let read_ambiguous' = ( Atdgen_runtime.Oj_run.read_with_adapter Json_adapters.Identity.normalize ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Int" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Int x : ambiguous') - | "String" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (String x : ambiguous') - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -123,30 +100,7 @@ let read_ambiguous = ( Atdgen_runtime.Oj_run.read_with_adapter Json_adapters.Identity.normalize ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Int" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Int x : ambiguous) - | "String" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (String x : ambiguous) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> File "atdgen/test/test3j_j.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test3j_j.expected.ml _build/default/atdgen/test/test3j_j.ml diff --git a/_build/default/atdgen/test/test3j_j.expected.ml b/_build/default/atdgen/test/test3j_j.ml index 5d74e97..77be75a 100644 --- a/_build/default/atdgen/test/test3j_j.expected.ml +++ b/_build/default/atdgen/test/test3j_j.ml @@ -261,80 +261,7 @@ let string_of_tf_variant2 ?(len = 1024) x = let read_tf_variant2 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "a" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `A x - | "b" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `B x - | "Unknown" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - fun p lb -> - Yojson.Safe.read_space p lb; - let std_tuple = Yojson.Safe.start_any_tuple p lb in - let len = ref 0 in - let end_of_tuple = ref false in - (try - let x0 = - let x = - ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - incr len; - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - x - in - let x1 = - let x = - ( - read__json_nullable - ) p lb - in - incr len; - (try - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - with Yojson.End_of_tuple -> end_of_tuple := true); - x - in - if not !end_of_tuple then ( - try - while true do - Yojson.Safe.skip_json p lb; - Yojson.Safe.read_space p lb; - Yojson.Safe.read_tuple_sep2 p std_tuple lb; - done - with Yojson.End_of_tuple -> () - ); - (x0, x1) - with Yojson.End_of_tuple -> - Atdgen_runtime.Oj_run.missing_tuple_fields p !len [ 0; 1 ]); - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Unknown x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -445,30 +372,7 @@ let string_of_tf_variant ?(len = 1024) x = let read_tf_variant = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "a" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `A x - | "b" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `B x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -1064,30 +968,7 @@ let read_sf_adapted = ( Atdgen_runtime.Oj_run.read_with_adapter Atdgen_runtime.Json_adapter.One_field.normalize ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "a" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_bool - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `A x - | "b" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `B x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -1140,20 +1021,7 @@ let string_of_sample_open_enum ?(len = 1024) x = let read_sample_open_enum = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Alpha" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Alpha - | "Beta" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Beta - | x -> - `Other x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "Alpha" -> @@ -1230,25 +1098,7 @@ let string_of__int_nullable_option ?(len = 1024) x = let read__int_nullable_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__int_nullable - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1734,30 +1584,7 @@ let read_adapted_f = ( Atdgen_runtime.Oj_run.read_with_adapter (Atdgen_runtime.Json_adapter.normalize_type_field "type") ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "fa" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `FA x - | "fb" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_b - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `FB x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> @@ -1820,30 +1647,7 @@ let read_adapted = ( Atdgen_runtime.Oj_run.read_with_adapter Atdgen_runtime.Json_adapter.Type_field.normalize ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "a" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `A x - | "b" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_b - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `B x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> 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.ml diff --git a/_build/default/atdgen/test/testjstd_j.expected.ml b/_build/default/atdgen/test/testjstd_j.ml index 21a5fc4..9c3659d 100644 --- a/_build/default/atdgen/test/testjstd_j.expected.ml +++ b/_build/default/atdgen/test/testjstd_j.ml @@ -197,34 +197,7 @@ and string_of_p' write__a ?(len = 1024) x = let rec read_p' read__a = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (A : 'a p') - | "Bb" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_p' read__a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Bb x : 'a p') - | "Ccccc" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Ccccc x : 'a p') - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> @@ -318,29 +291,7 @@ and string_of_r ?(len = 1024) x = let rec read_p = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `A - | "B" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_r - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `B x - | "C" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `C - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> @@ -554,43 +505,7 @@ and _test_variant_list_of_string s = and read_test_variant = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Case1" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case1 - | "Case2" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case2 x - | "Case3" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case3 x - | "Case4" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__test_variant_list - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case4 x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "Case1" -> @@ -663,34 +578,7 @@ and string_of__int_p ?(len = 1024) x = let rec read__int_p = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (A : _ p') - | "Bb" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__int_p - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Bb x : _ p') - | "Ccccc" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Ccccc x : _ p') - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> @@ -768,25 +656,7 @@ and string_of_poly write__x write__y ?(len = 1024) x = let rec read__a_b_poly_option read__a read__b = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_poly read__a read__b - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1098,25 +968,7 @@ let string_of__val1_option ?(len = 1024) x = let read__val1_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_val1 - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1482,25 +1334,7 @@ let string_of__string_option ?(len = 1024) x = let read__string_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1555,25 +1389,7 @@ let string_of__int_option ?(len = 1024) x = let read__int_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1612,25 +1428,7 @@ let string_of__float_option ?(len = 1024) x = let read__float_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_number - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1669,25 +1467,7 @@ let string_of__bool_option ?(len = 1024) x = let read__bool_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_bool - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -3628,25 +3408,7 @@ let string_of__x_bee1b88 ?(len = 1024) x = let read__x_bee1b88 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -3933,25 +3695,7 @@ let string_of_hello ?(len = 1024) x = let read_hello = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Hello" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Hello x - | "World" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `World - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "World" -> File "atdgen/test/test_classic_inline_record_j.expected.ml", line 1, characters 0-0: /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/atdgen/test/test_classic_inline_record_j.expected.ml _build/default/atdgen/test/test_classic_inline_record_j.ml diff --git a/_build/default/atdgen/test/test_classic_inline_record_j.expected.ml b/_build/default/atdgen/test/test_classic_inline_record_j.ml index 81f9ccf..ad134fc 100644 --- a/_build/default/atdgen/test/test_classic_inline_record_j.expected.ml +++ b/_build/default/atdgen/test/test_classic_inline_record_j.ml @@ -40,129 +40,7 @@ let string_of_foo ?(len = 1024) x = let read_foo = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Foo" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Yojson.Safe.read_space p lb; - Yojson.Safe.read_lcurl p lb; - let field_x = ref (None) in - let field_y = ref (None) in - try - Yojson.Safe.read_space p lb; - Yojson.Safe.read_object_end lb; - Yojson.Safe.read_space p lb; - let f = - fun s pos len -> - if pos < 0 || len < 0 || pos + len > String.length s then - invalid_arg (Printf.sprintf "out-of-bounds substring position or length: string = %S, requested position = %i, requested length = %i" s pos len); - if len = 1 then ( - match String.unsafe_get s pos with - | 'x' -> ( - 0 - ) - | 'y' -> ( - 1 - ) - | _ -> ( - -1 - ) - ) - else ( - -1 - ) - in - let i = Yojson.Safe.map_ident p f lb in - Atdgen_runtime.Oj_run.read_until_field_value p lb; - ( - match i with - | 0 -> - field_x := ( - Some ( - ( - Atdgen_runtime.Oj_run.read_int - ) p lb - ) - ); - | 1 -> - field_y := ( - Some ( - ( - Atdgen_runtime.Oj_run.read_number - ) p lb - ) - ); - | _ -> ( - Yojson.Safe.skip_json p lb - ) - ); - while true do - Yojson.Safe.read_space p lb; - Yojson.Safe.read_object_sep p lb; - Yojson.Safe.read_space p lb; - let f = - fun s pos len -> - if pos < 0 || len < 0 || pos + len > String.length s then - invalid_arg (Printf.sprintf "out-of-bounds substring position or length: string = %S, requested position = %i, requested length = %i" s pos len); - if len = 1 then ( - match String.unsafe_get s pos with - | 'x' -> ( - 0 - ) - | 'y' -> ( - 1 - ) - | _ -> ( - -1 - ) - ) - else ( - -1 - ) - in - let i = Yojson.Safe.map_ident p f lb in - Atdgen_runtime.Oj_run.read_until_field_value p lb; - ( - match i with - | 0 -> - field_x := ( - Some ( - ( - Atdgen_runtime.Oj_run.read_int - ) p lb - ) - ); - | 1 -> - field_y := ( - Some ( - ( - Atdgen_runtime.Oj_run.read_number - ) p lb - ) - ); - | _ -> ( - Yojson.Safe.skip_json p lb - ) - ); - done; - assert false; - with Yojson.End_of_object -> ( - (Foo - { - x = (match !field_x with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "x"); - y = (match !field_y with Some x -> x | None -> Atdgen_runtime.Oj_run.missing_field p "y"); - } - : foo) - ) - ) in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | x -> 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.ml diff --git a/_build/default/atdgen/test/testj.expected.ml b/_build/default/atdgen/test/testj.ml index a99920c..74ba600 100644 --- a/_build/default/atdgen/test/testj.expected.ml +++ b/_build/default/atdgen/test/testj.ml @@ -197,34 +197,7 @@ and string_of_p' write__a ?(len = 1024) x = let rec read_p' read__a = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (A : 'a p') - | "Bb" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_p' read__a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Bb x : 'a p') - | "Ccccc" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__a - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Ccccc x : 'a p') - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> @@ -318,29 +291,7 @@ and string_of_r ?(len = 1024) x = let rec read_p = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `A - | "B" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_r - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `B x - | "C" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `C - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> @@ -558,43 +509,7 @@ and _test_variant_list_of_string s = and read_test_variant = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Case1" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case1 - | "Case2" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case2 x - | "Case3" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case3 x - | "Case4" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__test_variant_list - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Case4 x - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "Case1" -> @@ -667,34 +582,7 @@ and string_of__int_p ?(len = 1024) x = let rec read__int_p = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "A" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (A : _ p') - | "Bb" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read__int_p - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Bb x : _ p') - | "Ccccc" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Ccccc x : _ p') - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "A" -> @@ -772,25 +660,7 @@ and string_of_poly write__x write__y ?(len = 1024) x = let rec read__a_b_poly_option read__a read__b = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_poly read__a read__b - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1112,25 +982,7 @@ let string_of__val1_option ?(len = 1024) x = let read__val1_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - read_val1 - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1500,25 +1352,7 @@ let string_of__string_option ?(len = 1024) x = let read__string_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1573,25 +1407,7 @@ let string_of__int_option ?(len = 1024) x = let read__int_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1630,25 +1446,7 @@ let string_of__float_option ?(len = 1024) x = let read__float_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_number - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -1687,25 +1485,7 @@ let string_of__bool_option ?(len = 1024) x = let read__bool_option = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_bool - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -3684,25 +3464,7 @@ let string_of__x_bee1b88 ?(len = 1024) x = let read__x_bee1b88 = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "None" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (None : _ option) - | "Some" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_int - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - (Some x : _ option) - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "None" -> @@ -3989,25 +3751,7 @@ let string_of_hello ?(len = 1024) x = let read_hello = ( fun p lb -> Yojson.Safe.read_space p lb; - match Yojson.Safe.start_any_variant p lb with - | `Edgy_bracket -> ( - match Yojson.Safe.read_ident p lb with - | "Hello" -> - Atdgen_runtime.Oj_run.read_until_field_value p lb; - let x = ( - Atdgen_runtime.Oj_run.read_string - ) p lb - in - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `Hello x - | "World" -> - Yojson.Safe.read_space p lb; - Yojson.Safe.read_gt p lb; - `World - | x -> - Atdgen_runtime.Oj_run.invalid_variant_tag p x - ) + match Atdgen_runtime.Yojson_extra.start_any_variant p lb with | `Double_quote -> ( match Yojson.Safe.finish_string p lb with | "World" -> File "atdcpp/test/cpp-tests/dune", lines 19-28, characters 0-183: 19 | (rule 20 | (alias runtest) 21 | (package atdcpp) 22 | (deps 23 | (glob_files *.cpp)) 24 | (action 25 | (progn 26 | (bash "g++ -I../../lib/rapidjson/include -std=c++17 %{deps} -o test") 27 | (bash ./test) 28 | ))) (cd _build/default/atdcpp/test/cpp-tests && /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: ./everything_atd.hpp:12:10: fatal error: 'rapidjson/document.h' file not found 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ 1 error generated. In file included from test_atdd.cpp:12: ./everything_atd.hpp:12:10: fatal error: 'rapidjson/document.h' file not found 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ 1 error generated. File "atdgen/test/melange/dune", lines 48-51, characters 0-85: 48 | (rule 49 | (alias runtest) 50 | (package atdgen) 51 | (action (run ./melangespec_roundtrip.exe))) (cd _build/default/atdgen/test/melange && ./melangespec_roundtrip.exe) encode list open enum: Roundtrip failed. Have:[ "Alpha", "other" ] Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 1-19:\nExpected '\"' or '[' but found '<\"Alpha\">,\"other\"]'") backtrace: encode adapted variant b: Roundtrip failed. Have:[ "B", { "thing": 1 } ] Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 0-17:\nExpected '\"' or '[' but found '<\"B\":{\"thing\":1}>'") backtrace: encode adapted variant a: Roundtrip failed. Have:[ "A", { "other_thing": false, "thing": "thing" } ] Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 0-34:\nExpected '\"' or '[' but found '<\"A\":{\"other_thing\":false,\"thing\"'") backtrace: encode 1 tuple: Roundtrip failed. Have:[ "Single_tuple", [ 123 ] ] Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 0-22:\nExpected '\"' or '[' but found '<\"Single_tuple\":(123)>'") backtrace: encode variant: Roundtrip failed. Have:[ [ "Foo", [ 123, 456 ] ], "Bar", [ "Foobar", null ], [ "Foo_id", "testing" ] ] Decoded:exn: Yojson__Common.Json_error("Line 1, bytes 1-35:\nExpected '\"' or '[' but found '<\"Foo\":(123,456)>,<\"Bar\">,<\"Fooba'") backtrace: (cd _build/default/atdgen/test && ./test_atdgen_main.exe) Testing `atdgen'. This run has ID `6A44UR37'. [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. [OK] 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. [OK] atdgen 43 generic. [OK] atdgen 44 inline-records. Full test results in `~/src/_build/default/atdgen/test/_build/_tests/atdgen'. Test Successful in 0.005s. 45 tests run. "/usr/bin/env" "bash" "-c" "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2025-12-09 19:49.05: Job failed: Failed: Build failed