OCamllabs icon Home|Differences with the last checks|Previous runs


Building on doris.caelum.ci.dev

(from ocaml/opam:debian-unstable)
Unable to find image 'ocaml/opam:debian-unstable' locally
debian-unstable: Pulling from ocaml/opam
Digest: sha256:326388062fdc5e366d0d25a65b42bf9938e76068527b8aceec3027158b383b3c
Status: Downloaded newer image for ocaml/opam:debian-unstable
2025-05-13 23:11.11 ---> using "0acd5aeaa8f7bc314514d9795d14a7f12ec72a6a5b11c5904350189734c6859b" from cache

/: (user (uid 1000) (gid 1000))

/: (env OPAMPRECISETRACKING 1)

/: (env OPAMUTF8 never)

/: (env OPAMEXTERNALSOLVER builtin-0install)

/: (env OPAMCRITERIA +removed)

/: (env CI true)

/: (env OPAM_HEALTH_CHECK_CI true)

/: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2025-05-13 23:11.11 ---> using "40df4fa4cdfc68a5fa7a326047e82a7adc5df52b8059d4a7b745bdd50aad56e7" from cache

/: (run (network host)
        (shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q dbc9ec7b83bac3673185542221a571372b6abb35"))
2025-05-13 23:11.11 ---> using "20357fbea61a92c2bdc1950610fb370ec30d4b4205b6f85be61a0d5ad16763e4" from cache

/: (run (shell "rm -rf ~/.opam && opam init -ya --bare --config ~/.opamrc-sandbox ~/opam-repository"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally 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.


<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised

User configuration:
  ~/.profile is already up-to-date.
[NOTE] Make sure that ~/.profile is well sourced in your ~/.bashrc.

2025-05-13 23:11.11 ---> using "23658a5df8af9828e8d43700cc875c3ea271dfcb3ba9fa82b2220e54a557e121" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell "sudo apt update && sudo apt install autoconf -y"))

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Get:1 http://deb.debian.org/debian unstable InRelease [205 kB]
Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB]
Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2025-05-13-2007.41-F-2025-05-11-0804.30.pdiff [49.0 kB]
Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2025-05-13-2007.41-F-2025-05-11-0804.30.pdiff [49.0 kB]
Fetched 318 kB in 1s (217 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
3 packages can be upgraded. Run 'apt list --upgradable' to see them.

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Reading package lists...
Building dependency tree...
Reading state information...
Installing:
  autoconf

Installing dependencies:
  automake  autotools-dev  m4

Suggested packages:
  autoconf-archive  gnu-standards  autoconf-doc  libtool  gettext  m4-doc

Summary:
  Upgrading: 0, Installing: 4, Removing: 0, Not Upgrading: 3
  Download size: 1710 kB
  Space needed: 5051 kB / 271 GB available

Get:1 http://deb.debian.org/debian unstable/main amd64 m4 amd64 1.4.19-8 [294 kB]
Get:2 http://deb.debian.org/debian unstable/main amd64 autoconf all 2.72-3.1 [494 kB]
Get:3 http://deb.debian.org/debian unstable/main amd64 autotools-dev all 20240727.1 [60.2 kB]
Get:4 http://deb.debian.org/debian unstable/main amd64 automake all 1:1.17-4 [862 kB]
Fetched 1710 kB in 0s (4011 kB/s)
Selecting previously unselected package m4.
(Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20678 files and directories currently installed.)
Preparing to unpack .../archives/m4_1.4.19-8_amd64.deb ...
Unpacking m4 (1.4.19-8) ...
Selecting previously unselected package autoconf.
Preparing to unpack .../autoconf_2.72-3.1_all.deb ...
Unpacking autoconf (2.72-3.1) ...
Selecting previously unselected package autotools-dev.
Preparing to unpack .../autotools-dev_20240727.1_all.deb ...
Unpacking autotools-dev (20240727.1) ...
Selecting previously unselected package automake.
Preparing to unpack .../automake_1%3a1.17-4_all.deb ...
Unpacking automake (1:1.17-4) ...
Setting up m4 (1.4.19-8) ...
Setting up autotools-dev (20240727.1) ...
Setting up autoconf (2.72-3.1) ...
Setting up automake (1:1.17-4) ...
update-alternatives: using /usr/bin/automake-1.17 to provide /usr/bin/automake (automake) in auto mode
2025-05-13 23:11.11 ---> using "7500090cc9af80f322654254041f3fc602ac6ff9f4e9777943eb82a6c52ee3cc" from cache

/: (run (network host)
        (shell "git clone -q 'https://github.com/janestreet/opam-repository' ~/'janestreet-with-extensions' && git -C ~/'janestreet-with-extensions' checkout -q 9fcba8f2828b1dd4de45313c7d472a9a0f1b55e7"))
2025-05-13 23:11.11 ---> using "b59a36de54dea5e80e8207f314640093212b667aab8294c8e5e29f555ddd3d36" from cache

/: (run (shell "opam repository add --dont-select 'janestreet-with-extensions' ~/'janestreet-with-extensions'"))
[janestreet-with-extensions] Initialised
2025-05-13 23:11.11 ---> using "10fe936c9d1e16eabb942356f07b8a169382f09aa6865fe5b5aff4658669e1b4" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell "opam switch create --repositories=janestreet-with-extensions,default '5.2.0+flambda2' '5.2.0+flambda2'"))

<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-variants" {= "5.2.0+flambda2"}]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> retrieved init-compiler.4.14.1  (cached)
-> retrieved ocaml-config.3  (cached)
-> installed ocaml-options-vanilla.1
-> retrieved init-dune.3.9.3  (cached)
-> retrieved init-menhir.20231231  (cached)
-> retrieved ocaml-variants.5.2.0+flambda2  (cached)
-> installed init-compiler.4.14.1
-> installed init-dune.3.9.3
-> installed init-menhir.20231231
-> installed ocaml-variants.5.2.0+flambda2
-> installed ocaml-config.3
-> installed ocaml.5.2.0
-> installed base-domains.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env --switch=5.2.0+flambda2)
2025-05-13 23:14.57 ---> saved as "9f23afe31887703a43d49f189611b0f7e2f0becabaae5932d8d0b25ddd85cc79"

/: (run (network host)
        (shell "opam update --depexts"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian unstable InRelease
- Reading package lists...
2025-05-13 23:14.58 ---> saved as "87e27a9fa6d806fc35e8b46f539fdf3d7c669955ce3150e27e16209fde14592a"

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell  "opam remove -y beluga.1.1.2\
               \nopam install -vy beluga.1.1.2\
               \nres=$?\
               \nif [ $res = 31 ]; then\
               \n    if opam show -f x-ci-accept-failures: beluga.1.1.2 | grep -q 'debian-unstable'; then\
               \n        echo \"This package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\"\
               \n        exit 69\
               \n    fi\
               \nfi \
               \n\
               \n\
               \nexit $res"))
Nothing to do.
[NOTE] beluga.1.1.2 is not installed.

The following actions will be performed:
=== install 32 packages
  - install angstrom            0.16.1                   [required by uri]
  - install basement            v0.18~preview.130.31+242 [required by sexplib0]
  - install beluga              1.1.2
  - install bigstringaf         0.10.0                   [required by angstrom]
  - install cmdliner            1.3.0                    [required by uucp]
  - install cppo                1.8.0                    [required by extlib]
  - install csexp               1.5.2                    [required by dune-configurator]
  - install dune                3.18.2                   [required by beluga]
  - install dune-build-info     3.18.2                   [required by beluga]
  - install dune-configurator   3.18.2                   [required by bigstringaf]
  - install extlib              1.8.0                    [required by beluga]
  - install gen                 1.1                      [required by beluga]
  - install linenoise           1.5.1                    [required by beluga]
  - install ocaml-compiler-libs v0.17.0+jst              [required by ppxlib]
  - install ocaml-syntax-shims  1.0.0                    [required by angstrom]
  - install ocamlbuild          0.15.0+jst               [required by uucp]
  - install ocamlfind           1.9.8                    [required by uucp]
  - install omd                 2.0.0~alpha4             [required by beluga]
  - install ppx_derivers        1.2.1                    [required by ppxlib]
  - install ppxlib              0.33.0+jst               [required by sedlex]
  - install ppxlib_ast          0.33.0+jst               [required by ppxlib]
  - install ppxlib_jane         v0.18~preview.130.31+242 [required by ppxlib]
  - install sedlex              3.3+jst                  [required by beluga]
  - install seq                 base                     [required by gen]
  - install sexplib0            v0.18~preview.130.31+242 [required by ppxlib]
  - install stdlib-shims        0.3.0                    [required by ppxlib]
  - install stringext           1.6.0                    [required by uri]
  - install topkg               1.0.8+jst                [required by uucp]
  - install uri                 4.4.0                    [required by beluga]
  - install uucp                16.0.0                   [required by omd]
  - install uunf                16.0.0                   [required by omd]
  - install uutf                1.0.3+jst                [required by omd]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/93: [angstrom.0.16.1: extract]
Processing  2/93: [angstrom.0.16.1: extract] [basement.v0.18~preview.130.31+242: extract]
Processing  3/93: [angstrom.0.16.1: extract] [basement.v0.18~preview.130.31+242: extract] [beluga.1.1.2: extract]
-> retrieved angstrom.0.16.1  (cached)
Processing  3/93: [basement.v0.18~preview.130.31+242: extract] [beluga.1.1.2: extract]
Processing  4/93: [basement.v0.18~preview.130.31+242: extract] [beluga.1.1.2: extract] [bigstringaf.0.10.0: extract]
-> retrieved basement.v0.18~preview.130.31+242  (cached)
Processing  4/93: [beluga.1.1.2: extract] [bigstringaf.0.10.0: extract]
Processing  5/93: [beluga.1.1.2: extract] [bigstringaf.0.10.0: extract] [cmdliner.1.3.0: extract]
-> retrieved beluga.1.1.2  (cached)
Processing  5/93: [bigstringaf.0.10.0: extract] [cmdliner.1.3.0: extract]
Processing  6/93: [bigstringaf.0.10.0: extract] [cmdliner.1.3.0: extract] [cppo.1.8.0: extract]
-> retrieved bigstringaf.0.10.0  (cached)
Processing  6/93: [cmdliner.1.3.0: extract] [cppo.1.8.0: extract]
Processing  7/93: [cmdliner.1.3.0: extract] [cppo.1.8.0: extract] [csexp.1.5.2: extract]
-> retrieved cmdliner.1.3.0  (cached)
Processing  7/93: [cppo.1.8.0: extract] [csexp.1.5.2: extract]
Processing  8/93: [cppo.1.8.0: extract] [csexp.1.5.2: extract] [dune.3.18.2 + 2 others: extract]
Processing  9/93: [cppo.1.8.0: extract] [csexp.1.5.2: extract] [dune.3.18.2 + 2 others: extract] [cmdliner: make all]
-> retrieved cppo.1.8.0  (cached)
Processing  9/93: [csexp.1.5.2: extract] [dune.3.18.2 + 2 others: extract] [cmdliner: make all]
Processing 10/93: [csexp.1.5.2: extract] [dune.3.18.2 + 2 others: extract] [extlib.1.8.0: extract] [cmdliner: make all]
-> retrieved csexp.1.5.2  (cached)
Processing 10/93: [dune.3.18.2 + 2 others: extract] [extlib.1.8.0: extract] [cmdliner: make all]
Processing 11/93: [dune.3.18.2 + 2 others: extract] [extlib.1.8.0: extract] [gen.1.1: extract] [cmdliner: make all]
-> retrieved extlib.1.8.0  (cached)
Processing 11/93: [dune.3.18.2 + 2 others: extract] [gen.1.1: extract] [cmdliner: make all]
Processing 12/93: [dune.3.18.2 + 2 others: extract] [gen.1.1: extract] [linenoise.1.5.1: extract] [cmdliner: make all]
-> retrieved gen.1.1  (cached)
Processing 12/93: [dune.3.18.2 + 2 others: extract] [linenoise.1.5.1: extract] [cmdliner: make all]
Processing 13/93: [dune.3.18.2 + 2 others: extract] [linenoise.1.5.1: extract] [ocaml-compiler-libs.v0.17.0+jst: extract] [cmdliner: make all]
-> retrieved linenoise.1.5.1  (cached)
Processing 13/93: [dune.3.18.2 + 2 others: extract] [ocaml-compiler-libs.v0.17.0+jst: extract] [cmdliner: make all]
Processing 14/93: [dune.3.18.2 + 2 others: extract] [ocaml-compiler-libs.v0.17.0+jst: extract] [ocaml-syntax-shims.1.0.0: extract] [cmdliner: make all]
-> retrieved ocaml-compiler-libs.v0.17.0+jst  (cached)
Processing 14/93: [dune.3.18.2 + 2 others: extract] [ocaml-syntax-shims.1.0.0: extract] [cmdliner: make all]
Processing 15/93: [dune.3.18.2 + 2 others: extract] [ocaml-syntax-shims.1.0.0: extract] [ocamlbuild.0.15.0+jst: extract] [cmdliner: make all]
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
Processing 15/93: [dune.3.18.2 + 2 others: extract] [ocamlbuild.0.15.0+jst: extract] [cmdliner: make all]
Processing 16/93: [dune.3.18.2 + 2 others: extract] [ocamlbuild.0.15.0+jst: extract] [ocamlfind.1.9.8: extract] [cmdliner: make all]
-> retrieved ocamlfind.1.9.8  (cached)
Processing 16/93: [dune.3.18.2 + 2 others: extract] [ocamlbuild.0.15.0+jst: extract] [cmdliner: make all]
Processing 17/93: [dune.3.18.2 + 2 others: extract] [ocamlbuild.0.15.0+jst: extract] [omd.2.0.0~alpha4: extract] [cmdliner: make all]
Processing 18/93: [dune.3.18.2 + 2 others: extract] [ocamlbuild.0.15.0+jst: extract] [omd.2.0.0~alpha4: extract] [cmdliner: make all] [ocamlfind: ./configure]
-> retrieved ocamlbuild.0.15.0+jst  (cached)
Processing 18/93: [dune.3.18.2 + 2 others: extract] [omd.2.0.0~alpha4: extract] [cmdliner: make all] [ocamlfind: ./configure]
Processing 19/93: [dune.3.18.2 + 2 others: extract] [omd.2.0.0~alpha4: extract] [ppx_derivers.1.2.1: extract] [cmdliner: make all] [ocamlfind: ./configure]
[ocamlbuild: patch] applying flambda2.patch
Processing 20/93: [dune.3.18.2 + 2 others: extract] [omd.2.0.0~alpha4: extract] [ppx_derivers.1.2.1: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
-> retrieved omd.2.0.0~alpha4  (cached)
Processing 20/93: [dune.3.18.2 + 2 others: extract] [ppx_derivers.1.2.1: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
Processing 21/93: [dune.3.18.2 + 2 others: extract] [ppx_derivers.1.2.1: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
-> retrieved ppx_derivers.1.2.1  (cached)
Processing 21/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
Processing 22/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [ppxlib_jane.v0.18~preview.130.31+242: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
-> retrieved ppxlib_jane.v0.18~preview.130.31+242  (cached)
Processing 22/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
Processing 23/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [sedlex.3.3+jst: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
-> retrieved sedlex.3.3+jst  (cached)
Processing 23/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
-> retrieved seq.base  (cached)
Processing 24/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
Processing 25/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [sexplib0.v0.18~preview.130.31+242: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
Processing 26/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [sexplib0.v0.18~preview.130.31+242: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
-> installed seq.base
Processing 27/93: [dune.3.18.2 + 2 others: extract] [ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst: extract] [sexplib0.v0.18~preview.130.31+242: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
-> retrieved ppxlib.0.33.0+jst, ppxlib_ast.0.33.0+jst  (cached)
Processing 27/93: [dune.3.18.2 + 2 others: extract] [sexplib0.v0.18~preview.130.31+242: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
Processing 28/93: [dune.3.18.2 + 2 others: extract] [sexplib0.v0.18~preview.130.31+242: extract] [stdlib-shims.0.3.0: extract] [cmdliner: make all] [ocamlbuild: make configure.make] [ocamlfind: ./configure]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "-f" "configure.make" "all" "OCAMLBUILD_PREFIX=/home/opam/.opam/5.2.0+flambda2" "OCAMLBUILD_BINDIR=/home/opam/.opam/5.2.0+flambda2/bin" "OCAMLBUILD_LIBDIR=/home/opam/.opam/5.2.0+flambda2/lib" "OCAMLBUILD_MANDIR=/home/opam/.opam/5.2.0+flambda2/man" "OCAML_NATIVE=true" "OCAML_NATIVE_TOOLS=true" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst)
- (echo "# This file was generated from configure.make"; \
- echo ;\
- echo "OCAML_PREFIX="; \
- echo "OCAML_BINDIR=/home/opam/.opam/5.2.0+flambda2/bin"; \
- echo "OCAML_LIBDIR=/home/opam/.opam/5.2.0+flambda2/lib/ocaml"; \
- echo "OCAML_MANDIR=/home/opam/.opam/5.2.0+flambda2/man"; \
- echo ;\
- echo "EXT_OBJ=.o"; \
- echo "EXT_ASM=.s"; \
- echo "EXT_LIB=.a"; \
- echo "EXT_DLL=.so"; \
- echo "EXE="; \
- echo ;\
- echo "OCAML_NATIVE=true"; \
- echo "OCAML_NATIVE_TOOLS=true"; \
- echo "NATDYNLINK=true"; \
- echo "SUPPORT_SHARED_LIBRARIES=true"; \
- echo ;\
- echo "PREFIX=/home/opam/.opam/5.2.0+flambda2"; \
- echo "BINDIR=/home/opam/.opam/5.2.0+flambda2/bin"; \
- echo "LIBDIR=/home/opam/.opam/5.2.0+flambda2/lib"; \
- echo "MANDIR=/home/opam/.opam/5.2.0+flambda2/man"; \
- ) > Makefile.config
- (echo "(* This file was generated from ../configure.make *)"; \
- echo ;\
- echo 'let bindir = {|/home/opam/.opam/5.2.0+flambda2/bin|}'; \
- echo 'let libdir = {|/home/opam/.opam/5.2.0+flambda2/lib|}'; \
- echo 'let ocaml_libdir = {|/home/opam/.opam/5.2.0+flambda2/lib/ocaml|}'; \
- echo 'let libdir_abs = {|/home/opam/.opam/5.2.0+flambda2/lib|}'; \
- echo 'let ocaml_native = true'; \
- echo 'let ocaml_native_tools = true'; \
- echo 'let supports_shared_libraries = true';\
- echo 'let a = "a"'; \
- echo 'let o = "o"'; \
- echo 'let so = "so"'; \
- echo 'let ext_dll = ".so"'; \
- echo 'let exe = ""'; \
- echo 'let version = "0.15.0"'; \
- ) > src/ocamlbuild_config.ml
Processing 28/93: [dune.3.18.2 + 2 others: extract] [sexplib0.v0.18~preview.130.31+242: extract] [stdlib-shims.0.3.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved sexplib0.v0.18~preview.130.31+242  (cached)
Processing 28/93: [dune.3.18.2 + 2 others: extract] [stdlib-shims.0.3.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 29/93: [dune.3.18.2 + 2 others: extract] [stdlib-shims.0.3.0: extract] [stringext.1.6.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved stdlib-shims.0.3.0  (cached)
Processing 29/93: [dune.3.18.2 + 2 others: extract] [stringext.1.6.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 30/93: [dune.3.18.2 + 2 others: extract] [stringext.1.6.0: extract] [topkg.1.0.8+jst: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved stringext.1.6.0  (cached)
Processing 30/93: [dune.3.18.2 + 2 others: extract] [topkg.1.0.8+jst: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 31/93: [dune.3.18.2 + 2 others: extract] [topkg.1.0.8+jst: extract] [uri.4.4.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved topkg.1.0.8+jst  (cached)
Processing 31/93: [dune.3.18.2 + 2 others: extract] [uri.4.4.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 32/93: [dune.3.18.2 + 2 others: extract] [uri.4.4.0: extract] [uucp.16.0.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved uri.4.4.0  (cached)
Processing 32/93: [dune.3.18.2 + 2 others: extract] [uucp.16.0.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 33/93: [dune.3.18.2 + 2 others: extract] [uucp.16.0.0: extract] [uunf.16.0.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved uunf.16.0.0  (cached)
Processing 33/93: [dune.3.18.2 + 2 others: extract] [uucp.16.0.0: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 34/93: [dune.3.18.2 + 2 others: extract] [uucp.16.0.0: extract] [uutf.1.0.3+jst: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved dune.3.18.2, dune-build-info.3.18.2, dune-configurator.3.18.2  (cached)
Processing 34/93: [uucp.16.0.0: extract] [uutf.1.0.3+jst: extract] [cmdliner: make all] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 35/93: [uucp.16.0.0: extract] [uutf.1.0.3+jst: extract] [cmdliner: make all] [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "./configure" "-bindir" "/home/opam/.opam/5.2.0+flambda2/bin" "-sitelib" "/home/opam/.opam/5.2.0+flambda2/lib" "-mandir" "/home/opam/.opam/5.2.0+flambda2/man" "-config" "/home/opam/.opam/5.2.0+flambda2/lib/findlib.conf" "-no-custom" "-no-camlp4" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8)
- Welcome to findlib version 1.9.8
- Configuring core...
- Checking for #remove_directory...
- Testing threading model...
- systhread_supported: true
- Testing DLLs...
- File "_none_", line 1:
- Error: Reference to undefined compilation unit "Stdlib__Mutex"
- Hint: This means that the interface of a module is loaded, but its implementation is not.
-       Did you mean to load a compiled implementation of the module 
-       using "#load" or by passing it as an argument to the toplevel?
- Testing whether ppxopt can be supported...
- Checking for ocamlc -opaque...
- Checking for ocamlopt -g...
- Configuring libraries...
- unix: found (in +unix)
- dynlink: found (in +dynlink)
- bigarray: not present (possible since 4.08)
- compiler-libs: found
- dbm: not present (normal since 4.00)
- graphics: not present (normal since 4.09)
- num: not present (normal since 4.06)
- ocamlbuild: not present (normal since 4.03)
- ocamldoc: not present
- raw_spacetime: not present (normal since 4.12)
- threads: found (in +threads)
- str: found (in +str)
- labltk: not present (normal since 4.02)
- native dynlink: found
- camlp4: disabled
- bytes: found, installing fake library
- Configuration for bytes written to site-lib-src/bytes/META
- Detecting compiler arguments: (extractor built) ok
- 
- About the OCAML core installation:
-     Standard library:      /home/opam/.opam/5.2.0+flambda2/lib/ocaml
-     Binaries:              /home/opam/.opam/5.2.0+flambda2/bin
-     Manual pages:          /usr/local/man
-     Multi-threading type:  posix
- The directory of site-specific packages will be
-     site-lib:              /home/opam/.opam/5.2.0+flambda2/lib
- The configuration file is written to:
-     findlib config file:   /home/opam/.opam/5.2.0+flambda2/lib/findlib.conf
- Software will be installed:
-     Libraries:             in <site-lib>/findlib
-     Binaries:              /home/opam/.opam/5.2.0+flambda2/bin
-     Manual pages:          /home/opam/.opam/5.2.0+flambda2/man
-     topfind script:        /home/opam/.opam/5.2.0+flambda2/lib/ocaml
- Topfind ppxopt support:    yes
- Toolbox:                   no
- Link custom runtime:       no
- Need bytes compatibility:  no
- 
- Configuration has been written to Makefile.config
- 
- You can now do 'make all', and optionally 'make opt', to build ocamlfind.
Processing 35/93: [uucp.16.0.0: extract] [uutf.1.0.3+jst: extract] [cmdliner: make all] [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make all]
-> retrieved uucp.16.0.0  (cached)
Processing 35/93: [uutf.1.0.3+jst: extract] [cmdliner: make all] [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make all]
-> retrieved uutf.1.0.3+jst  (cached)
Processing 35/93: [cmdliner: make all] [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make all]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "all" "PREFIX=/home/opam/.opam/5.2.0+flambda2" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/cmdliner.1.3.0)
- ocaml build.ml cma
- ocaml build.ml cmxa
- ocaml build.ml cmxs
-> compiled  cmdliner.1.3.0
Processing 35/93: [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make all]
Processing 36/93: [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make all] [cmdliner: make install]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "all" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8)
- for p in findlib; do ( cd src/$p; make all ) || exit; done
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- ocamllex fl_meta.mll
- 22 states, 392 transitions, table size 1700 bytes
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat findlib_config.mlp | \
-          ../../tools/patch '@CONFIGFILE@' '/home/opam/.opam/5.2.0+flambda2/lib/findlib.conf' | \
-          ../../tools/patch '@STDLIB@' '/home/opam/.opam/5.2.0+flambda2/lib/ocaml' | \
-          ../../tools/patch '@RELATIVE_PATHS@' 'false' | \
- 	sed -e 's;@AUTOLINK@;true;g' \
- 	    -e 's;@SYSTEM@;linux;g' \
- 	     >findlib_config.ml
- if [ "true" = "true" ]; then                 \
- 	cp topfind.ml.in topfind.ml;                             \
- else                                                             \
- 	sed -e '/PPXOPT_BEGIN/,/PPXOPT_END/ d' topfind.ml.in     \
- 		> topfind.ml ;                                   \
- fi
- ocamldep *.ml *.mli >depend
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_compat.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_split.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c findlib_config.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_metatoken.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_meta.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_metascanner.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_metascanner.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_topo.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_topo.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_package_base.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_package_base.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c findlib.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c findlib.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_args.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_lint.ml
- ocamlc -I +compiler-libs -a -o findlib.cma fl_compat.cmo fl_split.cmo findlib_config.cmo fl_metatoken.cmo fl_meta.cmo fl_metascanner.cmo fl_topo.cmo fl_package_base.cmo findlib.cmo fl_args.cmo fl_lint.cmo
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c ocaml_args.ml
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c frontend.ml
- File "frontend.ml", line 385, characters 6-16:
- 385 |       Sys.signal Sys.sigint Sys.Signal_ignore in
-             ^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Sys.signal
- Use [Sys.Safe.signal].
- 
- File "frontend.ml", line 428, characters 4-18:
- 428 |     Sys.set_signal Sys.sigint old_sigint;
-           ^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Sys.set_signal
- Use [Sys.Safe.set_signal].
- ocamlc -I +compiler-libs  -o ocamlfind -g findlib.cma unix.cma \
-            -I +unix -I +dynlink ocaml_args.cmo frontend.cmo
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c topfind.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c topfind.ml
- File "topfind.ml", line 128, characters 40-63:
- 128 |                      match Hashtbl.find Toploop.directive_table "ppx" with
-                                               ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 258, characters 4-27:
- 258 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 268, characters 4-27:
- 268 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 280, characters 4-27:
- 280 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 293, characters 4-27:
- 293 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 307, characters 4-27:
- 307 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 319, characters 4-27:
- 319 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- ocamlc -I +compiler-libs -a -o findlib_top.cma topfind.cmo
- if [ "1" = "1" ]; then                        \
- 	cp topfind.in topfind.compat.in;                                                     \
- else                                                                  \
- 	sed -e '/REMOVE_DIRECTORY_BEGIN/,/REMOVE_DIRECTORY_END/ d' topfind.in \
- 		> topfind.compat.in ;                                                \
- fi
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat topfind.compat.in | \
-          ../../tools/patch '@SITELIB@' '/home/opam/.opam/5.2.0+flambda2/lib' | \
-          ../../tools/patch '@RELATIVE_PATHS@' 'false' \
-     	    >topfind
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -c fl_dynload.mli
- ocamlc -I +compiler-libs -opaque   -I +unix -I +dynlink -g -c fl_dynload.ml
- ocamlc -I +compiler-libs -a -o findlib_dynload.cma fl_dynload.cmo
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- make all-config
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- if [ "false" = "true" ]; then \
-   make findlib-relative; \
-         else \
-   make findlib-absolute; \
- fi
- make[2]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat findlib.conf.in | \
-      tools/patch '@SITELIB@' '/home/opam/.opam/5.2.0+flambda2/lib' | \
- 		 tools/patch '@FINDLIB_PATH@' '/home/opam/.opam/5.2.0+flambda2/lib/ocaml:/home/opam/.opam/5.2.0+flambda2/lib' -p >findlib.conf
- if ./tools/cmd_from_same_dir ocamlc; then \
- 	echo 'ocamlc="ocamlc.opt"' >>findlib.conf; \
- fi
- if ./tools/cmd_from_same_dir ocamlopt; then \
- 	echo 'ocamlopt="ocamlopt.opt"' >>findlib.conf; \
- fi
- if ./tools/cmd_from_same_dir ocamldep; then \
- 	echo 'ocamldep="ocamldep.opt"' >>findlib.conf; \
- fi
- if ./tools/cmd_from_same_dir ocamldoc; then \
- 	echo 'ocamldoc="ocamldoc.opt"' >>findlib.conf; \
- fi
- make[2]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
Processing 36/93: [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make opt] [cmdliner: make install]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "install" "make" "install" "LIBDIR=/home/opam/.opam/5.2.0+flambda2/lib/cmdliner" "DOCDIR=/home/opam/.opam/5.2.0+flambda2/doc/cmdliner" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/cmdliner.1.3.0)
- install -d "/home/opam/.opam/5.2.0+flambda2/lib/cmdliner"
- install pkg/META _build/cmdliner.mli _build/cmdliner.cmi _build/cmdliner.cmti "/home/opam/.opam/5.2.0+flambda2/lib/cmdliner"
- install cmdliner.opam "/home/opam/.opam/5.2.0+flambda2/lib/cmdliner/opam"
- install _build/cmdliner.cma "/home/opam/.opam/5.2.0+flambda2/lib/cmdliner"
- install _build/cmdliner.cmxa _build/cmdliner.a _build/cmdliner.cmx _build/cmdliner_arg.cmx _build/cmdliner_base.cmx _build/cmdliner_cline.cmx _build/cmdliner_cmd.cmx _build/cmdliner_docgen.cmx _build/cmdliner_eval.cmx _build/cmdliner_exit.cmx _build/cmdliner_info.cmx _build/cmdliner_manpage.cmx _build/cmdliner_msg.cmx _build/cmdliner_term.cmx _build/cmdliner_term_deprecated.cmx _build/cmdliner_trie.cmx \
-   "/home/opam/.opam/5.2.0+flambda2/lib/cmdliner"
- install _build/cmdliner.cmxs "/home/opam/.opam/5.2.0+flambda2/lib/cmdliner"
Processing 36/93: [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make opt] [cmdliner: make install-doc]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "install" "make" "install-doc" "LIBDIR=/home/opam/.opam/5.2.0+flambda2/lib/cmdliner" "DOCDIR=/home/opam/.opam/5.2.0+flambda2/doc/cmdliner" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/cmdliner.1.3.0)
- install -d "/home/opam/.opam/5.2.0+flambda2/doc/cmdliner/odoc-pages"
- install CHANGES.md LICENSE.md README.md "/home/opam/.opam/5.2.0+flambda2/doc/cmdliner"
- install doc/index.mld doc/cli.mld doc/examples.mld doc/tutorial.mld \
-            doc/tool_man.mld "/home/opam/.opam/5.2.0+flambda2/doc/cmdliner/odoc-pages"
-> installed cmdliner.1.3.0
Processing 36/93: [dune: ocaml 255] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make opt]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "check-if-preinstalled" "all" "opam-install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst)
- if test -d /home/opam/.opam/5.2.0+flambda2/lib/ocaml/ocamlbuild; then\
-   >&2 echo "ERROR: Preinstalled ocamlbuild detected at"\
-        "/home/opam/.opam/5.2.0+flambda2/lib/ocaml/ocamlbuild";\
-   >&2 echo "Installation aborted; if you want to bypass this"\
-         "safety check, pass CHECK_IF_PREINSTALLED=false to make";\
-   exit 2;\
- fi
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/const.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/loc.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/loc.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/discard_printf.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/discard_printf.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/signatures.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/exit_codes.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/exit_codes.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/my_std.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/my_std.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_executor.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_executor.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/my_unix.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/my_unix.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/tags.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/tags.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/display.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/display.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/log.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/log.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/shell.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/shell.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/bool.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/bool.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_ast.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_ast.ml
- ocamllex.opt src/glob_lexer.mll
- 55 states, 419 transitions, table size 2006 bytes
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_lexer.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_lexer.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob.ml
- ocamllex.opt src/lexers.mll
- 235 states, 1033 transitions, table size 5542 bytes
- 4238 additional bytes used for bindings
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/lexers.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/lexers.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/param_tags.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/param_tags.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/command.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/command.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_config.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_where.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_where.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/slurp.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/slurp.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/options.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/options.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/pathname.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/pathname.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/configuration.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/configuration.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/flags.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/flags.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/hygiene.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/hygiene.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/digest_cache.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/digest_cache.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/resource.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/resource.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/rule.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/rule.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/solver.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/solver.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/report.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/report.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/tools.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/tools.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/fda.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/fda.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/findlib.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/findlib.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_arch.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_arch.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_utils.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_utils.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_dependencies.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_dependencies.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_compiler.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_compiler.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_tools.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_tools.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_specific.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_specific.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/plugin.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/plugin.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/hooks.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/hooks.ml
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/main.mli
- ocamlc.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/main.ml
- mkdir -p tmp
- ocamlc.opt -pack src/const.cmo src/loc.cmo src/discard_printf.cmo src/signatures.cmi src/exit_codes.cmo src/my_std.cmo src/ocamlbuild_executor.cmo src/my_unix.cmo src/tags.cmo src/display.cmo src/log.cmo src/shell.cmo src/bool.cmo src/glob_ast.cmo src/glob_lexer.cmo src/glob.cmo src/lexers.cmo src/param_tags.cmo src/command.cmo src/ocamlbuild_config.cmo src/ocamlbuild_where.cmo src/slurp.cmo src/options.cmo src/pathname.cmo src/configuration.cmo src/flags.cmo src/hygiene.cmo src/digest_cache.cmo src/resource.cmo src/rule.cmo src/solver.cmo src/report.cmo src/tools.cmo src/fda.cmo src/findlib.cmo src/ocaml_arch.cmo src/ocaml_utils.cmo src/ocaml_dependencies.cmo src/ocaml_compiler.cmo src/ocaml_tools.cmo src/ocaml_specific.cmo src/plugin.cmo src/hooks.cmo src/main.cmo -o tmp/ocamlbuild_pack.cmo
- mv tmp/ocamlbuild_pack.cmi src/ocamlbuild_pack.cmi
- mv tmp/ocamlbuild_pack.cmo src/ocamlbuild_pack.cmo
- ocamlc.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c plugin-lib/ocamlbuild_plugin.mli
- ocamlc.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c plugin-lib/ocamlbuild_plugin.ml
- ocamlc.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c plugin-lib/ocamlbuild_unix_plugin.ml
- ocamlc.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c bin/ocamlbuild.mli
- ocamlc.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c bin/ocamlbuild.ml
- ocamlc.opt -I +unix -I src -o ocamlbuild.byte -I +unix unix.cma src/ocamlbuild_pack.cmo plugin-lib/ocamlbuild_plugin.cmo plugin-lib/ocamlbuild_unix_plugin.cmo bin/ocamlbuild.cmo
- ocamlc.opt -a -o plugin-lib/ocamlbuildlib.cma src/ocamlbuild_pack.cmo plugin-lib/ocamlbuild_plugin.cmo plugin-lib/ocamlbuild_unix_plugin.cmo
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/const.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/loc.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/discard_printf.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/exit_codes.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/my_std.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_executor.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/my_unix.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/tags.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/display.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/log.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/shell.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/bool.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_ast.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_lexer.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/glob.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/lexers.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/param_tags.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/command.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_config.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_where.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/slurp.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/options.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/pathname.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/configuration.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/flags.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/hygiene.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/digest_cache.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/resource.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/rule.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/solver.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/report.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/tools.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/fda.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/findlib.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_arch.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_utils.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_dependencies.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_compiler.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_tools.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_specific.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/plugin.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/hooks.ml
- ocamlopt.opt -for-pack Ocamlbuild_pack -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c src/main.ml
- mkdir -p tmp
- ocamlopt.opt -pack src/const.cmx src/loc.cmx src/discard_printf.cmx src/signatures.cmi src/exit_codes.cmx src/my_std.cmx src/ocamlbuild_executor.cmx src/my_unix.cmx src/tags.cmx src/display.cmx src/log.cmx src/shell.cmx src/bool.cmx src/glob_ast.cmx src/glob_lexer.cmx src/glob.cmx src/lexers.cmx src/param_tags.cmx src/command.cmx src/ocamlbuild_config.cmx src/ocamlbuild_where.cmx src/slurp.cmx src/options.cmx src/pathname.cmx src/configuration.cmx src/flags.cmx src/hygiene.cmx src/digest_cache.cmx src/resource.cmx src/rule.cmx src/solver.cmx src/report.cmx src/tools.cmx src/fda.cmx src/findlib.cmx src/ocaml_arch.cmx src/ocaml_utils.cmx src/ocaml_dependencies.cmx src/ocaml_compiler.cmx src/ocaml_tools.cmx src/ocaml_specific.cmx src/plugin.cmx src/hooks.cmx src/main.cmx -o tmp/ocamlbuild_pack.cmx
- mv tmp/ocamlbuild_pack.cmx src/ocamlbuild_pack.cmx
- mv tmp/ocamlbuild_pack.o src/ocamlbuild_pack.o
- ocamlopt.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c plugin-lib/ocamlbuild_plugin.ml
- ocamlopt.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c plugin-lib/ocamlbuild_unix_plugin.ml
- ocamlopt.opt -w @14@29 -w +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c bin/ocamlbuild.ml
- ocamlopt.opt -I +unix -I src -o ocamlbuild.native -I +unix unix.cmxa src/ocamlbuild_pack.cmx plugin-lib/ocamlbuild_plugin.cmx plugin-lib/ocamlbuild_unix_plugin.cmx bin/ocamlbuild.cmx
- ocamlopt.opt -a -o plugin-lib/ocamlbuildlib.cmxa src/ocamlbuild_pack.cmx plugin-lib/ocamlbuild_plugin.cmx plugin-lib/ocamlbuild_unix_plugin.cmx
- ocamlc.opt -I +unix unix.cma src/ocamlbuild_pack.cmo -I src man/options_man.ml -o man/options_man.byte
- ./man/options_man.byte > man/ocamlbuild.options.1
- cat man/ocamlbuild.header.1 man/ocamlbuild.options.1 man/ocamlbuild.footer.1 > man/ocamlbuild.1
- make ocamlbuild.install
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- rm -f ocamlbuild.install
- touch ocamlbuild.install
- make install-bin-opam
- make[2]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- echo 'bin: [' >> ocamlbuild.install
- echo '  "ocamlbuild.byte" {"ocamlbuild.byte"}' >> ocamlbuild.install
- echo '  "ocamlbuild.native" {"ocamlbuild.native"}' >> ocamlbuild.install
- echo '  "ocamlbuild.native" {"ocamlbuild"}' >> ocamlbuild.install
- echo ']' >> ocamlbuild.install
- echo >> ocamlbuild.install
- make[2]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- make install-lib-opam
- make[2]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- echo 'lib: [' >> ocamlbuild.install
- make install-lib-basics-opam
- make[3]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- echo '  "ocamlbuild.opam" {"opam"}' >> ocamlbuild.install
- echo '  "META"' >> ocamlbuild.install
- for lib in src/signatures.mli src/signatures.cmi src/signatures.cmti; do \
-   echo "  \"$lib\" {\"$(basename $lib)\"}" >> ocamlbuild.install; \
- done
- make[3]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- make install-lib-byte-opam
- make[3]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- for lib in plugin-lib/ocamlbuildlib.cma bin/ocamlbuild.cmo src/ocamlbuild_pack.cmi plugin-lib/ocamlbuild_plugin.cmi plugin-lib/ocamlbuild_unix_plugin.cmi; do \
-   echo "  \"$lib\" {\"$(basename $lib)\"}" >> ocamlbuild.install; \
- done
- make[3]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- make install-lib-native-opam
- make[3]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- for lib in plugin-lib/ocamlbuildlib.cmxa plugin-lib/ocamlbuildlib.a bin/ocamlbuild.cmx bin/ocamlbuild.o src/ocamlbuild_pack.cmx plugin-lib/ocamlbuild_plugin.cmx plugin-lib/ocamlbuild_unix_plugin.cmx plugin-lib/ocamlbuild_plugin.o plugin-lib/ocamlbuild_unix_plugin.o; do \
-   echo "  \"$lib\" {\"$(basename $lib)\"}" >> ocamlbuild.install; \
- done
- make[3]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- echo ']' >> ocamlbuild.install
- echo >> ocamlbuild.install
- make[2]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- make install-man-opam
- make[2]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- echo 'man: [' >> ocamlbuild.install
- echo '  "man/ocamlbuild.1" {"man1/ocamlbuild.1"}' >> ocamlbuild.install
- echo ']' >> ocamlbuild.install
- echo >> ocamlbuild.install
- make[2]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- make install-doc-opam
- make[2]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- echo 'doc: [' >> ocamlbuild.install
- echo '  "LICENSE"' >> ocamlbuild.install
- echo '  "Changes"' >> ocamlbuild.install
- echo '  "Readme.md"' >> ocamlbuild.install
- echo ']' >> ocamlbuild.install
- make[2]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlbuild.0.15.0+jst'
-> compiled  ocamlbuild.0.15.0+jst
Processing 36/93: [dune: ocaml 255] [ocamlfind: make opt]
-> installed ocamlbuild.0.15.0+jst
Processing 37/93: [dune: ocaml 255] [ocamlfind: make opt]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "opt" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8)
- for p in findlib; do ( cd src/$p; make opt ) || exit; done
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_compat.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_split.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c findlib_config.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_metatoken.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_meta.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_metascanner.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_topo.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_package_base.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c findlib.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_args.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_lint.ml
- ocamlopt -I +compiler-libs -g -a -o findlib.cmxa fl_compat.cmx fl_split.cmx findlib_config.cmx fl_metatoken.cmx fl_meta.cmx fl_metascanner.cmx fl_topo.cmx fl_package_base.cmx findlib.cmx fl_args.cmx fl_lint.cmx
- if [ 1 -gt 0 ]; then \
-     ocamlopt -I +compiler-libs -g -shared -o findlib.cmxs fl_compat.cmx fl_split.cmx findlib_config.cmx fl_metatoken.cmx fl_meta.cmx fl_metascanner.cmx fl_topo.cmx fl_package_base.cmx findlib.cmx fl_args.cmx fl_lint.cmx; \
- fi
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c ocaml_args.ml
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c frontend.ml
- File "frontend.ml", line 385, characters 6-16:
- 385 |       Sys.signal Sys.sigint Sys.Signal_ignore in
-             ^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Sys.signal
- Use [Sys.Safe.signal].
- 
- File "frontend.ml", line 428, characters 4-18:
- 428 |     Sys.set_signal Sys.sigint old_sigint;
-           ^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Sys.set_signal
- Use [Sys.Safe.set_signal].
- ocamlopt -I +compiler-libs -g -o ocamlfind_opt findlib.cmxa unix.cmxa \
- 	   -I +unix -I +dynlink ocaml_args.cmx frontend.cmx
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c topfind.ml
- File "topfind.ml", line 128, characters 40-63:
- 128 |                      match Hashtbl.find Toploop.directive_table "ppx" with
-                                               ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 258, characters 4-27:
- 258 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 268, characters 4-27:
- 268 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 280, characters 4-27:
- 280 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 293, characters 4-27:
- 293 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 307, characters 4-27:
- 307 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "topfind.ml", line 319, characters 4-27:
- 319 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Topdirs, and its interface was not compiled with -opaque
- 
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Toploop, and its interface was not compiled with -opaque
- ocamlopt -I +compiler-libs -g -a -o findlib_top.cmxa topfind.cmx
- if [ 1 -gt 0 ]; then \
-     ocamlopt -I +compiler-libs -g -shared -o findlib_top.cmxs topfind.cmx; \
- fi
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c fl_dynload.ml
- ocamlopt -I +compiler-libs -g -a -o findlib_dynload.cmxa fl_dynload.cmx
- if [ 1 -gt 0 ]; then \
-     ocamlopt -I +compiler-libs -g -shared -o findlib_dynload.cmxs fl_dynload.cmx; \
- fi
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
-> compiled  ocamlfind.1.9.8
Processing 37/93: [dune: ocaml 255]
Processing 38/93: [dune: ocaml 255] [ocamlfind: make install]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "install" "make" "install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8)
- if [ "0" -eq 1 ]; then \
-     for x in camlp4 dbm graphics labltk num ocamlbuild; do \
-       if [ -f "/home/opam/.opam/5.2.0+flambda2/lib/$x/META" ]; then \
-         if ! grep -Fq '[distributed with Ocaml]' "//home/opam/.opam/5.2.0+flambda2/lib/$x/META"; then \
-           rm -f site-lib-src/$x/META; \
-         fi; \
-       fi; \
-     done; \
-     test -f "site-lib-src/num/META" || rm -f "site-lib-src/num-top/META"; \
-   fi
- echo 'SITELIB_META =' > Makefile.packages.in
- for x in `ls site-lib-src`; do test ! -f "site-lib-src/$x/META" || echo $x >> Makefile.packages.in; done
- tr '\n' ' ' < Makefile.packages.in > Makefile.packages
- rm Makefile.packages.in
- install -d "/home/opam/.opam/5.2.0+flambda2/bin"
- install -d "/home/opam/.opam/5.2.0+flambda2/man"
- make install-config
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- install -d "`dirname \"/home/opam/.opam/5.2.0+flambda2/lib/findlib.conf\"`"
- test -f "/home/opam/.opam/5.2.0+flambda2/lib/findlib.conf" || cp findlib.conf "/home/opam/.opam/5.2.0+flambda2/lib/findlib.conf"
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- for p in findlib; do ( cd src/$p; make install ); done
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- install -d "/home/opam/.opam/5.2.0+flambda2/lib/findlib"
- install -d "/home/opam/.opam/5.2.0+flambda2/bin"
- test 1 -eq 0 || install -d "/home/opam/.opam/5.2.0+flambda2/lib/ocaml"
- test 1 -eq 0 || cp topfind "/home/opam/.opam/5.2.0+flambda2/lib/ocaml/"
- files=` ../../tools/collect_files ../../Makefile.config \
- findlib.cmi findlib.mli findlib.cma findlib.cmxa findlib.a findlib.cmxs \
- findlib_config.cmi findlib_config.ml topfind.cmi topfind.mli \
- fl_args.cmi fl_lint.cmi fl_meta.cmi fl_split.cmi fl_topo.cmi ocaml_args.cmi \
- fl_package_base.mli fl_package_base.cmi fl_metascanner.mli fl_metascanner.cmi \
- fl_metatoken.cmi findlib_top.cma findlib_top.cmxa findlib_top.a findlib_top.cmxs \
- findlib_dynload.cma findlib_dynload.cmxa findlib_dynload.a findlib_dynload.cmxs fl_dynload.mli fl_dynload.cmi \
- META` && \
- cp $files "/home/opam/.opam/5.2.0+flambda2/lib/findlib/"
- f="ocamlfind"; { test -f ocamlfind_opt && f="ocamlfind_opt"; }; \
- install -c $f "/home/opam/.opam/5.2.0+flambda2/bin/ocamlfind"
- # the following "if" block is only needed for 4.00beta2
- if [ 1 -eq 0 -a -f "/home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs/topdirs.cmi" ]; then \
-     cd "/home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs/"; \
-     cp topdirs.cmi toploop.cmi "/home/opam/.opam/5.2.0+flambda2/lib/findlib/"; \
- fi
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8/src/findlib'
- make install-meta
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- for x in bytes ; do install -d "/home/opam/.opam/5.2.0+flambda2/lib/$x"; cp site-lib-src/$x/META "/home/opam/.opam/5.2.0+flambda2/lib/$x/META.tmp" && mv "/home/opam/.opam/5.2.0+flambda2/lib/$x/META.tmp" "/home/opam/.opam/5.2.0+flambda2/lib/$x/META"; done
- install -d "/home/opam/.opam/5.2.0+flambda2/lib/findlib"; cp Makefile.packages "/home/opam/.opam/5.2.0+flambda2/lib/findlib/Makefile.packages"
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- test ! -f 'site-lib-src/num-top/META' || { cd src/findlib; make install-num-top; }
- test ! -f 'site-lib-src/camlp4/META' ||	install -c tools/safe_camlp4 "/home/opam/.opam/5.2.0+flambda2/bin"
- make install-doc
- make[1]: Entering directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
- install -d "/home/opam/.opam/5.2.0+flambda2/man/man1" "/home/opam/.opam/5.2.0+flambda2/man/man3" "/home/opam/.opam/5.2.0+flambda2/man/man5"
- cp doc/ref-man/ocamlfind.1 "/home/opam/.opam/5.2.0+flambda2/man/man1"
- cp: cannot stat 'doc/ref-man/ocamlfind.1': No such file or directory
- make[1]: [Makefile:91: install-doc] Error 1 (ignored)
- cp doc/ref-man/META.5 doc/ref-man/site-lib.5 doc/ref-man/findlib.conf.5 "/home/opam/.opam/5.2.0+flambda2/man/man5"
- cp: cannot stat 'doc/ref-man/META.5': No such file or directory
- cp: cannot stat 'doc/ref-man/site-lib.5': No such file or directory
- cp: cannot stat 'doc/ref-man/findlib.conf.5': No such file or directory
- make[1]: [Makefile:92: install-doc] Error 1 (ignored)
- make[1]: Leaving directory '/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocamlfind.1.9.8'
-> installed ocamlfind.1.9.8
Processing 38/93: [dune: ocaml 255]
[topkg: patch] applying topkg_string.patch
Processing 39/93: [dune: ocaml 255] [topkg: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "pkg/pkg.ml" "build" "--pkg-name" "topkg" "--dev-pkg" "false" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/topkg.1.0.8+jst)
- + ocamlfind ocamldep -modules src/topkg.ml > src/topkg.ml.depends
- + ocamlfind ocamldep -modules src/topkg.mli > src/topkg.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg.cmi src/topkg.mli
- + ocamlfind ocamldep -modules src/topkg_build.ml > src/topkg_build.ml.depends
- + ocamlfind ocamldep -modules src/topkg_build.mli > src/topkg_build.mli.depends
- + ocamlfind ocamldep -modules src/topkg_cmd.mli > src/topkg_cmd.mli.depends
- + ocamlfind ocamldep -modules src/topkg_fpath.mli > src/topkg_fpath.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_fpath.cmi src/topkg_fpath.mli
- + ocamlfind ocamldep -modules src/topkg_codec.mli > src/topkg_codec.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_cmd.cmi src/topkg_cmd.mli
- + ocamlfind ocamldep -modules src/topkg_result.mli > src/topkg_result.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_result.cmi src/topkg_result.mli
- + ocamlfind ocamldep -modules src/topkg_conf.mli > src/topkg_conf.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_codec.cmi src/topkg_codec.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_conf.cmi src/topkg_conf.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_build.cmi src/topkg_build.mli
- + ocamlfind ocamldep -modules src/topkg_cmd.ml > src/topkg_cmd.ml.depends
- + ocamlfind ocamldep -modules src/topkg_fpath.ml > src/topkg_fpath.ml.depends
- + ocamlfind ocamldep -modules src/topkg_string.ml > src/topkg_string.ml.depends
- + ocamlfind ocamldep -modules src/topkg_string.mli > src/topkg_string.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_string.cmi src/topkg_string.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_string.cmx src/topkg_string.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_fpath.cmx src/topkg_fpath.ml
- + ocamlfind ocamldep -modules src/topkg_codec.ml > src/topkg_codec.ml.depends
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_cmd.cmx src/topkg_cmd.ml
- + ocamlfind ocamldep -modules src/topkg_os.ml > src/topkg_os.ml.depends
- + ocamlfind ocamldep -modules src/topkg_os.mli > src/topkg_os.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_os.cmi src/topkg_os.mli
- + ocamlfind ocamldep -modules src/topkg_log.ml > src/topkg_log.ml.depends
- + ocamlfind ocamldep -modules src/topkg_log.mli > src/topkg_log.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_log.cmi src/topkg_log.mli
- + ocamlfind ocamldep -modules src/topkg_result.ml > src/topkg_result.ml.depends
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_result.cmx src/topkg_result.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_log.cmx src/topkg_log.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_os.cmx src/topkg_os.ml
- + ocamlfind ocamldep -modules src/topkg_conf.ml > src/topkg_conf.ml.depends
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_codec.cmx src/topkg_codec.ml
- + ocamlfind ocamldep -modules src/topkg_vcs.ml > src/topkg_vcs.ml.depends
- + ocamlfind ocamldep -modules src/topkg_vcs.mli > src/topkg_vcs.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_vcs.cmi src/topkg_vcs.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_vcs.cmx src/topkg_vcs.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_conf.cmx src/topkg_conf.ml
- + ocamlfind ocamldep -modules src/topkg_distrib.ml > src/topkg_distrib.ml.depends
- + ocamlfind ocamldep -modules src/topkg_distrib.mli > src/topkg_distrib.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_distrib.cmi src/topkg_distrib.mli
- + ocamlfind ocamldep -modules src/topkg_opam.ml > src/topkg_opam.ml.depends
- + ocamlfind ocamldep -modules src/topkg_opam.mli > src/topkg_opam.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_opam.cmi src/topkg_opam.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_opam.cmx src/topkg_opam.ml
- + ocamlfind ocamldep -modules src/topkg_fexts.ml > src/topkg_fexts.ml.depends
- + ocamlfind ocamldep -modules src/topkg_fexts.mli > src/topkg_fexts.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_fexts.cmi src/topkg_fexts.mli
- + ocamlfind ocamldep -modules src/topkg_install.ml > src/topkg_install.ml.depends
- + ocamlfind ocamldep -modules src/topkg_install.mli > src/topkg_install.mli.depends
- + ocamlfind ocamldep -modules src/topkg_test.mli > src/topkg_test.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_test.cmi src/topkg_test.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_install.cmi src/topkg_install.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_fexts.cmx src/topkg_fexts.ml
- + ocamlfind ocamldep -modules src/topkg_test.ml > src/topkg_test.ml.depends
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_test.cmx src/topkg_test.ml
- + ocamlfind ocamldep -modules src/topkg_ipc.ml > src/topkg_ipc.ml.depends
- + ocamlfind ocamldep -modules src/topkg_ipc.mli > src/topkg_ipc.mli.depends
- + ocamlfind ocamldep -modules src/topkg_pkg.mli > src/topkg_pkg.mli.depends
- + ocamlfind ocamldep -modules src/topkg_publish.mli > src/topkg_publish.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_publish.cmi src/topkg_publish.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_pkg.cmi src/topkg_pkg.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_ipc.cmi src/topkg_ipc.mli
- + ocamlfind ocamldep -modules src/topkg_pkg.ml > src/topkg_pkg.ml.depends
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_build.cmx src/topkg_build.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_distrib.cmx src/topkg_distrib.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_install.cmx src/topkg_install.ml
- + ocamlfind ocamldep -modules src/topkg_publish.ml > src/topkg_publish.ml.depends
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_publish.cmx src/topkg_publish.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_pkg.cmx src/topkg_pkg.ml
- + ocamlfind ocamldep -modules src/topkg_main.ml > src/topkg_main.ml.depends
- + ocamlfind ocamldep -modules src/topkg_main.mli > src/topkg_main.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_main.cmi src/topkg_main.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_ipc.cmx src/topkg_ipc.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_main.cmx src/topkg_main.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg.cmx src/topkg.ml
- + ocamlfind ocamlopt -a -I src src/topkg_string.cmx src/topkg_fpath.cmx src/topkg_cmd.cmx src/topkg_result.cmx src/topkg_log.cmx src/topkg_os.cmx src/topkg_codec.cmx src/topkg_vcs.cmx src/topkg_conf.cmx src/topkg_build.cmx src/topkg_opam.cmx src/topkg_distrib.cmx src/topkg_fexts.cmx src/topkg_test.cmx src/topkg_install.cmx src/topkg_publish.cmx src/topkg_pkg.cmx src/topkg_ipc.cmx src/topkg_main.cmx src/topkg.cmx -o src/topkg.cmxa
- + ocamlfind ocamlopt -shared -linkall -I src src/topkg.cmxa -o src/topkg.cmxs
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg.cmo src/topkg.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_build.cmo src/topkg_build.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_cmd.cmo src/topkg_cmd.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_codec.cmo src/topkg_codec.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_conf.cmo src/topkg_conf.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_distrib.cmo src/topkg_distrib.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_fexts.cmo src/topkg_fexts.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_fpath.cmo src/topkg_fpath.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_install.cmo src/topkg_install.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_ipc.cmo src/topkg_ipc.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_log.cmo src/topkg_log.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_main.cmo src/topkg_main.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_opam.cmo src/topkg_opam.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_os.cmo src/topkg_os.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_pkg.cmo src/topkg_pkg.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_publish.cmo src/topkg_publish.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_result.cmo src/topkg_result.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_string.cmo src/topkg_string.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_test.cmo src/topkg_test.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I src-bin -I src-care -I test -o src/topkg_vcs.cmo src/topkg_vcs.ml
- + ocamlfind ocamlc -a -I src src/topkg_string.cmo src/topkg_fpath.cmo src/topkg_cmd.cmo src/topkg_result.cmo src/topkg_log.cmo src/topkg_os.cmo src/topkg_codec.cmo src/topkg_vcs.cmo src/topkg_conf.cmo src/topkg_build.cmo src/topkg_opam.cmo src/topkg_distrib.cmo src/topkg_fexts.cmo src/topkg_test.cmo src/topkg_install.cmo src/topkg_publish.cmo src/topkg_pkg.cmo src/topkg_ipc.cmo src/topkg_main.cmo src/topkg.cmo -o src/topkg.cma
- # Parallel statistics: { count(total): 2(84), max: 20, min: 2, average(total): 11.000(1.238) }
-> compiled  topkg.1.0.8+jst
Processing 39/93: [dune: ocaml 255]
-> installed topkg.1.0.8+jst
Processing 40/93: [dune: ocaml 255]
[uutf: patch] applying uutf-locals.patch
Processing 41/93: [dune: ocaml 255] [uutf: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "false" "--with-cmdliner" "true" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/uutf.1.0.3+jst)
- + ocamlfind ocamldep -modules src/uutf.ml > src/uutf.ml.depends
- + ocamlfind ocamldep -modules src/uutf.mli > src/uutf.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I test -o src/uutf.cmi src/uutf.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I test -o src/uutf.cmx src/uutf.ml
- + ocamlfind ocamlopt -a -I src src/uutf.cmx -o src/uutf.cmxa
- + ocamlfind ocamlopt -shared -linkall -I src src/uutf.cmxa -o src/uutf.cmxs
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I test -o src/uutf.cmo src/uutf.ml
- + ocamlfind ocamlc -a -I src src/uutf.cmo -o src/uutf.cma
- + ocamlfind ocamldep -package unix -package cmdliner -modules test/utftrip.ml > test/utftrip.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -package unix -package cmdliner -I test -I src -o test/utftrip.cmo test/utftrip.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -package unix -package cmdliner -I test -I src -o test/utftrip.cmo test/utftrip.ml
- File "test/utftrip.ml", line 385, characters 8-12:
- 385 |   Term.(pure do_cmd $ cmd $ file $ sin $ sout $ use_unix $ usize $
-               ^^^^
- Alert deprecated: Cmdliner.Term.pure
- Use Term.const instead.
- 
- File "test/utftrip.ml", line 387, characters 2-11:
- 387 |   Term.info "utftrip" ~version:"v1.0.3" ~doc ~man
-         ^^^^^^^^^
- Alert deprecated: Cmdliner.Term.info
- Use Cmd.info instead.
- 
- File "test/utftrip.ml", line 389, characters 15-24:
- 389 | let () = match Term.eval cmd with
-                      ^^^^^^^^^
- Alert deprecated: Cmdliner.Term.eval
- Use Cmd.v and one of Cmd.eval* instead.
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package unix -package cmdliner -I test -I src -o test/utftrip.cmx test/utftrip.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package unix -package cmdliner -I test -I src -o test/utftrip.cmx test/utftrip.ml
- File "test/utftrip.ml", line 385, characters 8-12:
- 385 |   Term.(pure do_cmd $ cmd $ file $ sin $ sout $ use_unix $ usize $
-               ^^^^
- Alert deprecated: Cmdliner.Term.pure
- Use Term.const instead.
- 
- File "test/utftrip.ml", line 387, characters 2-11:
- 387 |   Term.info "utftrip" ~version:"v1.0.3" ~doc ~man
-         ^^^^^^^^^
- Alert deprecated: Cmdliner.Term.info
- Use Cmd.info instead.
- 
- File "test/utftrip.ml", line 389, characters 15-24:
- 389 | let () = match Term.eval cmd with
-                      ^^^^^^^^^
- Alert deprecated: Cmdliner.Term.eval
- Use Cmd.v and one of Cmd.eval* instead.
- + ocamlfind ocamlopt -linkpkg -g -package unix -package cmdliner -I src -I test src/uutf.cmx test/utftrip.cmx -o test/utftrip.native
- # No parallelism done
-> compiled  uutf.1.0.3+jst
Processing 41/93: [dune: ocaml 255]
-> installed uutf.1.0.3+jst
Processing 42/93: [dune: ocaml 255]
Processing 43/93: [dune: ocaml 255] [uunf: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "false" "--with-uutf" "true" "--with-cmdliner" "true" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/uunf.16.0.0)
- + ocamlfind ocamldep -modules src/uunf_fmt.ml > src/uunf_fmt.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_fmt.cmo src/uunf_fmt.ml
- + ocamlfind ocamldep -modules src/uunf_tmap.ml > src/uunf_tmap.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_tmap.cmo src/uunf_tmap.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_fmt.cmx src/uunf_fmt.ml
- + ocamlfind ocamldep -modules src/uunf_tmapbool.ml > src/uunf_tmapbool.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_tmapbool.cmo src/uunf_tmapbool.ml
- + ocamlfind ocamldep -modules src/uunf_tmapbyte.ml > src/uunf_tmapbyte.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_tmapbyte.cmo src/uunf_tmapbyte.ml
- + ocamlfind ocamldep -modules src/uunf_data.ml > src/uunf_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_data.cmo src/uunf_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_tmap.cmx src/uunf_tmap.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_tmapbool.cmx src/uunf_tmapbool.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_tmapbyte.cmx src/uunf_tmapbyte.ml
- + ocamlfind ocamldep -modules src/uunf.ml > src/uunf.ml.depends
- + ocamlfind ocamldep -modules src/uunf.mli > src/uunf.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf.cmi src/uunf.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_data.cmx src/uunf_data.ml
- + ocamlfind ocamldep -modules src/uunf_string.ml > src/uunf_string.ml.depends
- + ocamlfind ocamldep -modules src/uunf_string.mli > src/uunf_string.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_string.cmi src/uunf_string.mli
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf.cmx src/uunf.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_string.cmx src/uunf_string.ml
- + ocamlfind ocamlopt -a -I src src/uunf_fmt.cmx src/uunf_tmap.cmx src/uunf_tmapbool.cmx src/uunf_tmapbyte.cmx src/uunf_data.cmx src/uunf.cmx src/uunf_string.cmx -o src/uunf.cmxa
- + ocamlfind ocamlopt -shared -linkall -I src src/uunf.cmxa -o src/uunf.cmxs
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf.cmo src/uunf.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -I src -I support -I test -o src/uunf_string.cmo src/uunf_string.ml
- + ocamlfind ocamlc -a -I src src/uunf_fmt.cmo src/uunf_tmap.cmo src/uunf_tmapbool.cmo src/uunf_tmapbyte.cmo src/uunf_data.cmo src/uunf.cmo src/uunf_string.cmo -o src/uunf.cma
- + ocamlfind ocamldep -package uutf -package cmdliner -modules test/unftrip.ml > test/unftrip.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -package uutf -package cmdliner -I test -I src -I support -o test/unftrip.cmo test/unftrip.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package uutf -package cmdliner -I test -I src -I support -o test/unftrip.cmx test/unftrip.ml
- + ocamlfind ocamlopt -linkpkg -g -package uutf -package cmdliner -I src -I test src/uunf_fmt.cmx src/uunf_tmap.cmx src/uunf_tmapbool.cmx src/uunf_tmapbyte.cmx src/uunf_data.cmx src/uunf.cmx test/unftrip.cmx -o test/unftrip.native
- # Parallel statistics: { count(total): 1(32), max: 2, min: 2, average(total): 2.000(1.031) }
-> compiled  uunf.16.0.0
Processing 43/93: [dune: ocaml 255]
-> installed uunf.16.0.0
Processing 44/93: [dune: ocaml 255]
Processing 45/93: [dune: ocaml 255] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "boot/bootstrap.ml" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune.3.18.2)
- ocamlc -output-complete-exe -w -24 -g -o .duneboot.exe -I boot -I +unix unix.cma boot/libs.ml boot/duneboot.ml
- ./.duneboot.exe -j 255
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads ocamlc_loc.mli
- File "otherlibs/ocamlc-loc/src/ocamlc_loc.mli", line 1, characters 4-9:
- Warning 53 [misplaced-attribute]: the "alert" attribute cannot appear in this context
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads stdune__Code_error.ml
- File "otherlibs/stdune/src/code_error.ml", line 29, characters 2-27:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads notty_unix.ml
- File "vendor/notty/src-unix/notty_unix.ml", line 38, characters 23-29:
- Alert unsafe_multidomain: Stdlib.Sys.signal
- Use [Sys.Safe.signal].
- 
- File "vendor/notty/src-unix/notty_unix.ml", line 39, characters 31-45:
- Alert unsafe_multidomain: Stdlib.Sys.set_signal
- Use [Sys.Safe.set_signal].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads stdune__User_error.ml
- File "otherlibs/stdune/src/user_error.ml", line 17, characters 2-27:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads opamStd.ml
- File "vendor/opam/src/core/opamStd.ml", line 960, characters 10-24:
- Alert unsafe_multidomain: Stdlib.Sys.set_signal
- Use [Sys.Safe.set_signal].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads opamProcess.ml
- File "vendor/opam/src/core/opamProcess.ml", line 674, characters 12-22:
- Alert unsafe_multidomain: Stdlib.Sys.signal
- Use [Sys.Safe.signal].
- 
- File "vendor/opam/src/core/opamProcess.ml", line 681, characters 6-20:
- Alert unsafe_multidomain: Stdlib.Sys.set_signal
- Use [Sys.Safe.set_signal].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_rpc_private__Conv.ml
- File "otherlibs/dune-rpc/private/conv.ml", line 48, characters 2-27:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_rpc_private__Where.ml
- File "otherlibs/dune-rpc/private/where.ml", line 22, characters 2-27:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_rpc_private__Types.ml
- File "otherlibs/dune-rpc/private/types.ml", line 154, characters 6-31:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_rpc_private__Registry.ml
- File "otherlibs/dune-rpc/private/registry.ml", line 67, characters 4-29:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads opamSystem.ml
- File "vendor/opam/src/core/opamSystem.ml", line 1648, characters 2-27:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- 
- File "vendor/opam/src/core/opamSystem.ml", line 1665, characters 6-20:
- Alert unsafe_multidomain: Stdlib.Sys.set_signal
- Use [Sys.Safe.set_signal].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_rpc_private__Versioned.ml
- File "otherlibs/dune-rpc/private/versioned.ml", line 23, characters 4-29:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads memo.ml
- File "src/memo/memo.ml", line 414, characters 2-27:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_rpc_private.ml
- File "otherlibs/dune-rpc/private/dune_rpc_private.ml", line 200, characters 6-31:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_action_plugin.mli
- File "otherlibs/dune-action-plugin/src/dune_action_plugin.mli", line 1, characters 4-9:
- Warning 53 [misplaced-attribute]: the "alert" attribute cannot appear in this context
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_rpc_server.ml
- File "src/dune_rpc_server/dune_rpc_server.ml", line 15, characters 2-27:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads opamPp.ml
- File "vendor/opam/src/format/opamPp.ml", line 64, characters 9-34:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_engine__Scheduler.ml
- File "src/dune_engine/scheduler.ml", line 54, characters 4-29:
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- 
- File "src/dune_engine/scheduler.ml", line 632, characters 6-20:
- Alert unsafe_multidomain: Dune_engine__.Import.Sys.set_signal
- Use [Sys.Safe.set_signal].
- cd _boot && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads dune_tui.ml
- File "src/dune_tui/dune_tui.ml", line 14, characters 7-21:
- Alert unsafe_multidomain: Dune_tui__.Import.Sys.set_signal
- Use [Sys.Safe.set_signal].
- 
- File "src/dune_tui/dune_tui.ml", line 22, characters 12-22:
- Alert unsafe_multidomain: Dune_tui__.Import.Sys.signal
- Use [Sys.Safe.signal].
- 

Processing 45/93: [dune: ./_boot/dune.exe build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "./_boot/dune.exe" "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune.3.18.2)
-> compiled  dune.3.18.2
Processing 45/93: [uucp: ocaml build]
-> installed dune.3.18.2
Processing 46/93: [uucp: ocaml build]
Processing 47/93: [basement: dune build] [uucp: ocaml build]
Processing 48/93: [basement: dune build] [cppo: dune build] [uucp: ocaml build]
Processing 49/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [uucp: ocaml build]
Processing 50/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [uucp: ocaml build]
Processing 51/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [gen: dune build] [uucp: ocaml build]
Processing 52/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [uucp: ocaml build]
[ocaml-compiler-libs: patch] applying read_cma.patch
Processing 53/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [uucp: ocaml build]
Processing 54/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [uucp: ocaml build]
Processing 55/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [uucp: ocaml build]
Processing 56/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [stdlib-shims: dune build] [uucp: ocaml build]
Processing 57/93: [basement: dune build] [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "csexp" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/csexp.1.5.2)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/.csexp.objs/byte -intf-suffix .ml -no-alias-deps -o src/.csexp.objs/byte/csexp.cmo -c -impl src/csexp.ml)
- File "src/csexp.ml", line 236, characters 7-14:
- 236 |     [@@inlined always]
-              ^^^^^^^
- Warning 53 [misplaced-attribute]: the "inlined" attribute cannot appear in this context
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/.csexp.objs/byte -I src/.csexp.objs/native -intf-suffix .ml -no-alias-deps -o src/.csexp.objs/native/csexp.cmx -c -impl src/csexp.ml)
- File "src/csexp.ml", line 236, characters 7-14:
- 236 |     [@@inlined always]
-              ^^^^^^^
- Warning 53 [misplaced-attribute]: the "inlined" attribute cannot appear in this context
-> compiled  csexp.1.5.2
Processing 57/93: [basement: dune build] [cppo: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
-> installed csexp.1.5.2
Processing 58/93: [basement: dune build] [cppo: dune build] [dune-build-info: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
Processing 59/93: [basement: dune build] [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "basement" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/basement.v0.18~preview.130.31+242)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/.basement.objs/byte -no-alias-deps -open Basement__ -o src/.basement.objs/byte/basement.cmo -c -impl src/basement.ml)
- File "src/basement.ml", line 9, characters 30-50:
- 9 | module Stdlib_shim_upstream = Stdlib_shim_upstream
-                                   ^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Stdlib_shim_upstream
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -O3 -flambda2-inline-max-depth 10 -I src/.basement.objs/byte -I src/.basement.objs/native -intf-suffix .ml -no-alias-deps -open Basement__ -o src/.basement.objs/native/basement.cmx -c -impl src/basement.ml)
- File "src/basement.ml", line 9, characters 30-50:
- 9 | module Stdlib_shim_upstream = Stdlib_shim_upstream
-                                   ^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Stdlib_shim_upstream
-> compiled  basement.v0.18~preview.130.31+242
Processing 59/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
-> installed basement.v0.18~preview.130.31+242
Processing 60/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
Processing 61/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [sexplib0: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/csexp" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune-build-info.3.18.2)
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "@install" "-p" "linenoise" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/linenoise.1.5.1)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -warn-error -3 -g -bin-annot -bin-annot-occurrences -I src/.linenoise.objs/byte -intf-suffix .ml -no-alias-deps -o src/.linenoise.objs/byte/lNoise.cmo -c -impl src/lNoise.ml)
- File "src/lNoise.ml", line 24, characters 2-19:
- 24 |   Callback.register "lnoise_completion_cb" f
-        ^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Callback.register
- Use [Callback.Safe.register].
- 
- File "src/lNoise.ml", line 28, characters 2-19:
- 28 |   Callback.register "lnoise_hints_cb" f
-        ^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Callback.register
- Use [Callback.Safe.register].
- 
- File "src/lNoise.ml", line 35, characters 2-29:
- 35 |   Callback.register_exception "sys_break" Sys.Break;
-        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Callback.register_exception
- Use [Callback.Safe.register_exception].
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -warn-error -3 -g -I src/.linenoise.objs/byte -I src/.linenoise.objs/native -intf-suffix .ml -no-alias-deps -o src/.linenoise.objs/native/lNoise.cmx -c -impl src/lNoise.ml)
- File "src/lNoise.ml", line 24, characters 2-19:
- 24 |   Callback.register "lnoise_completion_cb" f
-        ^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Callback.register
- Use [Callback.Safe.register].
- 
- File "src/lNoise.ml", line 28, characters 2-19:
- 28 |   Callback.register "lnoise_hints_cb" f
-        ^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Callback.register
- Use [Callback.Safe.register].
- 
- File "src/lNoise.ml", line 35, characters 2-29:
- 35 |   Callback.register_exception "sys_break" Sys.Break;
-        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Callback.register_exception
- Use [Callback.Safe.register_exception].
-> compiled  linenoise.1.5.1
Processing 61/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [sexplib0: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
-> installed linenoise.1.5.1
Processing 62/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [ppx_derivers: dune build] [sexplib0: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppx_derivers" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ppx_derivers.1.2.1)
-> compiled  ppx_derivers.1.2.1
Processing 62/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
-> installed ppx_derivers.1.2.1
Processing 63/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [stdlib-shims: dune build] [stringext: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "stdlib-shims" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/stdlib-shims.0.3.0)
-> compiled  stdlib-shims.0.3.0
Processing 63/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [stringext: dune build] [uucp: ocaml build]
-> installed stdlib-shims.0.3.0
Processing 64/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [stringext: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "stringext" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/stringext.1.6.0)
-> compiled  stringext.1.6.0
Processing 64/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
-> installed stringext.1.6.0
Processing 65/93: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/csexp" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune-configurator.3.18.2)
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/pp" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune-build-info.3.18.2)
Processing 65/93: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: rm] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/pp" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune-configurator.3.18.2)
Processing 65/93: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [gen: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "@install" "-p" "gen" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/gen.1.1)
-> compiled  gen.1.1
Processing 65/93: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
-> installed gen.1.1
Processing 66/93: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "cppo" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/cppo.1.8.0)
-> compiled  cppo.1.8.0
Processing 66/93: [dune-build-info: dune build] [dune-configurator: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
-> installed cppo.1.8.0
Processing 67/93: [dune-build-info: dune build] [dune-configurator: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
Processing 68/93: [dune-build-info: dune build] [dune-configurator: dune build] [extlib: dune build] [ocaml-compiler-libs: dune build] [ocaml-syntax-shims: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ocaml-syntax-shims" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocaml-syntax-shims.1.0.0)
- (cd _build/default/src && /home/opam/.opam/5.2.0+flambda2/bin/ocaml select-impl 5.2.0+jst) > _build/default/src/impl
- File "_none_", line 1:
- Alert ocaml_deprecated_cli: 
- Running ocaml where the first argument is an implicit basename with no
- extension (e.g. ocaml script-file) is deprecated. Either rename the script
- (ocaml script-file.ml) or qualify the basename (ocaml ./script-file)
-> compiled  ocaml-syntax-shims.1.0.0
Processing 68/93: [dune-build-info: dune build] [dune-configurator: dune build] [extlib: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build] [uucp: ocaml build]
-> installed ocaml-syntax-shims.1.0.0
Processing 69/93: [dune-build-info: dune build] [dune-configurator: dune build] [extlib: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "dune-build-info" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune-build-info.3.18.2)
-> compiled  dune-build-info.3.18.2
Processing 69/93: [dune-configurator: dune build] [extlib: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build] [uucp: ocaml build]
-> installed dune-build-info.3.18.2
Processing 70/93: [dune-configurator: dune build] [extlib: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ocaml-compiler-libs" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ocaml-compiler-libs.v0.17.0+jst)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -safe-string -g -bin-annot -bin-annot-occurrences -I src/ocaml_toplevel/.ocaml_toplevel.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs -no-alias-deps -o src/ocaml_toplevel/.ocaml_toplevel.objs/byte/ocaml_toplevel.cmo -c -impl src/ocaml_toplevel/ocaml_toplevel.ml)
- File "src/ocaml_toplevel/ocaml_toplevel.ml", line 4, characters 21-30:
- 4 | module Topcommon   = Topcommon
-                          ^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Topcommon
- 
- File "src/ocaml_toplevel/ocaml_toplevel.ml", line 6, characters 21-28:
- 6 | module Topeval     = Topeval
-                          ^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Topeval
- 
- File "src/ocaml_toplevel/ocaml_toplevel.ml", line 9, characters 21-32:
- 9 | module Topprinters = Topprinters
-                          ^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Topprinters
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -g -I src/ocaml_toplevel/.ocaml_toplevel.objs/byte -I src/ocaml_toplevel/.ocaml_toplevel.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs -intf-suffix .ml -no-alias-deps -o src/ocaml_toplevel/.ocaml_toplevel.objs/native/ocaml_toplevel.cmx -c -impl src/ocaml_toplevel/ocaml_toplevel.ml)
- File "src/ocaml_toplevel/ocaml_toplevel.ml", line 4, characters 21-30:
- 4 | module Topcommon   = Topcommon
-                          ^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Topcommon
- 
- File "src/ocaml_toplevel/ocaml_toplevel.ml", line 6, characters 21-28:
- 6 | module Topeval     = Topeval
-                          ^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Topeval
- 
- File "src/ocaml_toplevel/ocaml_toplevel.ml", line 9, characters 21-32:
- 9 | module Topprinters = Topprinters
-                          ^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Topprinters
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -safe-string -g -bin-annot -bin-annot-occurrences -I src/ocaml_optcomp/.ocaml_optcomp.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs -no-alias-deps -o src/ocaml_optcomp/.ocaml_optcomp.objs/byte/ocaml_optcomp.cmo -c -impl src/ocaml_optcomp/ocaml_optcomp.ml)
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 7, characters 68-95:
- 7 | module Asm_targets__Asm_directives                                = Asm_targets__Asm_directives
-                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_directives
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 8, characters 68-100:
- 8 | module Asm_targets__Asm_directives_intf                           = Asm_targets__Asm_directives_intf
-                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_directives_intf
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 9, characters 68-90:
- 9 | module Asm_targets__Asm_label                                     = Asm_targets__Asm_label
-                                                                         ^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_label
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 10, characters 68-92:
- 10 | module Asm_targets__Asm_section                                   = Asm_targets__Asm_section
-                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_section
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 11, characters 68-91:
- 11 | module Asm_targets__Asm_symbol                                    = Asm_targets__Asm_symbol
-                                                                          ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_symbol
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 411, characters 68-104:
- 411 | module Flambda_backend_utils__File_sections                       = Flambda_backend_utils__File_sections
-                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Flambda_backend_utils__File_sections
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 412, characters 68-94:
- 412 | module Flambda_backend_utils__Lru                                 = Flambda_backend_utils__Lru
-                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Flambda_backend_utils__Lru
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 460, characters 68-84:
- 460 | module Relocation_table                                           = Relocation_table
-                                                                           ^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Relocation_table
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 473, characters 68-80:
- 473 | module Symbol_entry                                               = Symbol_entry
-                                                                           ^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Symbol_entry
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -g -I src/ocaml_optcomp/.ocaml_optcomp.objs/byte -I src/ocaml_optcomp/.ocaml_optcomp.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs -intf-suffix .ml -no-alias-deps -o src/ocaml_optcomp/.ocaml_optcomp.objs/native/ocaml_optcomp.cmx -c -impl src/ocaml_optcomp/ocaml_optcomp.ml)
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 7, characters 68-95:
- 7 | module Asm_targets__Asm_directives                                = Asm_targets__Asm_directives
-                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_directives
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 8, characters 68-100:
- 8 | module Asm_targets__Asm_directives_intf                           = Asm_targets__Asm_directives_intf
-                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_directives_intf
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 9, characters 68-90:
- 9 | module Asm_targets__Asm_label                                     = Asm_targets__Asm_label
-                                                                         ^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_label
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 10, characters 68-92:
- 10 | module Asm_targets__Asm_section                                   = Asm_targets__Asm_section
-                                                                          ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_section
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 11, characters 68-91:
- 11 | module Asm_targets__Asm_symbol                                    = Asm_targets__Asm_symbol
-                                                                          ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Asm_targets__Asm_symbol
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 411, characters 68-104:
- 411 | module Flambda_backend_utils__File_sections                       = Flambda_backend_utils__File_sections
-                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Flambda_backend_utils__File_sections
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 412, characters 68-94:
- 412 | module Flambda_backend_utils__Lru                                 = Flambda_backend_utils__Lru
-                                                                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Flambda_backend_utils__Lru
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 460, characters 68-84:
- 460 | module Relocation_table                                           = Relocation_table
-                                                                           ^^^^^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Relocation_table
- 
- File "src/ocaml_optcomp/ocaml_optcomp.ml", line 473, characters 68-80:
- 473 | module Symbol_entry                                               = Symbol_entry
-                                                                           ^^^^^^^^^^^^
- Warning 49 [no-cmi-file]: no cmi file was found in path for module Symbol_entry
-> compiled  ocaml-compiler-libs.v0.17.0+jst
Processing 70/93: [dune-configurator: dune build] [extlib: dune build] [sexplib0: dune build] [uucp: ocaml build]
-> installed ocaml-compiler-libs.v0.17.0+jst
Processing 71/93: [dune-configurator: dune build] [extlib: dune build] [sexplib0: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "sexplib0" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/sexplib0.v0.18~preview.130.31+242)
-> compiled  sexplib0.v0.18~preview.130.31+242
Processing 71/93: [dune-configurator: dune build] [extlib: dune build] [uucp: ocaml build]
-> installed sexplib0.v0.18~preview.130.31+242
Processing 72/93: [dune-configurator: dune build] [extlib: dune build] [uucp: ocaml build]
[ppxlib_ast: patch] applying ppxlib+ast+ast.ml.patch
[ppxlib_ast: patch] applying ppxlib+ast+ast_helper_lite.ml.patch
[ppxlib_ast: patch] applying ppxlib+ast+ast_helper_lite.mli.patch
[ppxlib_ast: patch] applying ppxlib+ast+location_error.ml.patch
[ppxlib_ast: patch] applying ppxlib+ast+location_error.mli.patch
[ppxlib_ast: patch] applying ppxlib+ast+supported_version+supported_version.ml.patch
[ppxlib_ast: patch] applying ppxlib+ast+versions.ml.patch
[ppxlib_ast: patch] applying ppxlib+ast+versions.mli.patch
[ppxlib_ast: patch] applying ppxlib+astlib+ast_414.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+ast_500.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+ast_999.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+ast_metadata.mli.patch
[ppxlib_ast: patch] applying ppxlib+astlib+astlib.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+cinaps+astlib_cinaps_helpers.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+config+gen.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+migrate_500_999.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+migrate_999_500.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+parse.mli.patch
[ppxlib_ast: patch] applying ppxlib+astlib+pprintast.ml.patch
[ppxlib_ast: patch] applying ppxlib+astlib+pprintast.mli.patch
[ppxlib_ast: patch] applying ppxlib+astlib+stdlib0.ml.patch
[ppxlib_ast: patch] applying ppxlib+stdppx+stdppx.ml.patch
[ppxlib_ast: patch] applying dune.patch
Processing 73/93: [dune-configurator: dune build] [extlib: dune build] [ppxlib_ast: ./cleanup.sh] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "./cleanup.sh" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ppxlib_ast.0.33.0+jst)
Processing 73/93: [dune-configurator: dune build] [extlib: dune build] [ppxlib_ast: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "extlib" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/extlib.1.8.0)
-> compiled  extlib.1.8.0
Processing 73/93: [dune-configurator: dune build] [ppxlib_ast: dune build] [uucp: ocaml build]
-> installed extlib.1.8.0
Processing 74/93: [dune-configurator: dune build] [ppxlib_ast: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "dune-configurator" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/dune-configurator.3.18.2)
-> compiled  dune-configurator.3.18.2
Processing 74/93: [ppxlib_ast: dune build] [uucp: ocaml build]
-> installed dune-configurator.3.18.2
Processing 75/93: [ppxlib_ast: dune build] [uucp: ocaml build]
Processing 76/93: [bigstringaf: dune build] [ppxlib_ast: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "bigstringaf" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/bigstringaf.0.10.0)
-> compiled  bigstringaf.0.10.0
Processing 76/93: [ppxlib_ast: dune build] [uucp: ocaml build]
-> installed bigstringaf.0.10.0
Processing 77/93: [ppxlib_ast: dune build] [uucp: ocaml build]
Processing 78/93: [angstrom: dune build] [ppxlib_ast: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "angstrom" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/angstrom.0.16.1)
-> compiled  angstrom.0.16.1
Processing 78/93: [ppxlib_ast: dune build] [uucp: ocaml build]
-> installed angstrom.0.16.1
Processing 79/93: [ppxlib_ast: dune build] [uucp: ocaml build]
Processing 80/93: [ppxlib_ast: dune build] [uri: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "uri" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/uri.4.4.0)
-> compiled  uri.4.4.0
Processing 80/93: [ppxlib_ast: dune build] [uucp: ocaml build]
-> installed uri.4.4.0
Processing 81/93: [ppxlib_ast: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppxlib_ast" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ppxlib_ast.0.33.0+jst)
-> compiled  ppxlib_ast.0.33.0+jst
Processing 81/93: [uucp: ocaml build]
-> installed ppxlib_ast.0.33.0+jst
Processing 82/93: [uucp: ocaml build]
Processing 83/93: [ppxlib_jane: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppxlib_jane" "-j" "255" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ppxlib_jane.v0.18~preview.130.31+242)
-> compiled  ppxlib_jane.v0.18~preview.130.31+242
Processing 83/93: [uucp: ocaml build]
-> installed ppxlib_jane.v0.18~preview.130.31+242
Processing 84/93: [uucp: ocaml build]
[ppxlib: patch] applying ppxlib+metaquot+ppxlib_metaquot.ml.patch
[ppxlib: patch] applying ppxlib+runner_as_ppx+ppxlib_runner_as_ppx.ml.patch
[ppxlib: patch] applying ppxlib+src+ast_builder.ml.patch
[ppxlib: patch] applying ppxlib+src+ast_builder.mli.patch
[ppxlib: patch] applying ppxlib+src+ast_builder_intf.ml.patch
[ppxlib: patch] applying ppxlib+src+ast_pattern.ml.patch
[ppxlib: patch] applying ppxlib+src+ast_pattern.mli.patch
[ppxlib: patch] applying ppxlib+src+ast_traverse.ml.patch
[ppxlib: patch] applying ppxlib+src+attribute.ml.patch
[ppxlib: patch] applying ppxlib+src+attribute.mli.patch
[ppxlib: patch] applying ppxlib+src+cinaps+ppxlib_cinaps_helpers.ml.patch
[ppxlib: patch] applying ppxlib+src+code_matcher.ml.patch
[ppxlib: patch] applying ppxlib+src+code_matcher.mli.patch
[ppxlib: patch] applying ppxlib+src+common.ml.patch
[ppxlib: patch] applying ppxlib+src+common.mli.patch
[ppxlib: patch] applying ppxlib+src+context_free.ml.patch
[ppxlib: patch] applying ppxlib+src+context_free.mli.patch
[ppxlib: patch] applying ppxlib+src+deriving.ml.patch
[ppxlib: patch] applying ppxlib+src+deriving.mli.patch
[ppxlib: patch] applying ppxlib+src+driver.ml.patch
[ppxlib: patch] applying ppxlib+src+driver.mli.patch
[ppxlib: patch] applying ppxlib+src+gen+gen_ast_builder.ml.patch
[ppxlib: patch] applying ppxlib+src+gen+gen_ast_pattern.ml.patch
[ppxlib: patch] applying ppxlib+src+gen+import.ml.patch
[ppxlib: patch] applying ppxlib+src+ignore_unused_warning.ml.patch
[ppxlib: patch] applying ppxlib+src+location.ml.patch
[ppxlib: patch] applying ppxlib+src+location.mli.patch
[ppxlib: patch] applying ppxlib+src+name.ml.patch
[ppxlib: patch] applying ppxlib+src+utils.mli.patch
[ppxlib: patch] applying ppxlib+traverse+ppxlib_traverse.ml.patch
[ppxlib: patch] applying dune.patch
[ppxlib: patch] applying location_check.ml.patch
[ppxlib: patch] applying utils.ml.patch
Processing 85/93: [ppxlib: rm ast] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "ast" "astlib" "stdppx" "traverse_builtins" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ppxlib.0.33.0+jst)
Processing 85/93: [ppxlib: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppxlib" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/ppxlib.0.33.0+jst)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -g -I src/gen/.gen_ast_pattern.eobjs/byte -I src/gen/.gen_ast_pattern.eobjs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/ast -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/astlib -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/stdppx -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/traverse_builtins -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_jane -I /home/opam/.opam/5.2.0+flambda2/lib/stdlib-shims -I shims/ast/.ppxlib_ast.objs/byte -I shims/ast/.ppxlib_ast.objs/native -I shims/astlib/.astlib.objs/byte -I shims/astlib/.astlib.objs/native -I shims/stdppx/.stdppx.objs/byte -I shims/stdppx/.stdppx.objs/native -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/byte -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/native -intf-suffix .ml -no-alias-deps -open Dune__exe -o src/gen/.gen_ast_pattern.eobjs/native/dune__exe__Import.cmx -c -impl src/gen/import.ml)
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Location, and its interface was not compiled with -opaque
- 
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Longident, and its interface was not compiled with -opaque
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -g -I src/gen/.gen_ast_pattern.eobjs/byte -I src/gen/.gen_ast_pattern.eobjs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/ast -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/astlib -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/stdppx -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/traverse_builtins -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_jane -I /home/opam/.opam/5.2.0+flambda2/lib/stdlib-shims -I shims/ast/.ppxlib_ast.objs/byte -I shims/ast/.ppxlib_ast.objs/native -I shims/astlib/.astlib.objs/byte -I shims/astlib/.astlib.objs/native -I shims/stdppx/.stdppx.objs/byte -I shims/stdppx/.stdppx.objs/native -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/byte -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/native -intf-suffix .ml -no-alias-deps -open Dune__exe -o src/gen/.gen_ast_pattern.eobjs/native/dune__exe__Gen_ast_builder.cmx -c -impl src/gen/gen_ast_builder.ml)
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Location, and its interface was not compiled with -opaque
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -g -I src/gen/.gen_ast_pattern.eobjs/byte -I src/gen/.gen_ast_pattern.eobjs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/ast -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/astlib -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/stdppx -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/traverse_builtins -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_jane -I /home/opam/.opam/5.2.0+flambda2/lib/stdlib-shims -I shims/ast/.ppxlib_ast.objs/byte -I shims/ast/.ppxlib_ast.objs/native -I shims/astlib/.astlib.objs/byte -I shims/astlib/.astlib.objs/native -I shims/stdppx/.stdppx.objs/byte -I shims/stdppx/.stdppx.objs/native -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/byte -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/native -intf-suffix .ml -no-alias-deps -open Dune__exe -o src/gen/.gen_ast_pattern.eobjs/native/dune__exe__Gen_ast_pattern.cmx -c -impl src/gen/gen_ast_pattern.ml)
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Location, and its interface was not compiled with -opaque
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -safe-string -open Ocaml_shadow -g -bin-annot -bin-annot-occurrences -I src/.ppxlib.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml-compiler-libs/common -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs -I /home/opam/.opam/5.2.0+flambda2/lib/ppx_derivers -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/ast -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/astlib -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/stdppx -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/traverse_builtins -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_jane -I /home/opam/.opam/5.2.0+flambda2/lib/sexplib0 -I /home/opam/.opam/5.2.0+flambda2/lib/stdlib-shims -I print-diff/.ppxlib_print_diff.objs/byte -I shims/ast/.ppxlib_ast.objs/byte -I shims/astlib/.astlib.objs/byte -I shims/stdppx/.stdppx.objs/byte -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/byte -no-alias-deps -open Ppxlib__ -o src/.ppxlib.objs/byte/ppxlib__Ast_pattern_generated.cmo -c -impl src/ast_pattern_generated.ml)
- File "src/ast_pattern_generated.ml", line 1574, characters 9-10:
- 1574 |        | _ -> fail loc "Modality")
-                 ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "src/ast_pattern_generated.ml", line 1581, characters 9-10:
- 1581 |        | _ -> fail loc "Mode")
-                 ^
- Warning 11 [redundant-case]: this match case is unused.
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -open Ocaml_shadow -g -I src/.ppxlib.objs/byte -I src/.ppxlib.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml-compiler-libs/common -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/compiler-libs -I /home/opam/.opam/5.2.0+flambda2/lib/ppx_derivers -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/ast -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/astlib -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/stdppx -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/traverse_builtins -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_jane -I /home/opam/.opam/5.2.0+flambda2/lib/sexplib0 -I /home/opam/.opam/5.2.0+flambda2/lib/stdlib-shims -I print-diff/.ppxlib_print_diff.objs/byte -I print-diff/.ppxlib_print_diff.objs/native -I shims/ast/.ppxlib_ast.objs/byte -I shims/ast/.ppxlib_ast.objs/native -I shims/astlib/.astlib.objs/byte -I shims/astlib/.astlib.objs/native -I shims/stdppx/.stdppx.objs/byte -I shims/stdppx/.stdppx.objs/native -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/byte -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/native -intf-suffix .ml -no-alias-deps -open Ppxlib__ -o src/.ppxlib.objs/native/ppxlib__Ast_pattern_generated.cmx -c -impl src/ast_pattern_generated.ml)
- File "src/ast_pattern_generated.ml", line 1574, characters 9-10:
- 1574 |        | _ -> fail loc "Modality")
-                 ^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "src/ast_pattern_generated.ml", line 1581, characters 9-10:
- 1581 |        | _ -> fail loc "Mode")
-                 ^
- Warning 11 [redundant-case]: this match case is unused.
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -g -I metaquot/.ppxlib_metaquot.objs/byte -I metaquot/.ppxlib_metaquot.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/ast -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/astlib -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/traverse_builtins -I metaquot_lifters/.ppxlib_metaquot_lifters.objs/byte -I metaquot_lifters/.ppxlib_metaquot_lifters.objs/native -I shims/ast/.ppxlib_ast.objs/byte -I shims/ast/.ppxlib_ast.objs/native -I shims/astlib/.astlib.objs/byte -I shims/astlib/.astlib.objs/native -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/byte -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/native -I src/.ppxlib.objs/byte -I src/.ppxlib.objs/native -intf-suffix .ml -no-alias-deps -o metaquot/.ppxlib_metaquot.objs/native/ppxlib_metaquot.cmx -c -impl metaquot/ppxlib_metaquot.ml)
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Ppxlib_jane__Shim, and its interface was not compiled with -opaque
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -safe-string -g -I traverse/.ppxlib_traverse.objs/byte -I traverse/.ppxlib_traverse.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/ast -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/stdppx -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_ast/traverse_builtins -I /home/opam/.opam/5.2.0+flambda2/lib/ppxlib_jane -I /home/opam/.opam/5.2.0+flambda2/lib/stdlib-shims -I shims/ast/.ppxlib_ast.objs/byte -I shims/ast/.ppxlib_ast.objs/native -I shims/stdppx/.stdppx.objs/byte -I shims/stdppx/.stdppx.objs/native -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/byte -I shims/traverse_builtins/.ppxlib_traverse_builtins.objs/native -I src/.ppxlib.objs/byte -I src/.ppxlib.objs/native -intf-suffix .ml -no-alias-deps -o traverse/.ppxlib_traverse.objs/native/ppxlib_traverse.cmx -c -impl traverse/ppxlib_traverse.pp.ml)
- File "_none_", line 1:
- Warning 58 [no-cmx-file]: no cmx file was found in path for module Astlib__Location, and its interface was not compiled with -opaque
-> compiled  ppxlib.0.33.0+jst
Processing 85/93: [uucp: ocaml build]
-> installed ppxlib.0.33.0+jst
Processing 86/93: [uucp: ocaml build]
[sedlex: patch] applying sedlex+syntax+ppx_sedlex.ml.patch
Processing 87/93: [sedlex: dune build] [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "sedlex" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/sedlex.3.3+jst)
-> compiled  sedlex.3.3+jst
Processing 87/93: [uucp: ocaml build]
-> installed sedlex.3.3+jst
Processing 88/93: [uucp: ocaml build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "pkg/pkg.ml" "build" "--dev-pkg" "false" "--with-uunf" "true" "--with-cmdliner" "true" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/uucp.16.0.0)
- + ocamlfind ocamldep -modules src/uucp.ml > src/uucp.ml.depends
- + ocamlfind ocamldep -modules src/uucp.mli > src/uucp.mli.depends
- + ocamlfind ocamldep -modules src/uucp__age.mli > src/uucp__age.mli.depends
- + ocamlfind ocamldep -modules src/uucp__alpha.mli > src/uucp__alpha.mli.depends
- + ocamlfind ocamldep -modules src/uucp__block.mli > src/uucp__block.mli.depends
- + ocamlfind ocamldep -modules src/uucp__break.mli > src/uucp__break.mli.depends
- + ocamlfind ocamldep -modules src/uucp__case.mli > src/uucp__case.mli.depends
- + ocamlfind ocamldep -modules src/uucp__case_fold.mli > src/uucp__case_fold.mli.depends
- + ocamlfind ocamldep -modules src/uucp__case_map.mli > src/uucp__case_map.mli.depends
- + ocamlfind ocamldep -modules src/uucp__case_nfkc.mli > src/uucp__case_nfkc.mli.depends
- + ocamlfind ocamldep -modules src/uucp__case_nfkc_simple.mli > src/uucp__case_nfkc_simple.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_fold.cmi src/uucp__case_fold.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_map.cmi src/uucp__case_map.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_nfkc.cmi src/uucp__case_nfkc.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_nfkc_simple.cmi src/uucp__case_nfkc_simple.mli
- + ocamlfind ocamldep -modules src/uucp__cjk.mli > src/uucp__cjk.mli.depends
- + ocamlfind ocamldep -modules src/uucp__emoji.mli > src/uucp__emoji.mli.depends
- + ocamlfind ocamldep -modules src/uucp__func.mli > src/uucp__func.mli.depends
- + ocamlfind ocamldep -modules src/uucp__gc.mli > src/uucp__gc.mli.depends
- + ocamlfind ocamldep -modules src/uucp__gen.mli > src/uucp__gen.mli.depends
- + ocamlfind ocamldep -modules src/uucp__hangul.mli > src/uucp__hangul.mli.depends
- + ocamlfind ocamldep -modules src/uucp__id.mli > src/uucp__id.mli.depends
- + ocamlfind ocamldep -modules src/uucp__name.mli > src/uucp__name.mli.depends
- + ocamlfind ocamldep -modules src/uucp__num.mli > src/uucp__num.mli.depends
- + ocamlfind ocamldep -modules src/uucp__script.mli > src/uucp__script.mli.depends
- + ocamlfind ocamldep -modules src/uucp__white.mli > src/uucp__white.mli.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__age.cmi src/uucp__age.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__alpha.cmi src/uucp__alpha.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__block.cmi src/uucp__block.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__break.cmi src/uucp__break.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case.cmi src/uucp__case.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__cjk.cmi src/uucp__cjk.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__emoji.cmi src/uucp__emoji.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__func.cmi src/uucp__func.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__gc.cmi src/uucp__gc.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__gen.cmi src/uucp__gen.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__hangul.cmi src/uucp__hangul.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__id.cmi src/uucp__id.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__name.cmi src/uucp__name.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__num.cmi src/uucp__num.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__script.cmi src/uucp__script.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__white.cmi src/uucp__white.mli
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp.cmi src/uucp.mli
- + ocamlfind ocamldep -modules src/uucp__age.ml > src/uucp__age.ml.depends
- + ocamlfind ocamldep -modules src/uucp_age_data.ml > src/uucp_age_data.ml.depends
- + ocamlfind ocamldep -modules src/uucp_rmap.ml > src/uucp_rmap.ml.depends
- + ocamlfind ocamldep -modules src/uucp_fmt.ml > src/uucp_fmt.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_fmt.cmo src/uucp_fmt.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_rmap.cmo src/uucp_rmap.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_age_data.cmo src/uucp_age_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_fmt.cmx src/uucp_fmt.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_rmap.cmx src/uucp_rmap.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_age_data.cmx src/uucp_age_data.ml
- + ocamlfind ocamldep -modules src/uucp__alpha.ml > src/uucp__alpha.ml.depends
- + ocamlfind ocamldep -modules src/uucp_alpha_data.ml > src/uucp_alpha_data.ml.depends
- + ocamlfind ocamldep -modules src/uucp_tmapbool.ml > src/uucp_tmapbool.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmapbool.cmo src/uucp_tmapbool.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_alpha_data.cmo src/uucp_alpha_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmapbool.cmx src/uucp_tmapbool.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_alpha_data.cmx src/uucp_alpha_data.ml
- + ocamlfind ocamldep -modules src/uucp__block.ml > src/uucp__block.ml.depends
- + ocamlfind ocamldep -modules src/uucp_block_base.ml > src/uucp_block_base.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_block_base.cmo src/uucp_block_base.ml
- + ocamlfind ocamldep -modules src/uucp_block_data.ml > src/uucp_block_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_block_data.cmo src/uucp_block_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_block_base.cmx src/uucp_block_base.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_block_data.cmx src/uucp_block_data.ml
- + ocamlfind ocamldep -modules src/uucp__break.ml > src/uucp__break.ml.depends
- + ocamlfind ocamldep -modules src/uucp__gc.ml > src/uucp__gc.ml.depends
- + ocamlfind ocamldep -modules src/uucp_gc_base.ml > src/uucp_gc_base.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_gc_base.cmo src/uucp_gc_base.ml
- + ocamlfind ocamldep -modules src/uucp_gc_data.ml > src/uucp_gc_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_gc_data.cmo src/uucp_gc_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_gc_base.cmx src/uucp_gc_base.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_gc_data.cmx src/uucp_gc_data.ml
- + ocamlfind ocamldep -modules src/uucp_break_base.ml > src/uucp_break_base.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_break_base.cmo src/uucp_break_base.ml
- + ocamlfind ocamldep -modules src/uucp_break_data.ml > src/uucp_break_data.ml.depends
- + ocamlfind ocamldep -modules src/uucp_tmapbyte.ml > src/uucp_tmapbyte.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmapbyte.cmo src/uucp_tmapbyte.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_break_data.cmo src/uucp_break_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_break_base.cmx src/uucp_break_base.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmapbyte.cmx src/uucp_tmapbyte.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__gc.cmx src/uucp__gc.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_break_data.cmx src/uucp_break_data.ml
- + ocamlfind ocamldep -modules src/uucp__case.ml > src/uucp__case.ml.depends
- + ocamlfind ocamldep -modules src/uucp__case_fold.ml > src/uucp__case_fold.ml.depends
- + ocamlfind ocamldep -modules src/uucp_case_fold_data.ml > src/uucp_case_fold_data.ml.depends
- + ocamlfind ocamldep -modules src/uucp_tmap.ml > src/uucp_tmap.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmap.cmo src/uucp_tmap.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_fold_data.cmo src/uucp_case_fold_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmap.cmx src/uucp_tmap.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_fold_data.cmx src/uucp_case_fold_data.ml
- + ocamlfind ocamldep -modules src/uucp__case_map.ml > src/uucp__case_map.ml.depends
- + ocamlfind ocamldep -modules src/uucp_case_map_data.ml > src/uucp_case_map_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_map_data.cmo src/uucp_case_map_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_map_data.cmx src/uucp_case_map_data.ml
- + ocamlfind ocamldep -modules src/uucp__case_nfkc.ml > src/uucp__case_nfkc.ml.depends
- + ocamlfind ocamldep -modules src/uucp_case_nfkc_data.ml > src/uucp_case_nfkc_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_nfkc_data.cmo src/uucp_case_nfkc_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_nfkc_data.cmx src/uucp_case_nfkc_data.ml
- + ocamlfind ocamldep -modules src/uucp__case_nfkc_simple.ml > src/uucp__case_nfkc_simple.ml.depends
- + ocamlfind ocamldep -modules src/uucp_case_nfkc_simple_data.ml > src/uucp_case_nfkc_simple_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_nfkc_simple_data.cmo src/uucp_case_nfkc_simple_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_nfkc_simple_data.cmx src/uucp_case_nfkc_simple_data.ml
- + ocamlfind ocamldep -modules src/uucp_case_data.ml > src/uucp_case_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_data.cmo src/uucp_case_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_fold.cmx src/uucp__case_fold.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_map.cmx src/uucp__case_map.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_nfkc.cmx src/uucp__case_nfkc.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_nfkc_simple.cmx src/uucp__case_nfkc_simple.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_case_data.cmx src/uucp_case_data.ml
- + ocamlfind ocamldep -modules src/uucp__cjk.ml > src/uucp__cjk.ml.depends
- + ocamlfind ocamldep -modules src/uucp_cjk_data.ml > src/uucp_cjk_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_cjk_data.cmo src/uucp_cjk_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_cjk_data.cmx src/uucp_cjk_data.ml
- + ocamlfind ocamldep -modules src/uucp__emoji.ml > src/uucp__emoji.ml.depends
- + ocamlfind ocamldep -modules src/uucp_emoji_data.ml > src/uucp_emoji_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_emoji_data.cmo src/uucp_emoji_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_emoji_data.cmx src/uucp_emoji_data.ml
- + ocamlfind ocamldep -modules src/uucp__func.ml > src/uucp__func.ml.depends
- + ocamlfind ocamldep -modules src/uucp_func_data.ml > src/uucp_func_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_func_data.cmo src/uucp_func_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_func_data.cmx src/uucp_func_data.ml
- + ocamlfind ocamldep -modules src/uucp__gen.ml > src/uucp__gen.ml.depends
- + ocamlfind ocamldep -modules src/uucp_gen_data.ml > src/uucp_gen_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_gen_data.cmo src/uucp_gen_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_gen_data.cmx src/uucp_gen_data.ml
- + ocamlfind ocamldep -modules src/uucp__hangul.ml > src/uucp__hangul.ml.depends
- + ocamlfind ocamldep -modules src/uucp_hangul_base.ml > src/uucp_hangul_base.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_hangul_base.cmo src/uucp_hangul_base.ml
- + ocamlfind ocamldep -modules src/uucp_hangul_data.ml > src/uucp_hangul_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_hangul_data.cmo src/uucp_hangul_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_hangul_base.cmx src/uucp_hangul_base.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_hangul_data.cmx src/uucp_hangul_data.ml
- + ocamlfind ocamldep -modules src/uucp__id.ml > src/uucp__id.ml.depends
- + ocamlfind ocamldep -modules src/uucp_id_data.ml > src/uucp_id_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_id_data.cmo src/uucp_id_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_id_data.cmx src/uucp_id_data.ml
- + ocamlfind ocamldep -modules src/uucp__name.ml > src/uucp__name.ml.depends
- + ocamlfind ocamldep -modules src/uucp_cmap.ml > src/uucp_cmap.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_cmap.cmo src/uucp_cmap.ml
- + ocamlfind ocamldep -modules src/uucp_name_base.ml > src/uucp_name_base.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_name_base.cmo src/uucp_name_base.ml
- + ocamlfind ocamldep -modules src/uucp_name_data.ml > src/uucp_name_data.ml.depends
- + ocamlfind ocamldep -modules src/uucp_tmap5bytes.ml > src/uucp_tmap5bytes.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmap5bytes.cmo src/uucp_tmap5bytes.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_name_data.cmo src/uucp_name_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_cmap.cmx src/uucp_cmap.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_name_base.cmx src/uucp_name_base.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_tmap5bytes.cmx src/uucp_tmap5bytes.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_name_data.cmx src/uucp_name_data.ml
- + ocamlfind ocamldep -modules src/uucp__num.ml > src/uucp__num.ml.depends
- + ocamlfind ocamldep -modules src/uucp_num_base.ml > src/uucp_num_base.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_num_base.cmo src/uucp_num_base.ml
- + ocamlfind ocamldep -modules src/uucp_num_data.ml > src/uucp_num_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_num_data.cmo src/uucp_num_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_num_base.cmx src/uucp_num_base.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_num_data.cmx src/uucp_num_data.ml
- + ocamlfind ocamldep -modules src/uucp__script.ml > src/uucp__script.ml.depends
- + ocamlfind ocamldep -modules src/uucp_script_base.ml > src/uucp_script_base.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_script_base.cmo src/uucp_script_base.ml
- + ocamlfind ocamldep -modules src/uucp_script_data.ml > src/uucp_script_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_script_data.cmo src/uucp_script_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_script_base.cmx src/uucp_script_base.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_script_data.cmx src/uucp_script_data.ml
- + ocamlfind ocamldep -modules src/uucp__white.ml > src/uucp__white.ml.depends
- + ocamlfind ocamldep -modules src/uucp_white_data.ml > src/uucp_white_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_white_data.cmo src/uucp_white_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_white_data.cmx src/uucp_white_data.ml
- + ocamlfind ocamldep -modules src/uucp_version_data.ml > src/uucp_version_data.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_version_data.cmo src/uucp_version_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__age.cmx src/uucp__age.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__alpha.cmx src/uucp__alpha.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__block.cmx src/uucp__block.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__break.cmx src/uucp__break.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case.cmx src/uucp__case.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__cjk.cmx src/uucp__cjk.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__emoji.cmx src/uucp__emoji.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__func.cmx src/uucp__func.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__gen.cmx src/uucp__gen.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__hangul.cmx src/uucp__hangul.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__id.cmx src/uucp__id.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__name.cmx src/uucp__name.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__num.cmx src/uucp__num.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__script.cmx src/uucp__script.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__white.cmx src/uucp__white.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp_version_data.cmx src/uucp_version_data.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp.cmx src/uucp.ml
- + ocamlfind ocamlopt -a -I src src/uucp_fmt.cmx src/uucp_rmap.cmx src/uucp_age_data.cmx src/uucp__age.cmx src/uucp_tmapbool.cmx src/uucp_alpha_data.cmx src/uucp__alpha.cmx src/uucp_block_base.cmx src/uucp_block_data.cmx src/uucp__block.cmx src/uucp_gc_base.cmx src/uucp_gc_data.cmx src/uucp__gc.cmx src/uucp_break_base.cmx src/uucp_tmapbyte.cmx src/uucp_break_data.cmx src/uucp__break.cmx src/uucp_tmap.cmx src/uucp_case_fold_data.cmx src/uucp__case_fold.cmx src/uucp_case_map_data.cmx src/uucp__case_map.cmx src/uucp_case_nfkc_data.cmx src/uucp__case_nfkc.cmx src/uucp_case_nfkc_simple_data.cmx src/uucp__case_nfkc_simple.cmx src/uucp_case_data.cmx src/uucp__case.cmx src/uucp_cjk_data.cmx src/uucp__cjk.cmx src/uucp_emoji_data.cmx src/uucp__emoji.cmx src/uucp_func_data.cmx src/uucp__func.cmx src/uucp_gen_data.cmx src/uucp__gen.cmx src/uucp_hangul_base.cmx src/uucp_hangul_data.cmx src/uucp__hangul.cmx src/uucp_id_data.cmx src/uucp__id.cmx src/uucp_cmap.cmx src/uucp_name_base.cmx src/uucp_tmap5bytes.cmx src/uucp_name_data.cmx src/uucp__name.cmx src/uucp_num_base.cmx src/uucp_num_data.cmx src/uucp__num.cmx src/uucp_script_base.cmx src/uucp_script_data.cmx src/uucp__script.cmx src/uucp_white_data.cmx src/uucp__white.cmx src/uucp_version_data.cmx src/uucp.cmx -o src/uucp.cmxa
- + ocamlfind ocamlopt -shared -linkall -I src src/uucp.cmxa -o src/uucp.cmxs
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp.cmo src/uucp.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__age.cmo src/uucp__age.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__alpha.cmo src/uucp__alpha.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__block.cmo src/uucp__block.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__break.cmo src/uucp__break.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case.cmo src/uucp__case.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_fold.cmo src/uucp__case_fold.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_map.cmo src/uucp__case_map.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_nfkc.cmo src/uucp__case_nfkc.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__case_nfkc_simple.cmo src/uucp__case_nfkc_simple.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__cjk.cmo src/uucp__cjk.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__emoji.cmo src/uucp__emoji.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__func.cmo src/uucp__func.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__gc.cmo src/uucp__gc.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__gen.cmo src/uucp__gen.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__hangul.cmo src/uucp__hangul.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__id.cmo src/uucp__id.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__name.cmo src/uucp__name.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__num.cmo src/uucp__num.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__script.cmo src/uucp__script.ml
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -no-alias-deps -I src -I support -I test -o src/uucp__white.cmo src/uucp__white.ml
- + ocamlfind ocamlc -a -I src src/uucp_fmt.cmo src/uucp_rmap.cmo src/uucp_age_data.cmo src/uucp__age.cmo src/uucp_tmapbool.cmo src/uucp_alpha_data.cmo src/uucp__alpha.cmo src/uucp_block_base.cmo src/uucp_block_data.cmo src/uucp__block.cmo src/uucp_gc_base.cmo src/uucp_gc_data.cmo src/uucp__gc.cmo src/uucp_break_base.cmo src/uucp_tmapbyte.cmo src/uucp_break_data.cmo src/uucp__break.cmo src/uucp_tmap.cmo src/uucp_case_fold_data.cmo src/uucp__case_fold.cmo src/uucp_case_map_data.cmo src/uucp__case_map.cmo src/uucp_case_nfkc_data.cmo src/uucp__case_nfkc.cmo src/uucp_case_nfkc_simple_data.cmo src/uucp__case_nfkc_simple.cmo src/uucp_case_data.cmo src/uucp__case.cmo src/uucp_cjk_data.cmo src/uucp__cjk.cmo src/uucp_emoji_data.cmo src/uucp__emoji.cmo src/uucp_func_data.cmo src/uucp__func.cmo src/uucp_gen_data.cmo src/uucp__gen.cmo src/uucp_hangul_base.cmo src/uucp_hangul_data.cmo src/uucp__hangul.cmo src/uucp_id_data.cmo src/uucp__id.cmo src/uucp_cmap.cmo src/uucp_name_base.cmo src/uucp_tmap5bytes.cmo src/uucp_name_data.cmo src/uucp__name.cmo src/uucp_num_base.cmo src/uucp_num_data.cmo src/uucp__num.cmo src/uucp_script_base.cmo src/uucp_script_data.cmo src/uucp__script.cmo src/uucp_white_data.cmo src/uucp__white.cmo src/uucp_version_data.cmo src/uucp.cmo -o src/uucp.cma
- + ocamlfind ocamldep -package 'uunf cmdliner' -modules test/ucharinfo.ml > test/ucharinfo.ml.depends
- + ocamlfind ocamlc -c -g -bin-annot -safe-string -package 'uunf cmdliner' -I test -I src -I support -o test/ucharinfo.cmo test/ucharinfo.ml
- + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package 'uunf cmdliner' -I test -I src -I support -o test/ucharinfo.cmx test/ucharinfo.ml
- + ocamlfind ocamlopt -linkpkg -g -package 'uunf cmdliner' -I src -I test src/uucp_fmt.cmx src/uucp_rmap.cmx src/uucp_age_data.cmx src/uucp__age.cmx src/uucp_tmapbool.cmx src/uucp_alpha_data.cmx src/uucp__alpha.cmx src/uucp_block_base.cmx src/uucp_block_data.cmx src/uucp__block.cmx src/uucp_gc_base.cmx src/uucp_gc_data.cmx src/uucp__gc.cmx src/uucp_break_base.cmx src/uucp_tmapbyte.cmx src/uucp_break_data.cmx src/uucp__break.cmx src/uucp_tmap.cmx src/uucp_case_fold_data.cmx src/uucp__case_fold.cmx src/uucp_case_map_data.cmx src/uucp__case_map.cmx src/uucp_case_nfkc_data.cmx src/uucp__case_nfkc.cmx src/uucp_case_nfkc_simple_data.cmx src/uucp__case_nfkc_simple.cmx src/uucp_case_data.cmx src/uucp__case.cmx src/uucp_cjk_data.cmx src/uucp__cjk.cmx src/uucp_emoji_data.cmx src/uucp__emoji.cmx src/uucp_func_data.cmx src/uucp__func.cmx src/uucp_gen_data.cmx src/uucp__gen.cmx src/uucp_hangul_base.cmx src/uucp_hangul_data.cmx src/uucp__hangul.cmx src/uucp_id_data.cmx src/uucp__id.cmx src/uucp_cmap.cmx src/uucp_name_base.cmx src/uucp_tmap5bytes.cmx src/uucp_name_data.cmx src/uucp__name.cmx src/uucp_num_base.cmx src/uucp_num_data.cmx src/uucp__num.cmx src/uucp_script_base.cmx src/uucp_script_data.cmx src/uucp__script.cmx src/uucp_white_data.cmx src/uucp__white.cmx src/uucp_version_data.cmx src/uucp.cmx test/ucharinfo.cmx -o test/ucharinfo.native
- # Parallel statistics: { count(total): 6(160), max: 21, min: 2, average(total): 10.667(1.363) }
-> compiled  uucp.16.0.0
-> installed uucp.16.0.0
Processing 90/93: [omd: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "omd" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/omd.2.0.0~alpha4)
-> compiled  omd.2.0.0~alpha4
-> installed omd.2.0.0~alpha4
Processing 92/93: [beluga: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "beluga" "-j" "255" "@install" (CWD=/home/opam/.opam/5.2.0+flambda2/.opam-switch/build/beluga.1.1.2)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/support/.support.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/byte/support__List1.cmo -c -impl src/support/list1.ml)
- File "src/support/list1.ml", line 1, characters 33-40:
- 1 | type +'a t = T of 'a * 'a list [@unboxed]
-                                      ^^^^^^^
- Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/support/.support.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/byte/support__List2.cmo -c -impl src/support/list2.ml)
- File "src/support/list2.ml", line 1, characters 37-44:
- 1 | type 'a t = T of 'a * 'a * 'a list [@unboxed]
-                                          ^^^^^^^
- Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/support/.support.objs/byte -I src/support/.support.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/native/support__List1.cmx -c -impl src/support/list1.ml)
- File "src/support/list1.ml", line 1, characters 33-40:
- 1 | type +'a t = T of 'a * 'a list [@unboxed]
-                                      ^^^^^^^
- Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/support/.support.objs/byte -I src/support/.support.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/native/support__List2.cmx -c -impl src/support/list2.ml)
- File "src/support/list2.ml", line 1, characters 37-44:
- 1 | type 'a t = T of 'a * 'a * 'a list [@unboxed]
-                                          ^^^^^^^
- Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/syntax/syncom/.syncom.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/support/.support.objs/byte -intf-suffix .ml -no-alias-deps -open Syncom__ -o src/syntax/syncom/.syncom.objs/byte/syncom__Error.cmo -c -impl src/syntax/syncom/error.pp.ml)
- File "src/syntax/syncom/error.ml", line 519, characters 2-27:
- 519 |   Printexc.register_printer (fun exn ->
-         ^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- 
- File "src/syntax/syncom/error.ml", line 526, characters 2-41:
- 526 |   Printexc.set_uncaught_exception_handler (fun exn backtrace ->
-         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Printexc.set_uncaught_exception_handler
- Use [Printexc.Safe.set_uncaught_exception_handler].
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/syntax/synint/.synint.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/syntax/syncom/.syncom.objs/byte -no-alias-deps -o src/syntax/synint/.synint.objs/byte/synint.cmo -c -impl src/syntax/synint/synint.ml)
- File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60:
- 629 | ....function
- 630 |     | PatNil -> PatNil
- 631 |     | PatApp (loc, p, pS) ->
- 632 |        PatApp (loc, strip_pattern p, strip_pattern_spine pS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -open Syncom__ -o src/syntax/syncom/.syncom.objs/native/syncom__Error.cmx -c -impl src/syntax/syncom/error.pp.ml)
- File "src/syntax/syncom/error.ml", line 519, characters 2-27:
- 519 |   Printexc.register_printer (fun exn ->
-         ^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Printexc.register_printer
- Use [Printexc.Safe.register_printer].
- 
- File "src/syntax/syncom/error.ml", line 526, characters 2-41:
- 526 |   Printexc.set_uncaught_exception_handler (fun exn backtrace ->
-         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert unsafe_multidomain: Stdlib.Printexc.set_uncaught_exception_handler
- Use [Printexc.Safe.set_uncaught_exception_handler].
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/syntax/synext/.synext.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/syntax/syncom/.syncom.objs/byte -intf-suffix .ml -no-alias-deps -open Synext__ -o src/syntax/synext/.synext.objs/byte/synext__Synext_precedence.cmo -c -impl src/syntax/synext/synext_precedence.ml)
- File "src/syntax/synext/synext_precedence.ml", line 253, characters 38-45:
- 253 |   type precedence = Static of Int.t [@unboxed]
-                                             ^^^^^^^
- Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -intf-suffix .ml -no-alias-deps -o src/syntax/synint/.synint.objs/native/synint.cmx -c -impl src/syntax/synint/synint.ml)
- File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60:
- 629 | ....function
- 630 |     | PatNil -> PatNil
- 631 |     | PatApp (loc, p, pS) ->
- 632 |        PatApp (loc, strip_pattern p, strip_pattern_spine pS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Order.cmo -c -impl src/core/order.ml)
- File "src/core/order.ml", lines 26-34, characters 2-23:
- 26 | ..function
- 27 |   | I.Arg x -> Some [x]
- 28 |   | I.Lex xs ->
- 29 |      let f =
- 30 |        function
- 31 |        | I.Arg x -> Some x
- 32 |        | _ -> None (* We don't support nested lexicographic orders. *)
- 33 |      in
- 34 |      List.traverse f xs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Simul _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Erase.cmo -c -impl src/core/erase.ml)
- File "src/core/erase.ml", lines 6-19, characters 2-33:
-  6 | ..match (tau, n) with
-  7 |   | (_, 0) -> 0
-  8 |   | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1)
-  9 |   | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) ->
- 10 |     (* We count [Inductive] as 1 instead of throwing an error because
- ...
- 16 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) ->
- 17 |     1 + numeric_order_arg tau (n - 1)
- 18 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) ->
- 19 |     numeric_order_arg tau (n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypPiBox (_, DeclOpt _, _), 1)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Subord.cmo -c -impl src/core/subord.ml)
- File "src/core/subord.ml", lines 98-101, characters 7-43:
-  98 | .......function
-  99 |        | Atom _ -> [tA]
- 100 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
- 101 |           extract_neg tA1 @ extract_pos tA2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/subord.ml", lines 103-106, characters 7-43:
- 103 | .......function
- 104 |        | Atom _ -> []
- 105 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
- 106 |           extract_pos tA1 @ extract_neg tA2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/subord.ml", lines 85-112, characters 2-47:
-  85 | ..match tA with
-  86 |   | Atom (_, a, _) ->
-  87 |      Store.Cid.Typ.freeze a;
-  88 |      if List.exists
-  89 |           begin fun type_in_basis ->
- ...
- 109 |         If we keep this, then we might not strengthen enough... -bp*)
- 110 |      List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1)
- 111 |      @ relevant tA2 basis
- 112 |   | Sigma typRec -> relevantTypRec typRec basis
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/subord.ml", lines 159-161, characters 9-71:
- 159 | .........match psi with
- 160 |          | CtxOffset _ -> Context.lookupCtxVarSchema cD psi
- 161 |          | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CInst ({typ=CTyp None; _ }, _)
- 
- File "src/core/subord.ml", lines 155-187, characters 4-10:
- 155 | ....match cPsi with
- 156 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
- 157 |     | CtxVar psi ->
- 158 |        let schema =
- 159 |          match psi with
- ...
- 184 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
- 185 |           let thin_s_inv = Substitution.LF.invert thin_s in
- 186 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
- 187 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/subord.ml", line 189, characters 8-45:
- 189 |   inner (match tP with Atom (_, a, _) -> [a]) cPsi
-               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
- 
- File "src/core/subord.ml", lines 215-216, characters 16-21:
- 215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in
- 216 |                 s_cid
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=CTyp None; _ })
- 
- File "src/core/subord.ml", lines 205-238, characters 4-10:
- 205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with
- 206 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
- 207 |     | CtxVar psi ->
- 208 |        begin
- 209 |          try
- ...
- 235 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
- 236 |           let thin_s_inv = Substitution.LF.invert thin_s in
- 237 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
- 238 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/subord.ml", lines 249-251, characters 11-24:
- 249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in
- 250 |            p.fmt "[thin'] CtxName psi = %a FOUND"
- 251 |              Name.pp psi
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=ClTyp (_, _); _ })
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Context.cmo -c -impl src/core/context.ml)
- File "src/core/context.ml", lines 90-104, characters 4-24:
-  90 | ....function
-  91 |     | (DDec (_, TypDecl (x, tA')), 1) ->
-  92 |        TypDecl (x, TClo (tA', Shift k))
-  93 | 
-  94 |     | (DDec (cPsi', TypDecl _), k') ->
- ...
- 101 |        ctxDec' (cPsi', k'-1)
- 102 | 
- 103 |     | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) ->
- 104 |        ctxDec' (cPsi, k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxVar
-    (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)),
- _)
- 
- File "src/core/context.ml", lines 124-134, characters 4-24:
- 124 | ....function
- 125 |     | (DDec (_, TypDecl (x, Sigma tArec)), 1) ->
- 126 |        TypDecl (x, Sigma (sigmaShift tArec (Shift k)))
- 127 | 
- 128 |     | (DDec (cPsi', TypDecl (_, Sigma _)), k') ->
- ...
- 131 |     | (DDec (cPsi', TypDecl _), k') ->
- 132 |        ctxDec' (cPsi', k' - 1)
- 133 |     | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) ->
- 134 |        ctxDec' (cPhi, k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (DDec (cPsi', TypDeclOpt _), _)
- 
- File "src/core/context.ml", lines 361-364, characters 2-49:
- 361 | ..match (cPsi, k) with
- 362 |   | (DDec (_, TypDecl (x, _)), 1) -> x
- 363 |   | (DDec (_, TypDeclOpt x), 1) -> x
- 364 |   | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Null|CtxVar _), _)
- 
- File "src/core/context.ml", lines 367-371, characters 2-27:
- 367 | ..match (cD, k) with
- 368 |   | (Dec (_, Decl { name = u; _ }), 1) -> u
- 369 |   | (Dec (_, DeclOpt { name = u; _ }), 1) -> u
- 370 |   | (Dec (cD, _), k) ->
- 371 |      getNameMCtx cD (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Empty, _)
- 
- File "src/core/context.ml", lines 374-377, characters 2-45:
- 374 | ..match (cG, k) with
- 375 |   | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x
- 376 |   | (Dec (_, Comp.CTypDeclOpt x), 1) -> x
- 377 |   | (Dec (cG, _), k) -> getNameCtx cG (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Empty, _)
- 
- File "src/core/context.ml", lines 401-403, characters 4-58:
- 401 | ....function
- 402 |     | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl)
- 403 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Null
- 
- File "src/core/context.ml", lines 409-411, characters 4-58:
- 409 | ....function
- 410 |     | CtxVar ctx_var -> Null
- 411 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Null
- 
- File "src/core/context.ml", lines 436-439, characters 2-28:
- 436 | ..match (cD, psi_offset) with
- 437 |   | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema
- 438 |   | (Dec (cD, _) , i) ->
- 439 |      lookupSchema cD (i - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Empty, _)
- 
- File "src/core/context.ml", lines 446-453, characters 7-10:
- 446 | .......begin match cvar with
- 447 |        | CtxName phi when Name.(psi = phi) -> (psi, schemaName)
- 448 |        | CtxName _ -> lookup cD (offset + 1)
- 449 |        | CtxOffset n ->
- 450 |           if n - offset = 1
- 451 |           then (psi, schemaName)
- 452 |           else lookup cD (offset + 1)
- 453 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CInst _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -intf-suffix .ml -no-alias-deps -open Synext__ -o src/syntax/synext/.synext.objs/native/synext__Synext_precedence.cmx -c -impl src/syntax/synext/synext_precedence.ml)
- File "src/syntax/synext/synext_precedence.ml", line 253, characters 38-45:
- 253 |   type precedence = Static of Int.t [@unboxed]
-                                             ^^^^^^^
- Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Ctxsub.cmo -c -impl src/core/ctxsub.ml)
- File "src/core/ctxsub.ml", lines 46-65, characters 2-36:
- 46 | ..match sA' with
- 47 |   | (PiTyp ((decl, _, _), tA'), s') ->
- 48 |      let (tM , sAmv) =
- 49 |        lowerMVar
- 50 |          (DDec (cPsi, Substitution.LF.decSub decl s'))
- ...
- 62 |          , Nil
- 63 |          , Plicity.explicit
- 64 |          ) ,
- 65 |       ClTyp(MTyp (TClo sA') , cPsi))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _, _)
- 
- File "src/core/ctxsub.ml", lines 88-158, characters 2-89:
-  88 | ..function
-  89 |   | Null ->
-  90 |      (* Substitution.LF.id  --changed 2010-07-26*)
-  91 |      (cD, ctxShift psi, 0)
-  92 | 
- ...
- 155 | 
- 156 |   | DDec (_, TypDecl _) ->
- 157 |      (* For the moment, assume tA atomic. *)
- 158 |      Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (_, TypDeclOpt _)
- 
- File "src/core/ctxsub.ml", lines 174-216, characters 2-11:
- 174 | ..function
- 175 |   | Null ->
- 176 |      (* Substitution.LF.id  --changed 2010-07-26*)
- 177 |      ctxShift cPhi
- 178 | 
- ...
- 213 |      (* dprint (fun () -> "shifted = " ^ subToString shifted);*)
- 214 |      let result = Dot (front, s) in
- 215 |      dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result);
- 216 |      result
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi', TypDeclOpt _)
- 
- File "src/core/ctxsub.ml", lines 250-255, characters 2-59:
- 250 | ..function
- 251 |   | Empty -> MShift (Context.length cD0)
- 252 |   | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) ->
- 253 |      let t = mctxToMMSub cD0 cD' in
- 254 |      let mtyp' = Whnf.cnormMTyp (mtyp, t) in
- 255 |      MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt _)
- 
- File "src/core/ctxsub.ml", lines 261-263, characters 2-35:
- 261 | ..function
- 262 |   | t when n <= 0 -> t
- 263 |   | MDot (_, t') -> drop (n - 1) t'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MShift _
- (However, some guarded clause may match this value.)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Substitution.cmo -c -impl src/core/substitution.ml)
- File "src/core/substitution.ml", lines 105-124, characters 4-44:
- 105 | ....match (n, s) with
- 106 |     | (_, Undefs) -> Undef
- 107 |     | (1, Dot (ft, _s)) -> ft
- 108 |     | (n, Dot (_ft, s)) -> bvarSub (n - 1) s
- 109 |     | (n, Shift k) -> Head (BVar (n + k))
- ...
- 121 |            Free BVar (n + k) ... -bp *)
- 122 |        Head (HClo (n + k, s, sigma))
- 123 |     | (n, MSVar (k, ((s, t), sigma))) ->
- 124 |        Head (HMClo (n + k, ((s, t), sigma)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (EmptySub|FSVar (_, _)))
- 
- File "src/core/substitution.ml", lines 156-159, characters 12-73:
- 156 | ............function
- 157 |             | (Last u, 1) -> u
- 158 |             | (Cons (u, _), 1) -> u
- 159 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last u, 0)
- 
- File "src/core/substitution.ml", lines 166-169, characters 12-73:
- 166 | ............function
- 167 |             | (Last u, 1) -> u
- 168 |             | (Cons (u, _), 1) -> u
- 169 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last u, 0)
- 
- File "src/core/substitution.ml", lines 147-194, characters 7-10:
- 147 | .......begin match bvarSub n s with
- 148 |        | Head (BVar x) ->
- 149 |           Head (Proj (BVar x, k))
- 150 | 
- 151 |        | Head (PVar _ as h) ->
- ...
- 191 |        | Head (AnnH _ ) -> failwith "Found head that is AnnH"
- 192 |        | Head (MMVar _ ) -> failwith "Found head that is MMVar"
- 193 |        | Head _ -> failwith "Found head that is not a BVar or PVar"
- 194 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/substitution.ml", lines 203-206, characters 12-73:
- 203 | ............function
- 204 |             | (Last u, 1) -> (u, s)
- 205 |             | (Cons (u, _), 1) -> (u, s)
- 206 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last u, 0)
- 
- File "src/core/substitution.ml", lines 197-210, characters 7-10:
- 197 | .......begin match frontSub (Head h) s with
- 198 |        | Head h' ->
- 199 |           Head (Proj (h', k))
- 200 | 
- 201 |        | Obj (Tuple (_, tuple)) ->
- ...
- 207 |           in
- 208 |           (*              Obj (Clo (nth s (tuple, k))) *)
- 209 |           Obj (Pair.fst (nth s (tuple, k)))
- 210 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _)
- 
- File "src/core/substitution.ml", lines 213-214, characters 7-26:
- 213 | .......let Head h' = frontSub (Head h) s in
- 214 |        Head (AnnH (h', a))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undef|Obj _)
- 
- File "src/core/substitution.ml", lines 138-221, characters 4-35:
- 138 | ....match ft with
- 139 |     | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s))
- 140 |     | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s)))
- 141 |     | Head (BVar n) -> bvarSub n s
- 142 |     | Head (FVar _) -> ft
- ...
- 218 |     | Obj u -> Obj (Clo (u, s))
- 219 |     | Undef -> Undef
- 220 |     | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s))
- 221 |     | Head (FPVar (_n, _s' )) -> ft
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head (MPVar _|FMVar _)
- 
- File "src/core/substitution.ml", line 263, characters 13-30:
- 263 |   let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s))
-                    ^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/substitution.ml", lines 292-300, characters 6-33:
- 292 | ......match s with
- 293 |       | EmptySub -> None
- 294 |       | Undefs -> None
- 295 |       | Shift _ -> None
- 296 |       | Dot (Undef, s') -> lookup (n + 1) s' p
- 297 |       | Dot (Head (BVar k), s') ->
- 298 |          if k = p
- 299 |          then Some (Head (BVar n))
- 300 |          else lookup (n + 1) s' p
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dot
-   (Head
-      (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-      FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
-   _)
- 
- File "src/core/substitution.ml", lines 314-324, characters 6-37:
- 314 | ......match s with
- 315 |       | EmptySub ->
- 316 |          invert'' maxoffset Undefs
- 317 |       | Undefs ->
- 318 |          invert'' maxoffset Undefs
- ...
- 321 |       | Dot (Head (BVar k), s') ->
- 322 |          invert' (n + 1) s' (max k maxoffset)
- 323 |       | Dot (_, s') -> (* Is this really necessary? -ac *)
- 324 |          invert' (n + 1) s' maxoffset
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/substitution.ml", lines 335-350, characters 4-65:
- 335 | ....match (s, cPsi) with
- 336 |     | (Shift _ (* 0 *), Null) ->
- 337 |        Null
- 338 |     | (Shift _, CtxVar psi) ->
- 339 |        CtxVar psi
- ...
- 347 |     | (Dot (Undef, t), DDec (cPsi, _)) ->
- 348 |        strengthen t cPsi
- 349 |     | (Shift n, cPsi) ->
- 350 |        strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dot (Head (BVar _k), t), (Null|CtxVar _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Store.cmo -c -impl src/core/store.ml)
- File "src/core/store.ml", lines 212-217, characters 6-45:
- 212 | ......function
- 213 |       | Int.LF.Atom(_, b, _) ->
- 214 |          List.iter (fun a -> addSubord a b) acc ; [b]
- 215 | 
- 216 |       | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) ->
- 217 |          inspect (acc @ (inspect [] tA1)) tA2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/store.ml", lines 222-226, characters 6-56:
- 222 | ......function
- 223 |       | Int.LF.Typ ->
- 224 |          List.iter (fun a -> addSubord a cid_tp) acc
- 225 |       | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) ->
- 226 |          inspectKind cid_tp (acc @ (inspect [] tA1)) tK2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__ConvSigma.cmo -c -impl src/core/convSigma.ml)
- File "src/core/convSigma.ml", lines 20-22, characters 2-54:
- 20 | ..match (conv_list, k) with
- 21 |   | (d :: conv_list', 1) -> d
- 22 |   | (d :: conv_list', _) -> d + map conv_list' (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ([], _)
- 
- File "src/core/convSigma.ml", lines 44-52, characters 2-21:
- 44 | ..match tM with
- 45 |   | LF.Lam (loc, x, tN) ->
- 46 |      let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in
- 47 |      LF.Lam (loc, x, tN')
- 48 |   | LF.Root (loc, h, tS, plicity) ->
- 49 |      let h' = strans_head loc cD cPsi h conv_list in
- 50 |      let tS' = strans_spine cD cPsi (tS, s) conv_list in
- 51 |      LF.Root (loc, h', tS', plicity)
- 52 |   | LF.LFHole _ -> tM
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _|Tuple (_, _))
- 
- File "src/core/convSigma.ml", lines 55-101, characters 2-8:
-  55 | ..match h with
-  56 |   | LF.BVar x -> LF.BVar (map conv_list x)
-  57 | 
-  58 |   | LF.MVar (LF.Offset u, sigma) ->
-  59 |      LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list)
- ...
-  98 |          LF.BVar x'
-  99 |        with
- 100 |        | _ -> LF.Proj (LF.BVar x, j)
- 101 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Proj
-   ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-    HClo (_, _, _)|HMClo (_, _)),
-   _)
- 
- File "src/core/convSigma.ml", lines 112-118, characters 2-26:
- 112 | ..match mf with
- 113 |   | LF.ClObj (phat, LF.MObj tM) ->
- 114 |      LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list ))
- 115 |   | LF.ClObj (phat, LF.PObj h) ->
- 116 |      LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list))
- 117 |   | LF.MV u -> LF.MV u
- 118 |   | LF.MUndef -> LF.MUndef
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/convSigma.ml", lines 121-123, characters 2-55:
- 121 | ..function
- 122 |   | (0, xs) -> n
- 123 |   | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1, [])
- 
- File "src/core/convSigma.ml", lines 163-170, characters 2-59:
- 163 | ..match tA with
- 164 |   | LF.Atom (loc, a, tS ) ->
- 165 |      LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list )
- 166 | 
- 167 |   | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) ->
- 168 |      let tA' = strans_typ cD cPsi (tA, s) conv_list in
- 169 |      let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in
- 170 |      LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/convSigma.ml", lines 384-432, characters 2-24:
- 384 | ..match Whnf.whnfTyp sA with
- 385 |   | LF.Sigma tRec as tA, s ->
- 386 |      (* FIXME: this doesn't do any strengthening !! -je *)
- 387 |      let tH =
- 388 |        mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s)
- ...
- 429 |      let tN =
- 430 |        etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names)
- 431 |      in
- 432 |      LF.Lam (loc, x, tN)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyint.cmo -c -impl src/core/prettyint.ml)
- File "src/core/prettyint.ml", lines 237-294, characters 4-39:
- 237 | ....function
- 238 |     | LF.Atom (_, a, LF.Nil) ->
- 239 |        fprintf ppf "%s"
- 240 |          (R.render_cid_typ a)
- 241 | 
- ...
- 291 |     | LF.TClo (typ, s) ->
- 292 |        fprintf ppf "TClo(%a,@ %a)"
- 293 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
- 294 |          (fmt_ppr_lf_sub cD cPsi lvl) s
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/prettyint.ml", lines 434-545, characters 6-51:
- 434 | ......function
- 435 |       | LF.HClo (h, s, sigma) ->
- 436 |          fprintf ppf "%s[%a[%a]]"
- 437 |            (R.render_bvar cPsi h)
- 438 |            (fmt_ppr_lf_offset cD) s
- ...
- 542 |            (r_paren_if (paren s))
- 543 | 
- 544 |       | LF.Proj (head, k) ->
- 545 |          fmt_head_with ("." ^ string_of_int k) head
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- AnnH (_, _)
- 
- File "src/core/prettyint.ml", lines 769-771, characters 7-52:
- 769 | .......match LF.(v.typ) with
- 770 |        | LF.ClTyp (_, cPsi) ->
- 771 |           fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/prettyint.ml", lines 785-794, characters 7-10:
- 785 | .......begin match !g with
- 786 |        | None ->
- 787 |           fprintf ppf "?%a[%a]"
- 788 |             Name.pp LF.(v.name)
- 789 |             (fmt_ppr_lf_msub cD 0) theta
- 790 | 
- 791 |        | Some (LF.ICtx cPsi) ->
- 792 |           fprintf ppf "%a"
- 793 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
- 794 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/prettyint.ml", lines 878-890, characters 4-38:
- 878 | ....function
- 879 |     | LF.Null -> ()
- 880 | 
- 881 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
- 882 |        fprintf ppf "%a : %a"    (* formerly "., %s : %a"    -jd 2010-06-03 *)
- ...
- 887 |        fprintf ppf "%a, %a : %a"
- 888 |          (ppr_typ_decl_dctx cD) cPsi
- 889 |          Name.pp x
- 890 |          (fmt_ppr_lf_typ cD cPsi 0) tA
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/prettyint.ml", lines 974-1006, characters 4-26:
-  974 | ....function
-  975 |     | LF.Typ ->
-  976 |        fprintf ppf "type"
-  977 | 
-  978 |     | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) ->
- ...
- 1003 |          (l_paren_if cond)
- 1004 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
- 1005 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
- 1006 |          (r_paren_if cond)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- 
- File "src/core/prettyint.ml", lines 1097-1109, characters 4-40:
- 1097 | ....function
- 1098 |     | LF.Queued id ->
- 1099 |        fprintf ppf "@[QUEUED %d@]" id
- 1100 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
- 1101 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
- ...
- 1106 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
- 1107 |          id
- 1108 |          (fmt_ppr_lf_head cD cPsi l0) h1
- 1109 |          (fmt_ppr_lf_head cD cPsi l0) h2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/prettyint.ml", lines 1147-1228, characters 4-39:
- 1147 | ....function
- 1148 |     | Comp.TypBase (_, c, mS)->
- 1149 |        let cond = lvl > 10 in
- 1150 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
- 1151 |          (l_paren_if cond)
- ...
- 1225 |          fprintf ppf "@[%a@]*"
- 1226 |            (fmt_ppr_cmp_typ cD 10) tau
- 1227 |        else
- 1228 |          fmt_ppr_cmp_typ cD lvl ppf tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDef (_, _, _)
- 
- File "src/core/prettyint.ml", lines 1236-1241, characters 4-48:
- 1236 | ....function
- 1237 |     | Comp.PatNil -> fprintf ppf ""
- 1238 |     | Comp.PatApp (_, pat, pat_spine) ->
- 1239 |        fprintf ppf "@[%a@]@ @[%a@]"
- 1240 |          (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat
- 1241 |          (fmt_ppr_pat_spine cD cG lvl) pat_spine
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- 
- File "src/core/prettyint.ml", lines 1245-1248, characters 6-65:
- 1245 | ......match (ms, n) with
- 1246 |       | (_, 0) -> ms
- 1247 |       | (Comp.PatNil, _) -> ms
- 1248 |       | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatObs (_, _, _, _), 1)
- 
- File "src/core/prettyint.ml", lines 1507-1550, characters 4-26:
- 1507 | ....function
- 1508 |     | Comp.FunValue _ -> fprintf ppf " fn "
- 1509 |     | Comp.ThmValue _ -> fprintf ppf " rec "
- 1510 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
- 1511 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
- ...
- 1547 |        fprintf ppf "%s%s%a%s"
- 1548 |          (l_paren_if cond)
- 1549 |          (R.render_cid_comp_const c) print_spine pat_spine
- 1550 |          (r_paren_if cond)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- FnValue (_, _, _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Whnf.cmo -c -impl src/core/whnf.ml)
- File "src/core/whnf.ml", lines 36-39, characters 2-73:
- 36 | ..match cPsi with
- 37 |   | Null -> tA
- 38 |   | DDec (cPsi', decl) ->
- 39 |      raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar _
- 
- File "src/core/whnf.ml", lines 133-148, characters 2-64:
- 133 | ..match sA' with
- 134 |   | (PiTyp ((decl, _, _), tA'), s') ->
- 135 |      let (u', tM) =
- 136 |        lowerMVar'
- 137 |          (DDec (cPsi, LF.decSub decl s'))
- ...
- 145 | 
- 146 |   | (Atom (loc, a, tS), s') ->
- 147 |      let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in
- 148 |      (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity))....................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _, _)
- 
- File "src/core/whnf.ml", lines 152-162, characters 2-25:
- 152 | ..match (u, sA) with
- 153 |   | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ }
- 154 |     , (PiTyp _, _)
- 155 |     ) ->
- 156 |      let (u', tM) = lowerMVar' cPsi sA plicity inductivity in
- ...
- 159 | 
- 160 |   | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s')
- 161 | 
- 162 |   | (_, (Atom _, _)) -> u
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Inst {typ=ClTyp (_, _); _ }, (Sigma _, _))
- 
- File "src/core/whnf.ml", lines 319-329, characters 4-31:
- 319 | ....match s with
- 320 |     | MShift _ -> None
- 321 |     | MDot (MUndef, t') -> lookup (n + 1) t' p
- 322 | 
- 323 |     | MDot (MV k, t')
- ...
- 326 |       | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') ->
- 327 |        if k = p
- 328 |        then Some n
- 329 |        else lookup (n + 1) t' p
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MDot (CObj (CtxVar (CtxName _|CInst _)), _)
- 
- File "src/core/whnf.ml", lines 385-387, characters 7-59:
- 385 | .......match normHead (h, sigma) with
- 386 |      | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity)
- 387 |      | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 404-407, characters 5-8:
- 404 | .....begin match normMMVar mmt with
- 405 |      | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma))))
- 406 |      | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma)
- 407 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 409-413, characters 5-8:
- 409 | .....begin match normMMVar mmt with
- 410 |      (* The order in which we normalize mm, n, s, and sigma seems to matter..*)
- 411 |      | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma)))
- 412 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
- 413 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 415-419, characters 5-8:
- 415 | .....begin match normMMVar mmt with
- 416 |      | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma)))
- 417 |      | Result (IHead h) -> normFt' (normHead (h, s), sigma)
- 418 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
- 419 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 422-425, characters 5-8:
- 422 | .....begin match normMMVar (mm, MShift 0) with
- 423 |      | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma)))
- 424 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
- 425 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 449-451, characters 2-32:
- 449 | ..match ft with
- 450 |   | Head h -> normHead (h, s)
- 451 |   | Obj tM -> Obj (norm (tM, s))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 454-457, characters 2-37:
- 454 | ..match tM with
- 455 |   | INorm n -> INorm (cnorm (n, mt))
- 456 |   | IHead h -> IHead (cnormHead (h, mt))
- 457 |   | ISub s -> ISub (cnormSub (s, mt))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ICtx _
- 
- File "src/core/whnf.ml", lines 463-466, characters 5-8:
- 463 | .....begin match normHead (h, s) with
- 464 |      | Obj tM -> MObj tM
- 465 |      | Head h' -> PObj h'
- 466 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 470-473, characters 2-64:
- 470 | ..match normFt' (ft, LF.id) with
- 471 |   | Head h -> Head (Proj (h, i))
- 472 |   | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i))
- 473 |   | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 476-479, characters 2-50:
- 476 | ..function
- 477 |   | (Last tM, 1) -> tM
- 478 |   | (Cons (tM, _), 1) -> tM
- 479 |   | (Cons (_, rest), k) -> reduceTuple (rest, k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last tM, 0)
- 
- File "src/core/whnf.ml", lines 507-521, characters 2-17:
- 507 | ..function
- 508 |   | (LFHole (l, _, _), _) ->
- 509 |      raise (InvalidLFHole l)
- 510 | 
- 511 |   | (Root (loc, h, sp, plicity), spine) ->
- ...
- 518 |      Lam (loc, n, tM')
- 519 | 
- 520 |   | (Clo sM, tS) ->
- 521 |      reduce sM tS
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _), SClo _)
- 
- File "src/core/whnf.ml", lines 524-526, characters 2-54:
- 524 | ..function
- 525 |   | (Nil, s) -> s
- 526 |   | (App (tN, tS), s) -> App (tN, appendSpine (tS, s))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (SClo _, _)
- 
- File "src/core/whnf.ml", lines 537-543, characters 5-8:
- 537 | .....begin match mmvar.instantiation.contents with
- 538 |      | Some (ISub s) ->
- 539 |         let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in
- 540 |         LF.comp (Shift n) s0
- 541 |      | None ->
- 542 |         MSVar (n, ((mmvar, mt), normSub s'))
- 543 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 562-573, characters 2-37:
- 562 | ..match tA with
- 563 |   | Atom (loc, a, tS) ->
- 564 |      Atom (loc, a, normSpine (tS, sigma))
- 565 | 
- 566 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
- ...
- 570 |      normTyp (tA, LF.comp s sigma)
- 571 | 
- 572 |   | Sigma recA ->
- 573 |      Sigma (normTypRec (recA, sigma))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/whnf.ml", lines 620-629, characters 5-8:
- 620 | .....begin match !u with
- 621 |      | None ->
- 622 |         (Some (CInst (mmvar, mcomp theta t)), k)
- 623 |      | Some (ICtx cPsi) ->
- 624 |         (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *)
- 625 |         begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with
- 626 |         | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *)
- 627 |         | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *)
- 628 |         end
- 629 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 631-641, characters 5-8:
- 631 | .....begin match LF.applyMSub offset t with
- 632 |      | CObj cPsi ->
- 633 |         begin match Context.dctxToHat cPsi with
- 634 |         | (None, i) -> (None, k + i)
- 635 |         | (Some cvar', i) -> (Some cvar', k + i)
- ...
- 638 |      | ClObj _ ->
- 639 |         Error.raise_violation
- 640 |           (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset)
- 641 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MUndef
- 
- File "src/core/whnf.ml", lines 656-659, characters 5-8:
- 656 | .....begin match LF.applyMSub k t with
- 657 |      | MV k' -> Head (MVar (Offset k', s'))
- 658 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
- 659 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, (PObj _|SObj _))
- 
- File "src/core/whnf.ml", lines 662-666, characters 5-8:
- 662 | .....begin match LF.applyMSub k t with
- 663 |      | MV k' -> Head (PVar (k', s'))
- 664 |      | ClObj (_, PObj h) -> normHead (h, s')
- 665 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
- 666 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/whnf.ml", lines 669-672, characters 5-8:
- 669 | .....begin match LF.applyMSub sv t with
- 670 |      | MV sv' -> Head (HClo (k, sv', s'))
- 671 |      | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s')
- 672 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, (MObj _|PObj _))
- 
- File "src/core/whnf.ml", lines 674-677, characters 5-8:
- 674 | .....begin match normMMVar mmt with
- 675 |      | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
- 676 |      | Result (INorm n) -> Obj (cnorm (norm (n, s), t))
- 677 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 679-684, characters 5-8:
- 679 | .....begin match normMMVar mmt with
- 680 |      | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
- 681 |      | Result (IHead h) -> cnormFt' (normHead (h, s), t)
- 682 |      | Result (INorm n) ->
- 683 |         Obj (cnorm (norm (n, s), t))
- 684 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 686-689, characters 5-8:
- 686 | .....begin match normMMVar mmt with
- 687 |      | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t))))
- 688 |      | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t)
- 689 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 691-694, characters 5-8:
- 691 | .....begin match normMMVar (mm, MShift 0) with
- 692 |      | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t)))
- 693 |      | Result (INorm n) -> Obj (norm (n, s))
- 694 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 698-700, characters 2-38:
- 698 | ..function
- 699 |   | (Head h, t) -> cnormHead' (h, t)
- 700 |   | (Obj tM, t) -> Obj (cnorm (tM, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undef, _)
- 
- File "src/core/whnf.ml", lines 713-721, characters 5-8:
- 713 | .....begin match cnormHead' (head, t) with
- 714 |      | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity)
- 715 |      | Obj tM ->
- 716 |         (* in this ends up evaluating to a Root, we want to keep the
- 717 |            plicity that we had here *)
- 718 |         map_plicity
- 719 |           (fun _ -> plicity)
- 720 |           (reduce (tM, LF.id) (cnormSpine (tS, t)))
- 721 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 728-729, characters 2-17:
- 728 | ..match cnormHead' (h, t) with
- 729 |   | Head h' -> h'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undef|Obj _)
- 
- File "src/core/whnf.ml", lines 752-758, characters 5-8:
- 752 | .....begin match LF.applyMSub offset t with
- 753 |      | MV offset' -> SVar (offset', n, cnormSub (s', t))
- 754 |      | ClObj (_, SObj r) ->
- 755 |         LF.comp (LF.comp (Shift n) r) (cnormSub (s', t))
- 756 |      | ClObj _ ->
- 757 |         Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj"
- 758 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|CObj _)
- 
- File "src/core/whnf.ml", lines 764-775, characters 5-56:
- 764 | .....match mmvar.instantiation.contents with
- 765 |      | Some (ISub s) ->
- 766 |         dprintf
- 767 |           begin fun p ->
- 768 |           p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]"
- ...
- 772 |         let s0' = LF.comp (Shift n) s0 in
- 773 |         cnormSub (s0', t)
- 774 |      | None ->
- 775 |         MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 793-803, characters 2-34:
- 793 | ..match tA with
- 794 |   | Atom (loc, a, tS) ->
- 795 |      Atom (loc, a, cnormSpine (tS, t))
- 796 | 
- 797 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
- ...
- 800 |   | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t))
- 801 | 
- 802 |   | Sigma recA ->
- 803 |      Sigma (cnormTypRec (recA, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/whnf.ml", lines 832-837, characters 5-8:
- 832 | .....begin match !u with
- 833 |      | None ->
- 834 |         CtxVar (CInst (mmvar, mcomp theta t))
- 835 |      | Some (ICtx cPhi) ->
- 836 |         cnormDCtx (cPhi, mcomp theta t)
- 837 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 840-843, characters 5-8:
- 840 | .....begin match LF.applyMSub psi t with
- 841 |      | CObj cPsi' -> normDCtx cPsi'
- 842 |      | MV k -> CtxVar (CtxOffset k)
- 843 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|ClObj (_, _))
- 
- File "src/core/whnf.ml", lines 886-889, characters 5-8:
- 886 | .....begin match mmvar.instantiation.contents with
- 887 |      | None -> cPsi
- 888 |      | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta))
- 889 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 960-973, characters 8-11:
- 960 | ........begin match h' with
- 961 |         | BVar i ->
- 962 |            begin match LF.bvarSub i (LF.comp r sigma) with
- 963 |            | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma))
- 964 |            | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id)
- ...
- 970 |            let h' = PVar (p, LF.comp (LF.comp s r) sigma) in
- 971 |            whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
- 972 |         | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id)
- 973 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
- HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/whnf.ml", lines 956-979, characters 5-8:
- 956 | .....begin match u with
- 957 |      (* MPVar instantiation must be a head *)
- 958 |      | Some (IHead h) ->
- 959 |         let h' = cnormHead (h, t) in
- 960 |         begin match h' with
- ...
- 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
- 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
- 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
- 979 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 954-979, characters 5-8:
- 954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in
- 955 |      let u = mmvar.instantiation.contents in
- 956 |      begin match u with
- 957 |      (* MPVar instantiation must be a head *)
- 958 |      | Some (IHead h) ->
- ...
- 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
- 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
- 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
- 979 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 995-1011, characters 8-11:
-  995 | ........begin match whnfTyp (tA, LF.id) with
-  996 |         | (Atom (loc', a, tS'), _ (* id *)) ->
-  997 |            (* meta-variable is of atomic type; tS = Nil *)
-  998 |            let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
-  999 |            (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
- ...
- 1008 |            (* let _ = lowerMMVar cD u in
- 1009 |               whnf (tM, sigma) *)
- 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
- 1011 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Sigma _|TClo _), _)
- 
- File "src/core/whnf.ml", lines 985-1012, characters 5-8:
-  985 | .....begin match u with
-  986 |      (* MMVar instantiation must be normal *)
-  987 |      | Some (INorm tM) ->
-  988 |         (* constraints associated with u must be in solved form *)
-  989 |         let tM' = cnorm (tM, t) in
- ...
- 1009 |               whnf (tM, sigma) *)
- 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
- 1011 |         end
- 1012 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 983-1012, characters 5-8:
-  983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in
-  984 |      let u = mmvar.instantiation.contents in
-  985 |      begin match u with
-  986 |      (* MMVar instantiation must be normal *)
-  987 |      | Some (INorm tM) ->
- ...
- 1009 |               whnf (tM, sigma) *)
- 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
- 1011 |         end
- 1012 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 1041-1053, characters 8-11:
- 1041 | ........begin match whnfTyp (tA, LF.id) with
- 1042 |         | (Atom (loc', a, tS'), _ (* id *)) ->
- 1043 |            (* meta-variable is of atomic type; tS = Nil *)
- 1044 |            let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
- 1045 |            (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id)
- ...
- 1050 |             *)
- 1051 |            ignore (lowerMVar cvar);
- 1052 |            whnf (tM, sigma)
- 1053 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Sigma _|TClo _), _)
- 
- File "src/core/whnf.ml", lines 1036-1053, characters 8-11:
- 1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in
- 1037 |         (* note: we could split this case based on tA;
- 1038 |          *      this would avoid possibly building closures with id
- 1039 |          *)
- 1040 |         let r' = normSub r in
- ...
- 1050 |             *)
- 1051 |            ignore (lowerMVar cvar);
- 1052 |            whnf (tM, sigma)
- 1053 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 1023-1054, characters 5-8:
- 1023 | .....begin match u with
- 1024 |      | Some (INorm tM) ->
- 1025 |         (* constraints associated with u must be in solved form *)
- 1026 |         let r' = normSub r in
- 1027 |         let tM' =
- ...
- 1051 |            ignore (lowerMVar cvar);
- 1052 |            whnf (tM, sigma)
- 1053 |         end
- 1054 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 1073-1082, characters 5-8:
- 1073 | .....begin match LF.bvarSub i sigma with
- 1074 |      | Head (BVar j) ->
- 1075 |         ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity)
- 1076 |         , LF.id
- 1077 |         )
- 1078 |      | Head (PVar (q, s)) ->
- 1079 |         ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity)
- 1080 |         , LF.id
- 1081 |         )
- 1082 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-   FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/whnf.ml", lines 1098-1109, characters 11-14:
- 1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with
- 1099 |            | Head (BVar x) ->
- 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
- 1101 |               , LF.id
- 1102 |               )
- ...
- 1106 |               )
- 1107 |            | Undef ->
- 1108 |               Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i)
- 1109 |            end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Obj _
- 
- File "src/core/whnf.ml", lines 1096-1118, characters 8-11:
- 1096 | ........begin match cnormHead (h, t) with
- 1097 |         | BVar i ->
- 1098 |            begin match LF.bvarSub i (LF.comp r sigma) with
- 1099 |            | Head (BVar x) ->
- 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
- ...
- 1115 |         | MPVar ((q, t'), r') ->
- 1116 |            let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in
- 1117 |            (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
- 1118 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
- HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/whnf.ml", lines 1120-1127, characters 8-9:
- 1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in
- 1121 |         (* constraints associated with q must be in solved form *)
- 1122 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
- 1123 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
- 1124 |         let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in
- 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
- 1126 |         , LF.id
- 1127 |         )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 1093-1128, characters 5-8:
- 1093 | .....begin match mmvar.instantiation.contents with
- 1094 |      | Some (IHead h) ->
- 1095 |         (* constraints associated with q must be in solved form *)
- 1096 |         begin match cnormHead (h, t) with
- 1097 |         | BVar i ->
- ...
- 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
- 1126 |         , LF.id
- 1127 |         )
- 1128 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 1143-1157, characters 2-39:
- 1143 | ..function
- 1144 |   | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l)
- 1145 |   | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1)
- 1146 | 
- 1147 |   | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) ->
- ...
- 1154 |      whnfRedex (sM, (tS, LF.comp s2' s2))
- 1155 | 
- 1156 |   | ((Clo (tM, s), s1), sS) ->
- 1157 |      whnfRedex ((tM, LF.comp s s1), sS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Root (_, _, _, _), _), (App (_, _), _))
- 
- File "src/core/whnf.ml", lines 1180-1191, characters 2-15:
- 1180 | ..function
- 1181 |   | [] -> true
- 1182 |   | ({ contents = Queued _ } :: cnstrs) ->
- 1183 |       constraints_solved cnstrs
- 1184 |   | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) ->
- ...
- 1188 |   | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) ->
- 1189 |      if convHead (h1, LF.id) (h2, LF.id)
- 1190 |      then constraints_solved cnstrs
- 1191 |      else false
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- {contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_
- 
- File "src/core/whnf.ml", lines 1283-1288, characters 2-71:
- 1283 | ..match (spine1, spine2) with
- 1284 |   | ((Nil, _), (Nil, _)) -> true
- 1285 |   | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) ->
- 1286 |      conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2)
- 1287 |   | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s')
- 1288 |   | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Nil, _), (App (_, _), _))
- 
- File "src/core/whnf.ml", lines 1457-1465, characters 2-32:
- 1457 | ..match (cPsi, cPsi') with
- 1458 |   | (_, Empty) -> true
- 1459 |   | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) ->
- 1460 |      if convTyp (tA, LF.id) (tB, LF.id)
- 1461 |      then convSubsetCtx cPsi1 cPsi2
- 1462 |      else
- 1463 |        (* keep tBs around and check that tA is a subordinate of tB,
- 1464 |        i.e. anything in tA cannot influence tB *)
- 1465 |        convSubsetCtx cPsi1 cPsi'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _))
- 
- File "src/core/whnf.ml", lines 1591-1593, characters 4-76:
- 1591 | ....match mO with
- 1592 |     | CObj cPsi -> CObj (normDCtx cPsi)
- 1593 |     | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|MV _)
- 
- File "src/core/whnf.ml", lines 1604-1624, characters 2-49:
- 1604 | ..function
- 1605 |   | Comp.TypBase (loc, c, mS) ->
- 1606 |      Comp.TypBase (loc, c, normMetaSpine mS)
- 1607 |   | Comp.TypCobase (loc, c, mS) ->
- 1608 |      Comp.TypCobase (loc, c, normMetaSpine mS)
- ...
- 1621 |     Comp.TypPiBox
- 1622 |       (loc, (Decl { d with typ = typ' }), tau')
- 1623 | 
- 1624 |   | Comp.TypInd tau -> Comp.TypInd (normCTyp tau)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypPiBox (loc, DeclOpt _, _)
- 
- File "src/core/whnf.ml", lines 1640-1643, characters 2-30:
- 1640 | ..match cdecl with
- 1641 |   | Decl d ->
- 1642 |     let typ' = cnormMTyp (d.typ, t) in
- 1643 |     Decl { d with typ = typ' }
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/whnf.ml", lines 1646-1670, characters 2-60:
- 1646 | ..function
- 1647 |   | (Comp.TypBase (loc, a, mS), t) ->
- 1648 |      let mS' = cnormMetaSpine (mS, t) in
- 1649 |      Comp.TypBase (loc, a, mS')
- 1650 |   | (Comp.TypCobase (loc, a, mS), t) ->
- ...
- 1667 |   | (Comp.TypClo (tT, t'), t) ->
- 1668 |      cnormCTyp (tT, mcomp t' t)
- 1669 | 
- 1670 |   | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _), _)
- 
- File "src/core/whnf.ml", lines 1673-1675, characters 2-47:
- 1673 | ..match cdecl with
- 1674 |   | Comp.CTypDecl(n, typ, wf_t) ->
- 1675 |      Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", lines 1691-1707, characters 2-70:
- 1691 | ..function
- 1692 |   | (Comp.TypBase (loc, c, mS), t) ->
- 1693 |      let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in
- 1694 |      (Comp.TypBase (loc, c, mS'), m_id)
- 1695 |   | (Comp.TypCobase (loc, c, mS), t) ->
- ...
- 1704 | 
- 1705 |   | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t)
- 1706 | 
- 1707 |   | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _), _)
- 
- File "src/core/whnf.ml", lines 1902-1905, characters 2-74:
- 1902 | ..match cG with
- 1903 |   | Empty -> Empty
- 1904 |   | Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
- 1905 |      Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/whnf.ml", lines 1928-1930, characters 2-62:
- 1928 | ..function
- 1929 |   | Comp.CTypDecl (x, tau, flag) ->
- 1930 |      Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", lines 1957-1962, characters 2-41:
- 1957 | ..match cD with
- 1958 |   | Empty -> Empty
- 1959 |   | Dec (cD, Decl d) ->
- 1960 |     let typ' = normMTyp d.typ in
- 1961 |     let cD' = normMCtx cD in
- 1962 |     Dec (cD', Decl { d with typ = typ' })
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD, DeclOpt _)
- 
- File "src/core/whnf.ml", lines 1990-1993, characters 2-60:
- 1990 | ..match (tM1, tM2) with
- 1991 |   | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id)
- 1992 |   | (ISub s1, ISub s2) -> convSub s1 s2
- 1993 |   | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (INorm n1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/whnf.ml", lines 1998-2004, characters 2-25:
- 1998 | ..match (mS, mS') with
- 1999 |   | (Comp.MetaNil, Comp.MetaNil) -> true
- 2000 |   | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) ->
- 2001 |      convMetaObj mO mO'
- 2002 |      && convMetaTyp mT mT'
- 2003 |      && convMetaSpine mS mS'
- 2004 |      && Plicity.(p1 = p2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaNil, MetaApp (_, _, _, _))
- 
- File "src/core/whnf.ml", lines 2071-2075, characters 2-42:
- 2071 | ..match (d1, d2) with
- 2072 |   | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2)
- 2073 |   | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) ->
- 2074 |      Name.(x1 = x2) && Stdlib.(=) w1 w2
- 2075 |      && convCTyp (tau1, m_id) (tau2, m_id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CTypDeclOpt x1, CTypDecl (_, _, _))
- 
- File "src/core/whnf.ml", lines 2095-2105, characters 2-8:
- 2095 | ..match sA with
- 2096 |   | (Atom (loc, _, _) as tP, s) ->
- 2097 |      let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in
- 2098 |      Root (loc, MVar (u, s'), Nil, plicity)
- 2099 | 
- ...
- 2102 |        ( Name.location x
- 2103 |        , x
- 2104 |        , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
- 2105 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/whnf.ml", lines 2120-2130, characters 2-8:
- 2120 | ..match sA with
- 2121 |   | (Atom _ as tP, s) ->
- 2122 |      let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in
- 2123 |      Root (loc, MMVar ((u, m_id), s'), Nil, plicity)
- 2124 | 
- ...
- 2127 |        ( loc
- 2128 |        , x
- 2129 |        , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
- 2130 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/whnf.ml", lines 2135-2141, characters 2-42:
- 2135 | ..match tM with
- 2136 |   | Lam (_, _, tM) -> closed (tM, LF.dot1 s)
- 2137 |   | Root (_, h, tS, _) ->
- 2138 |      closedHead h
- 2139 |      && closedSpine (tS, s)
- 2140 |   | LFHole _ -> false
- 2141 |   | Tuple (_, tup) -> closedTuple (tup, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Clo _
- 
- File "src/core/whnf.ml", lines 2166-2174, characters 2-28:
- 2166 | ..function
- 2167 |   | EmptySub -> true
- 2168 |   | Undefs -> true
- 2169 |   | SVar (_, _, sigma) -> closedSub sigma
- 2170 |   | Shift _ -> true
- 2171 |   | Dot (ft, s) -> closedFront ft && closedSub s
- 2172 |   | MSVar (_, ((v, t), s)) ->
- 2173 |      (* the case for MMVar doesn't also check the substitution -je *)
- 2174 |      is_mmvar_instantiated v.....................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- FSVar (_, _)
- 
- File "src/core/whnf.ml", lines 2185-2190, characters 2-40:
- 2185 | ..match tA with
- 2186 |   | Atom (_, _, tS) -> closedSpine (tS, s)
- 2187 |   | PiTyp ((t_dec, _, _), tA) ->
- 2188 |      closedDecl (t_dec, s)
- 2189 |      && closedTyp (tA, LF.dot1 s)
- 2190 |   | Sigma recA -> closedTypRec (recA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/whnf.ml", lines 2208-2211, characters 5-8:
- 2208 | .....begin match mmvar.instantiation.contents with
- 2209 |      | None -> false
- 2210 |      | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta))
- 2211 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 2241-2244, characters 2-56:
- 2241 | ..function
- 2242 |   | CObj cPsi -> closedDCtx cPsi
- 2243 |   | ClObj (phat, t) ->
- 2244 |      closedDCtx (Context.hatToDCtx phat) && closedMObj t
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|MV _)
- 
- File "src/core/whnf.ml", lines 2255-2264, characters 2-37:
- 2255 | ..function
- 2256 |   | Comp.TypBase (_, _, mS) -> closedMetaSpine mS
- 2257 |   | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS
- 2258 |   | Comp.TypBox (_, cT) -> closedMetaTyp cT
- 2259 |   | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2
- 2260 |   | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs
- 2261 |   | Comp.TypPiBox (_, ctyp_decl, cT) ->
- 2262 |       closedCTyp cT && closedDecl ctyp_decl
- 2263 |   | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *)
- 2264 |   | Comp.TypInd tau -> closedCTyp tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDef (_, _, _)
- 
- File "src/core/whnf.ml", line 2406, characters 37-65:
- 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
-                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", line 2406, characters 8-36:
- 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", line 2412, characters 32-55:
- 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
-                                        ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/whnf.ml", line 2412, characters 8-31:
- 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
-                ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/whnf.ml", lines 2418-2420, characters 2-93:
- 2418 | ..function
- 2419 |   | (Atom _, _) as sA -> (cPsi, whnfTyp sA)
- 2420 |   | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Sigma _|TClo _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Apxnorm.cmo -c -impl src/core/apxnorm.ml)
- File "src/core/apxnorm.ml", lines 44-49, characters 2-33:
- 44 | ..function
- 45 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m')
- 46 |   | Apx.LF.Root (loc, h , spine) ->
- 47 |      let h' = shiftApxHead k h in
- 48 |      let spine' = shiftApxSpine k spine in
- 49 |      Apx.LF.Root(loc, h', spine')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (LFHole (_, _)|Tuple (_, _)|Ann (_, _, _))
- 
- File "src/core/apxnorm.ml", lines 70-80, characters 2-35:
- 70 | ..function
- 71 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
- 72 |   | Apx.LF.Id -> Apx.LF.Id
- 73 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
- 74 |      let h' = shiftApxHead k h in
- ...
- 77 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
- 78 |      let m' = shiftApxTerm k m in
- 79 |      let s' = shiftApxSub k s in
- 80 |      Apx.LF.Dot (Apx.LF.Obj m', s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (SVar (_, _)|FSVar (_, _))
- 
- File "src/core/apxnorm.ml", lines 126-128, characters 4-49:
- 126 | ....match (l_delta, t) with
- 127 |     | (0, t) -> t
- 128 |     | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1, MShift _)
- 
- File "src/core/apxnorm.ml", lines 134-151, characters 6-36:
- 134 | ......match Substitution.LF.applyMSub offset t with
- 135 |       | Int.LF.MV u -> Apx.LF.Offset u
- 136 |       | Int.LF.ClObj (_, clobj) ->
- 137 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
- 138 |          dprintf
- ...
- 148 |            end;
- 149 |          let t' = drop t l_delta in
- 150 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
- 151 |          Apx.LF.MInst (clobj, mtyp')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|CObj _)
- 
- File "src/core/apxnorm.ml", lines 267-276, characters 7-10:
- 267 | .......begin match Substitution.LF.applyMSub offset t with
- 268 |        | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) ->
- 269 |           Apx.LF.CtxVar (Apx.LF.CtxOffset psi0)
- 270 |        | Int.LF.CObj Int.LF.Null ->
- 271 |           Apx.LF.Null
- 272 |        | Int.LF.CObj (Int.LF.DDec _) ->
- 273 |           raise (Error (loc, CtxOverGeneral))
- 274 |        (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *)
- 275 |        | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset')
- 276 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CObj (CtxVar (CtxName _|CInst _))
- 
- File "src/core/apxnorm.ml", lines 288-355, characters 2-27:
- 288 | ..match e with
- 289 |   | Apx.Comp.Fn (loc, f, e) ->
- 290 |      Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt)
- 291 |   | Apx.Comp.Fun (loc, fbr) ->
- 292 |      Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt)
- ...
- 352 | 
- 353 |   | Apx.Comp.Var _
- 354 |     | Apx.Comp.DataConst _
- 355 |     | Apx.Comp.Const _ -> e
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ann (_, _, _)
- 
- File "src/core/apxnorm.ml", lines 388-392, characters 4-63:
- 388 | ....function
- 389 |     | Apx.LF.Empty -> cD''
- 390 |     | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) ->
- 391 |        let cD1'' = append_mctx cD'' delta2' in
- 392 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity })
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (delta2', DeclOpt _)
- 
- File "src/core/apxnorm.ml", lines 421-431, characters 2-27:
- 421 | ..function
- 422 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
- 423 | 
- 424 |   | Apx.LF.Root (_, h, s) ->
- 425 |      let fMVs' = collectApxHead fMVs h in
- ...
- 428 |   | Apx.LF.Tuple (_, tuple) ->
- 429 |      collectApxTuple fMVs tuple
- 430 | 
- 431 |   | Apx.LF.LFHole _ -> fMVs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ann (_, _, _)
- 
- File "src/core/apxnorm.ml", line 502, characters 27-50:
- 502 | and collectApxTypDecl fMVs (Apx.LF.TypDecl (_, a))=
-                                  ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/apxnorm.ml", lines 530-538, characters 2-44:
- 530 | ..function
- 531 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
- 532 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
- 533 |      let fMVs' = collectApxDCtx fMVs c_psi in
- 534 |      collectApxTyp fMVs' a
- 535 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
- 536 |      let fMVs' = collectApxDCtx fMVs c_psi in
- 537 |      collectApxDCtx fMVs' c_phi
- 538 |   | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt _
- 
- File "src/core/apxnorm.ml", lines 556-563, characters 2-31:
- 556 | ..function
- 557 |   | Apx.LF.Atom (loc, c, tS) ->
- 558 |      collectApxSpine fMVd tS
- 559 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) ->
- 560 |      let fMVd1 = collectApxTyp fMVd tA in
- 561 |      collectApxTyp fMVd1 tB
- 562 |   | Apx.LF.Sigma trec ->
- 563 |      collectApxTypRec fMVd trec
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/apxnorm.ml", lines 573-581, characters 2-45:
- 573 | ..function
- 574 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
- 575 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 576 |      collectApxDCtx fMVd1 cPhi
- 577 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
- 578 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
- 579 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 580 |      collectApxTyp fMVd1 tA
- 581 |   | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt _
- 
- File "src/core/apxnorm.ml", lines 584-603, characters 2-32:
- 584 | ..function
- 585 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
- 586 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
- 587 |      collectApxCompTyp fMVd1 tau2
- 588 |   | Apx.Comp.TypCross (_, taus) ->
- ...
- 600 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 601 |      collectApxDCtx fMVd1 cPhi
- 602 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
- 603 |      collectApxMetaSpine fMVd mS
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypBox (_, (_, CTyp _))
- 
- File "src/core/apxnorm.ml", lines 606-618, characters 2-32:
- 606 | ..function
- 607 |   | Apx.Comp.PatMetaObj (loc, mO) ->
- 608 |      collectApxMetaObj fMVd mO
- 609 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
- 610 |      collectApxPatSpine fMVd pat_spine
- ...
- 615 |      |> List.fold_left collectApxPattern fMVd
- 616 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
- 617 |      let fMVd1 = collectApxCompTyp fMVd tau in
- 618 |      collectApxPattern fMVd1 pat
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatFVar (_, _)
- 
- File "src/core/apxnorm.ml", lines 836-886, characters 2-33:
- 836 | ..function
- 837 |   | Apx.Comp.Fn (loc, f, e) ->
- 838 |      Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e)
- 839 | 
- 840 |   | Apx.Comp.Fun (loc, fbr) ->
- ...
- 883 | 
- 884 |   | Apx.Comp.Var _
- 885 |     | Apx.Comp.DataConst _
- 886 |     | Apx.Comp.Const _ as  i -> i
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ann (_, _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Abstract.cmo -c -impl src/core/abstract.ml)
- File "src/core/abstract.ml", lines 253-257, characters 4-47:
- 253 | ....function
- 254 |     | I.Atom _ -> (k, tS)
- 255 |     | I.PiTyp (_, tA') ->
- 256 |        let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in
- 257 |        etaExpSpine (k + 1) (I.App (tN, tS)) tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/abstract.ml", lines 260-263, characters 4-49:
- 260 | ....match tA with
- 261 |     | I.Atom _ -> tM
- 262 |     | I.PiTyp ((I.TypDecl (x, _), _, _), tA') ->
- 263 |        I.Lam (loc, x, etaExpPrefix loc (tM, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/abstract.ml", lines 267-269, characters 4-19:
- 267 | ....match h with
- 268 |     | I.BVar x -> I.BVar (x + k - 1)
- 269 |     | I.FVar _ -> h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/abstract.ml", lines 317-332, characters 2-17:
- 317 | ..function
- 318 |   | I.Empty -> I.Empty
- 319 | 
- 320 |   | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) ->
- 321 |      begin match raiseType cPsi tA with
- ...
- 329 |      I.Dec (ctxToCtx cQ', I.TypDecl (x, tA))
- 330 | 
- 331 |   | I.Dec (cQ', FDecl (_, Impure)) ->
- 332 |      ctxToCtx cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec
-   (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
- 
- File "src/core/abstract.ml", lines 336-355, characters 2-20:
- 336 | ..function
- 337 |   | I.Empty -> I.Empty
- 338 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
- 339 |      let plicity' = f plicity in
- 340 |      let cQ'' = ctxToMCtx f cQ' in
- ...
- 352 |   | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))->
- 353 |      Error.raise_violation "Free variables in computation-level reconstruction."
- 354 |   | I.Dec (cQ', FDecl (_, Impure)) ->
- 355 |      ctxToMCtx f cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 358-365, characters 2-76:
- 358 | ..function
- 359 |   | I.Empty -> I.Empty
- 360 |   | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) ->
- 361 |      let cQ'' = mctxToCtx cQ' in
- 362 |      I.Dec (cQ'', CtxV (x, w, plicity, inductivity))
- 363 |   | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) ->
- 364 |      let cQ'' = mctxToCtx cQ' in
- 365 |      I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cQ', DeclOpt _)
- 
- File "src/core/abstract.ml", lines 368-384, characters 2-32:
- 368 | ..function
- 369 |   | I.Empty -> I.Empty
- 370 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) ->
- 371 |      let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in
- 372 |      I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive })
- ...
- 381 |      I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity })
- 382 | 
- 383 |   | I.Dec (cQ', FDecl (_, Impure)) ->
- 384 |      ctxToMCtx_pattern names cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (FV _, Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 409-421, characters 2-35:
- 409 | ..function
- 410 |   | (I.Lam (loc, x, tM), s) ->
- 411 |      let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in
- 412 |      (cQ', I.Lam (loc, x, tM'))
- 413 |   | (I.Tuple (loc, tuple), s) ->
- ...
- 418 |      let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in
- 419 |      (cQ'', I.Root (loc, h', tS', plicity))
- 420 |   | (I.LFHole (loc, id, name), s) ->
- 421 |      (cQ, I.LFHole (loc, id, name))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _, _)
- 
- File "src/core/abstract.ml", lines 481-485, characters 7-49:
- 481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in
- 482 |        let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in
- 483 |        if !pat_flag
- 484 |        then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive)
- 485 |        else MetaTyp (mtyp', plicity, inductivity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, DeclOpt { _ })
- 
- File "src/core/abstract.ml", lines 512-517, characters 10-11:
- 512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) =
- 513 |             addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity))
- 514 |           in
- 515 |           ( cQ'
- 516 |           , I.{ v with typ; plicity; inductivity }
- 517 |           )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cQ', LFTyp _)
- 
- File "src/core/abstract.ml", lines 615-652, characters 2-26:
- 615 | ..function
- 616 |   | (I.BVar _ as head, _)
- 617 |     | (I.Const _ as head, _) -> (cQ, head)
- 618 | 
- 619 |   | (I.FVar name, _) ->
- ...
- 649 | 
- 650 |   | (I.Proj (head, j), s) ->
- 651 |      let (cQ', h') = collectHead k cQ phat loc (head, s) in
- 652 |      (cQ', I.Proj (h', j))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)
- 
- File "src/core/abstract.ml", lines 656-671, characters 2-27:
- 656 | ..function
- 657 |   | (I.Atom (loc, a, tS), s) ->
- 658 |      let (cQ', tS') = collectSpine p cQ phat (tS, s) in
- 659 |      (cQ', I.Atom (loc, a, tS'))
- 660 | 
- ...
- 668 | 
- 669 |   | (I.Sigma typRec, s) ->
- 670 |      let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in
- 671 |      (cQ', I.Sigma typRec')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 686-691, characters 2-66:
- 686 | ..function
- 687 |   | (I.Typ, _) -> (cQ, I.Typ)
- 688 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
- 689 |      let (cQ', tA') = collectTyp p cQ phat (tA, s) in
- 690 |      let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in
- 691 |      (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", line 759, characters 22-32:
- 759 | let collectCDecl p cQ (I.Decl d) =
-                             ^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/abstract.ml", lines 784-790, characters 2-8:
- 784 | ..function
- 785 |   | (I.Typ, _) -> I.Typ
- 786 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
- 787 |      I.PiKind
- 788 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
- 789 |        , abstractKind cQ (offset + 1) (tK, LF.dot1 s)
- 790 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 795-803, characters 2-8:
- 795 | ..function
- 796 |   | (I.Atom (loc, a, tS), s (* id *)) ->
- 797 |      I.Atom (loc, a, abstractSpine cQ offset (tS, s))
- 798 | 
- 799 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
- 800 |      I.PiTyp
- 801 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
- 802 |        , abstractTyp cQ (offset + 1) (tB, LF.dot1 s)
- 803 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 818-843, characters 2-8:
- 818 | ..function
- 819 |   | (I.Lam (loc, x, tM), s) ->
- 820 |      I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s))
- 821 | 
- 822 |   | ( I.(Root
- ...
- 840 |        , abstractHead cQ offset tH
- 841 |        , abstractSpine cQ offset (tS, s)
- 842 |        , plicity
- 843 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _)
- 
- File "src/core/abstract.ml", lines 846-851, characters 2-59:
- 846 | ..function
- 847 |   | I.BVar _ as tH -> tH
- 848 |   | I.Const _ as tH -> tH
- 849 |   | I.FVar n -> I.BVar (index_of cQ (FV n) + offset)
- 850 |   | I.AnnH _ ->
- 851 |      Error.raise_not_implemented "[abstractHead] AnnH case"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)|
- HMClo (_, _))
- 
- File "src/core/abstract.ml", lines 855-869, characters 2-85:
- 855 | ..match (s, cPsi) with
- 856 |   | (I.Shift _, I.Null) -> tS
- 857 |   | (I.Shift k, I.DDec _) ->
- 858 |      subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS
- 859 | 
- ...
- 866 |     (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *)
- 867 | 
- 868 |   | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) ->
- 869 |      subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Shift _, CtxVar _)
- 
- File "src/core/abstract.ml", lines 880-894, characters 2-48:
- 880 | ..function
- 881 |   | I.Empty -> I.Empty
- 882 |   | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ
- 883 |   | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) ->
- 884 |      let cQ' = abstractCtx cQ in
- ...
- 891 |   | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) ->
- 892 |      let cQ' = abstractCtx cQ in
- 893 |      let tA' = abstractTyp cQ 0 (tA, LF.id) in
- 894 |      I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA')))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec
-   (_,
-   FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
- 
- File "src/core/abstract.ml", lines 900-906, characters 2-39:
- 900 | ..match cPsi with
- 901 |   | I.Null -> I.Null
- 902 |   | I.CtxVar psi -> cPsi
- 903 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
- 904 |      let cPsi' = abstractDctx cQ cPsi (l - 1) in
- 905 |      let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in
- 906 |      I.DDec (cPsi', I.TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/abstract.ml", lines 930-940, characters 2-20:
- 930 | ..function
- 931 |   | (I.Atom (loc, a, tS), s (* id *)) ->
- 932 |      I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s))
- 933 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
- 934 |      I.PiTyp
- ...
- 937 |        )
- 938 |   | (I.Sigma typRec, s) ->
- 939 |      let typRec' = abstractMVarTypRec cQ offset (typRec, s) in
- 940 |      I.Sigma typRec'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 954-962, characters 2-29:
- 954 | ..function
- 955 |   | (I.Lam (loc, x, tM), s) ->
- 956 |      I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s))
- 957 |   | (I.Tuple (loc, tuple), s) ->
- 958 |      I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s))
- 959 |   | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) ->
- 960 |      I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity)
- 961 |   | (I.LFHole (loc, id, name), s) ->
- 962 |      I.LFHole (loc, id, name)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _, _)
- 
- File "src/core/abstract.ml", lines 1000-1036, characters 2-46:
- 1000 | ..function
- 1001 |   | I.BVar _ as mH -> mH
- 1002 |   | I.Const _ as mH -> mH
- 1003 | 
- 1004 |   | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns)
- ...
- 1033 |      Error.raise_not_implemented "[abstractMVarHead] AnnH case"
- 1034 | 
- 1035 |   | I.Proj (head, k) ->
- 1036 |      I.Proj (abstractMVarHead cQ loff head, k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (FVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/abstract.ml", lines 1091-1097, characters 2-39:
- 1091 | ..function
- 1092 |   | I.Null -> I.Null
- 1093 |   | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv)
- 1094 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
- 1095 |      let cPsi' = abstractMVarDctx cQ loff cPsi in
- 1096 |      let tA' = abstractMVarTyp cQ loff (tA, LF.id) in
- 1097 |      I.DDec (cPsi', I.TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/abstract.ml", line 1110, characters 30-40:
- 1110 | and abstractMVarCdecl cQ loff (I.Decl d) =
-                                      ^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/abstract.ml", lines 1121-1138, characters 2-58:
- 1121 | ..match cQ with
- 1122 |   | I.Empty -> I.Empty
- 1123 |   | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
- 1124 |      let cQ' = abstractMVarCtx cQ (l - 1) in
- 1125 |      I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity))))
- ...
- 1135 |       * is it ever hit on correct code?  -jd 2009-02-12
- 1136 |       * No. This case should not occur in correct code - bp
- 1137 |       *)
- 1138 |      raise (Error (Name.location name, UnknownIdentifier))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (MMV _, Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 1150-1154, characters 2-20:
- 1150 | ..function
- 1151 |   | I.ClObj (phat, tM) ->
- 1152 |      I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM)
- 1153 |   | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi)
- 1154 |   | I.MV k -> I.MV k
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MUndef
- 
- File "src/core/abstract.ml", lines 1167-1179, characters 4-21:
- 1167 | ....function
- 1168 |     | I.Empty -> I.Empty
- 1169 |     | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
- 1170 |        let cQ'' = ctxToMCtx' cQ' in
- 1171 |        I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity })
- ...
- 1176 |        let cQ'' = ctxToMCtx' cQ' in
- 1177 |        I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity })
- 1178 |     | I.Dec (cQ', FDecl (_, Impure)) ->
- 1179 |        ctxToMCtx' cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (FV _, Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 1208-1217, characters 2-8:
- 1208 | ..match cQ with
- 1209 |   | Int.LF.Empty -> (tA', 0)
- 1210 |   | Int.LF.Dec (_, FDecl (s, _)) ->
- 1211 |      let cQ' = abstractCtx cQ in
- 1212 |      let tA2 = abstractTyp cQ' 0 (tA', LF.id) in
- 1213 |      let cPsi = ctxToCtx cQ' in
- 1214 |      begin match raiseType' cPsi tA2 with
- 1215 |      | (None, tA3) -> (tA3, length' cPsi)
- 1216 |      | _ -> raise (Error (Location.ghost, LeftoverVars))
- 1217 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, CtxV _)
- 
- File "src/core/abstract.ml", lines 1246-1287, characters 2-28:
- 1246 | ..function
- 1247 |   | Comp.TypBase (loc, a, ms) ->
- 1248 |      let (cQ', ms') = collect_meta_spine p cQ ms in
- 1249 |      (cQ', Comp.TypBase (loc, a, ms'))
- 1250 |   | Comp.TypCobase (loc, a, ms) ->
- ...
- 1284 | 
- 1285 |   | Comp.TypInd tau ->
- 1286 |      let (cQ', tau') = collectCompTyp p cQ tau in
- 1287 |      (cQ', Comp.TypInd tau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDef (_, _, _)
- 
- File "src/core/abstract.ml", lines 1291-1296, characters 2-54:
- 1291 | ..function
- 1292 |   | I.Empty -> (cQ, I.Empty)
- 1293 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
- 1294 |      let (cQ1, cG') = collectGctx cQ cG in
- 1295 |      let (cQ2, tau') = collectCompTyp 0 cQ1 tau in
- 1296 |      (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/abstract.ml", lines 1463-1489, characters 2-52:
- 1463 | ..function
- 1464 |   | Comp.TypBase (loc, a, cS) ->
- 1465 |      let cS' = abstractMVarMetaSpine cQ offset cS in
- 1466 |      Comp.TypBase (loc, a, cS')
- 1467 |   | Comp.TypCobase (loc, a, cS) ->
- ...
- 1486 |        )
- 1487 | 
- 1488 |   | Comp.TypInd tau ->
- 1489 |      Comp.TypInd (abstractMVarCompTyp cQ offset tau)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _)|TypClo (_, _))
- 
- File "src/core/abstract.ml", lines 1492-1497, characters 2-47:
- 1492 | ..function
- 1493 |   | I.Empty -> I.Empty
- 1494 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
- 1495 |      let cG' = abstractMVarGctx cQ offset cG in
- 1496 |      let tau' = abstractMVarCompTyp cQ offset tau in
- 1497 |      I.Dec (cG', Comp.CTypDecl (x, tau', flag))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/abstract.ml", lines 1698-1700, characters 4-48:
- 1698 | ....match (p, cD) with
- 1699 |     | (0, _) -> cD
- 1700 |     | (_, I.Dec (cD', decl)) -> drop (p - 1) cD'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1, Empty)
- 
- File "src/core/abstract.ml", lines 1722-1724, characters 8-24:
- 1722 | ........let I.Dec (cD1', decl) = cD1 in
- 1723 |         let cD = subtract cD1' cD2 in
- 1724 |         I.Dec (cD, decl)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/abstract.ml", lines 1785-1789, characters 2-24:
- 1785 | ..function
- 1786 |   | I.Null -> cPsi1
- 1787 |   | I.DDec (cPsi2', dec) ->
- 1788 |      let cPsi1' = appDCtx cPsi1 cPsi2' in
- 1789 |      I.Dec (cPsi1', dec)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Unify.cmo -c -impl src/core/unify.ml)
- File "src/core/unify.ml", line 163, characters 30-55:
- 163 |   let genMMVarstr loc cD cPsi (Atom (_, a, _) as tP, s) =
-                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)
- 
- File "src/core/unify.ml", lines 575-585, characters 6-9:
- 575 | ......begin match applyMSub k ms with
- 576 |       | MUndef ->
- 577 |          (* Psi1, x:tA |- s' <= Psi2 *)
- 578 |          (Whnf.mcomp mt' (MShift 1), cD2)
- 579 | 
- ...
- 582 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
- 583 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
- 584 |          (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity }))
- 585 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 566-590, characters 4-38:
- 566 | ....match (t, cD1) with
- 567 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
- 568 | 
- 569 |    | (MShift k, Dec _) ->
- 570 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
- ...
- 587 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
- 588 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
- 589 |       (* cD1 |- mt' <= cD2 *)
- 590 |       (Whnf.mcomp mt' (MShift 1), cD2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MDot (MV k, mt), Dec (cD1, DeclOpt _))
- 
- File "src/core/unify.ml", lines 810-819, characters 7-10:
- 810 | .......begin match applyMSub u ms with
- 811 |        | MV v ->
- 812 |           Root
- 813 |             ( loc
- 814 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
- 815 |             , Nil
- 816 |             , plicity
- 817 |             )
- 818 |        | MUndef -> raise NotInvertible
- 819 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 822-830, characters 7-46:
- 822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
- 823 |        let d = Context.length cD0 - Context.length cD_d in
- 824 |        let cPsi1 =
- 825 |          if d = 0
- 826 |          then cPsi1
- 827 |          else Whnf.cnormDCtx (cPsi1, MShift d)
- 828 |        in
- 829 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
- 830 |        Root (loc, FMVar (u, s'), Nil, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=CTyp _; _ })
- 
- File "src/core/unify.ml", lines 833-841, characters 7-46:
- 833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in
- 834 |        let d = Context.length cD0 - Context.length cD_d in
- 835 |        let cPsi1 =
- 836 |          if d = 0
- 837 |          then cPsi1
- 838 |          else Whnf.cnormDCtx (cPsi1, MShift d)
- 839 |        in
- 840 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
- 841 |        Root (loc, FPVar (p, s'), Nil, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=CTyp _; _ })
- 
- File "src/core/unify.ml", lines 846-850, characters 7-10:
- 846 | .......begin match applyMSub p ms with
- 847 |        | MV q ->
- 848 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
- 849 |        | MUndef -> raise NotInvertible
- 850 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 747-862, characters 4-62:
- 747 | ....match sM with
- 748 |     | (Lam (loc, x, tM), s) ->
- 749 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
- 750 | 
- 751 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
- ...
- 859 |          )
- 860 | 
- 861 |     | (Tuple (loc, trec), s) ->
- 862 |        Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((LFHole (_, _, _)|Clo _), _)
- 
- File "src/core/unify.ml", lines 888-891, characters 7-10:
- 888 | .......begin match bvarSub k ssubst with
- 889 |        | Undef -> raise NotInvertible
- 890 |        | Head (BVar k') -> BVar k'
- 891 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 894-897, characters 7-10:
- 894 | .......begin match bvarSub k ssubst with
- 895 |        | Head (BVar _ as head) -> head
- 896 |        | Undef -> raise NotInvertible
- 897 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 932-936, characters 7-10:
- 932 | .......begin match applyMSub u ms with
- 933 |        | MV v ->
- 934 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
- 935 |        | MUndef -> raise NotInvertible
- 936 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 940-944, characters 7-10:
- 940 | .......begin match applyMSub p ms with
- 941 |        | MV q ->
- 942 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
- 943 |        | MUndef -> raise NotInvertible
- 944 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 948-952, characters 7-10:
- 948 | .......begin match applyMSub p ms with
- 949 |        | MV q ->
- 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
- 951 |        | MUndef -> raise NotInvertible
- 952 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 886-952, characters 4-10:
- 886 | ....match head with
- 887 |     | BVar k ->
- 888 |        begin match bvarSub k ssubst with
- 889 |        | Undef -> raise NotInvertible
- 890 |        | Head (BVar k') -> BVar k'
- ...
- 949 |        | MV q ->
- 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
- 951 |        | MUndef -> raise NotInvertible
- 952 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Proj
-   ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-    FPVar _|HClo (_, _, _)|HMClo (_, _)),
-   _)
- 
- File "src/core/unify.ml", lines 956-959, characters 4-46:
- 956 | ....function
- 957 |     | Undefs -> raise (Failure "Variable dependency")
- 958 |     | Shift k -> Shift (n + k)
- 959 |     | Dot (ft, ss') -> shiftInvSub (n - 1) ss'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/unify.ml", lines 981-985, characters 9-40:
- 981 | .........match applyMSub s ms with
- 982 |          | MV v ->
- 983 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
- 984 |             (v, cPhi, cPsi')
- 985 |          | MUndef -> raise NotInvertible
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1024-1030, characters 7-10:
- 1024 | .......begin match applyMSub s ms with
- 1025 |        | MV v ->
- 1026 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
- 1027 |           (* applyMSub to ctx_offset ? *)
- 1028 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
- 1029 |        | MUndef -> raise NotInvertible
- 1030 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1033-1034, characters 7-64:
- 1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in
- 1034 |        FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=ClTyp (STyp (Ren, _), _); _ })
- 
- File "src/core/unify.ml", lines 1063-1069, characters 4-74:
- 1063 | ....match (mt, cD1) with
- 1064 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
- 1065 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) ->
- 1066 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
- 1067 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
- 1068 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
- 1069 |        MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MDot (mobj, mt'), Empty)
- 
- File "src/core/unify.ml", lines 1072-1080, characters 4-90:
- 1072 | ....match mobj with
- 1073 |     | MV n ->
- 1074 |        begin match applyMSub n ms with
- 1075 |        | MUndef -> raise NotInvertible
- 1076 |        | ft -> ft
- 1077 |        end
- 1078 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
- 1079 |     | CObj cPsi -> Error.raise_violation "Not implemented"
- 1080 |     | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/unify.ml", lines 1152-1154, characters 7-80:
- 1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
- 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
- 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Shift 1
- 
- File "src/core/unify.ml", lines 1124-1154, characters 4-80:
- 1124 | ....match sM with
- 1125 |     | (LFHole _ as n, _) -> n
- 1126 |     | (Lam (loc, x, tM), s) ->
- 1127 |        dprintf
- 1128 |          begin fun p ->
- ...
- 1151 |     | (Root (loc, head, tS, plicity), s) ->
- 1152 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
- 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
- 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _, _)
- 
- File "src/core/unify.ml", lines 1173-1184, characters 4-9:
- 1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
- 1174 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
- 1175 |     then raise (Failure "Variable occurrence")
- 1176 |     else
- 1177 |       begin
- ...
- 1181 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
- 1182 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
- 1183 |         ((v, mr), r)
- 1184 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1187-1199, characters 4-37:
- 1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
- 1188 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
- 1189 |     then raise (Failure "Variable occurrence")
- 1190 |     else
- 1191 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
- ...
- 1196 |         , Root (loc, MVar (v, idsub), Nil, Plicity.explicit)
- 1197 |         , mmvar.constraints.contents
- 1198 |         );
- 1199 |       (v, comp (comp idsub t) ssubst)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 1202-1211, characters 3-10:
- 1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
- 1203 |    let d = Context.length cD0 - Context.length cD_d in
- 1204 |    let cPsi1 =
- 1205 |      if d = 0
- 1206 |      then cPsi1
- 1207 |      else Whnf.cnormDCtx (cPsi1, MShift d)
- 1208 |    in
- 1209 |    let t' = simplifySub cD0 cPsi t in
- 1210 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
- 1211 |    (u, s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=CTyp _; _ })
- 
- File "src/core/unify.ml", lines 1216-1219, characters 7-14:
- 1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
- 1217 |        let t' = simplifySub cD0 cPsi t in
- 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
- 1219 |        (v, s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, CTyp _)
- 
- File "src/core/unify.ml", lines 1214-1220, characters 4-63:
- 1214 | ....match applyMSub u ms with
- 1215 |     | MV v ->
- 1216 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
- 1217 |        let t' = simplifySub cD0 cPsi t in
- 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
- 1219 |        (v, s')
- 1220 |     | MUndef -> raise (Failure "[Prune] Bound MVar dependency")
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1246-1254, characters 7-10:
- 1246 | .......begin match bvarSub k ssubst with
- 1247 |        | Undef ->
- 1248 |           let s =
- 1249 |             Format.asprintf "[Prune] Bound variable dependency : head = %a"
- 1250 |               (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head
- 1251 |           in
- 1252 |           raise (Failure s)
- 1253 |        | Head (BVar _ as h') -> h'
- 1254 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1223-1258, characters 4-11:
- 1223 | ....match head with
- 1224 |     | MMVar ((i, mt), t) ->
- 1225 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
- 1226 |     | MVar (Inst i, t) ->
- 1227 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
- ...
- 1255 | 
- 1256 |     | Const _
- 1257 |       | FVar _ ->
- 1258 |        head
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (AnnH (_, _)|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1293-1317, characters 4-57:
- 1293 | ....match (s, cPsi1) with
- 1294 |     | (EmptySub, Null) -> EmptySub
- 1295 |     | (Undefs, Null) -> EmptySub
- 1296 |     | (Shift n, DDec _) ->
- 1297 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
- ...
- 1314 | 
- 1315 |     | (Dot _, _)
- 1316 |       | (EmptySub, _)
- 1317 |       -> Error.raise_violation "Badly typed substitution"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undefs, (CtxVar _|DDec (_, _)))
- 
- File "src/core/unify.ml", lines 1321-1323, characters 4-70:
- 1321 | ....match ft with
- 1322 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
- 1323 |     | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/unify.ml", lines 1354-1357, characters 9-59:
- 1354 | .........function
- 1355 |          | Undefs -> (EmptySub, Null)
- 1356 |          | Shift k -> (id, CtxVar psi)
- 1357 |          | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/unify.ml", lines 1370-1374, characters 9-40:
- 1370 | .........match applyMSub s mt with
- 1371 |          | MV v ->
- 1372 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
- 1373 |             cPsi'
- 1374 |          | MUndef -> raise NotInvertible
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1387-1390, characters 7-18:
- 1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
- 1388 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
- 1389 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
- 1390 |        (id, cPsi1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|PTyp _), _)
- 
- File "src/core/unify.ml", lines 1398-1400, characters 7-18:
- 1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in
- 1399 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
- 1400 |        (id, cPsi1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
- 
- File "src/core/unify.ml", lines 1407-1426, characters 7-10:
- 1407 | .......begin match bvarSub n ssubst with
- 1408 |        | Undef ->
- 1409 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
- 1410 |           (comp s1' shift, cPsi1')
- 1411 | 
- ...
- 1423 |           in
- 1424 |           (* cPsi1' |- s1_i <= cPsi' *)
- 1425 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
- 1426 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1431-1448, characters 7-10:
- 1431 | .......begin match bvarSub n ssubst with
- 1432 |        | Undef ->
- 1433 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
- 1434 |           (comp s1' shift, cPsi1')
- 1435 | 
- ...
- 1445 |           in
- 1446 |           (* cPsi1' |- s1_i <= cPsi' *)
- 1447 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
- 1448 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1343-1471, characters 4-31:
- 1343 | ....match (s, cPsi1) with
- 1344 |     | (Shift n, DDec _) ->
- 1345 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
- 1346 |     | (Shift _, Null)
- 1347 |       | (EmptySub, Null)
- ...
- 1468 | 
- 1469 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
- 1470 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
- 1471 |        (comp s1' shift, cPsi1')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub, (CtxVar _|DDec (_, _)))
- 
- File "src/core/unify.ml", lines 1474-1487, characters 4-21:
- 1474 | ....match sA with
- 1475 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
- 1476 |     | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) ->
- 1477 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
- 1478 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
- ...
- 1484 | 
- 1485 |     | (Sigma typ_rec, s) ->
- 1486 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
- 1487 |        Sigma typ_rec'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TClo _, _)
- 
- File "src/core/unify.ml", lines 1504-1507, characters 7-10:
- 1504 | .......begin match applyMSub psi ms with
- 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
- 1506 |        | MV k -> CtxVar (CtxOffset k)
- 1507 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|ClObj (_, _))
- 
- File "src/core/unify.ml", lines 1510-1514, characters 7-10:
- 1510 | .......begin match mmvar.instantiation.contents with
- 1511 |        | None -> cPsi
- 1512 |        | Some (ICtx cPhi) ->
- 1513 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
- 1514 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/unify.ml", lines 1501-1529, characters 4-37:
- 1501 | ....match cPsi with
- 1502 |     | Null -> Null
- 1503 |     | CtxVar (CtxOffset psi) ->
- 1504 |        begin match applyMSub psi ms with
- 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
- ...
- 1526 |            (ms, Substitution.LF.id)
- 1527 |            rOccur
- 1528 |        in
- 1529 |        DDec (cPsi', TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/unify.ml", lines 1574-1583, characters 7-10:
- 1574 | .......begin match bvarSub k ssubst with
- 1575 |        | Undef ->
- 1576 |           (* Psi1, x:tA |- s' <= Psi2 *)
- 1577 |           (comp s' shift, cPsi2)
- 1578 | 
- 1579 |        | Head (BVar _) ->
- 1580 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
- 1581 |                   A = [s']([s']^-1 A) *)
- 1582 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
- 1583 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1590-1599, characters 7-10:
- 1590 | .......begin match bvarSub k ssubst with
- 1591 |        | Undef ->
- 1592 |           (* Psi1, x:tA |- s' <= Psi2 *)
- 1593 |           (comp s' shift, cPsi2)
- 1594 | 
- 1595 |        | Head (BVar _) ->
- 1596 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
- 1597 |                   A = [s']([s']^-1 A) *)
- 1598 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
- 1599 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1551-1604, characters 4-29:
- 1551 | ....match (t, cPsi1) with
- 1552 |     | (EmptySub, Null)
- 1553 |       | (Undefs, Null)
- 1554 |       | (Shift _, Null) ->
- 1555 |        (id, Null)
- ...
- 1601 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
- 1602 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
- 1603 |        (* sP1 |- s' <= cPsi2 *)
- 1604 |        (comp s' shift, cPsi2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub, (CtxVar _|DDec (_, _)))
- 
- File "src/core/unify.ml", lines 1646-1651, characters 4-56:
- 1646 | ....match (sTup1, sTup2) with
- 1647 |     | ((Last tM, s1), (Last tN, s2)) ->
- 1648 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
- 1649 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
- 1650 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
- 1651 |         unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Last tM, s1), (Cons (_, _), _))
- 
- File "src/core/unify.ml", lines 1654-1680, characters 4-9:
- 1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1655 |     if isId t1'
- 1656 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
- 1657 |     else
- 1658 |       begin
- ...
- 1677 |            (* This might actually need to add a constraint, in which case
- 1678 |            "NotInvertible" seems the wrong kind of exception... *)
- 1679 |            Error.raise_violation "Unification violation"
- 1680 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1694-1705, characters 9-35:
- 1694 | .........match Whnf.whnfTyp sA with
- 1695 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
- 1696 |             (* cPsi' |- Pi x:A.B <= typ
- 1697 |                cPsi  |- s <= cPsi'
- 1698 |                cPsi  |- tN <= [s]tA
- ...
- 1702 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
- 1703 |             LF.App (tN, tS)
- 1704 | 
- 1705 |          | (LF.Atom _, _) -> LF.Nil
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/unify.ml", lines 1683-1710, characters 4-15:
- 1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1684 |     match sM2 with
- 1685 |     | Root (loc, Const c, _, plicity) ->
- 1686 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
- 1687 |        dprintf
- ...
- 1707 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
- 1708 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
- 1709 |        Some tM1
- 1710 |     | _ -> None
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1716-1729, characters 6-32:
- 1716 | ......match Whnf.whnfTyp sA with
- 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
- 1718 |          (* cPsi' |- Pi x:A.B <= typ
- 1719 |             cPsi  |- s <= cPsi'
- 1720 |             cPsi  |- tN <= [s]tA
- ...
- 1726 |          in
- 1727 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
- 1728 |          LF.App (tN, tS)
- 1729 |       | (LF.Atom _, _) -> LF.Nil
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/unify.ml", lines 1714-1762, characters 4-15:
- 1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
- 1715 |     let rec genSpine cD1 cPsi1 sA =
- 1716 |       match Whnf.whnfTyp sA with
- 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
- 1718 |          (* cPsi' |- Pi x:A.B <= typ
- ...
- 1759 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
- 1760 |        Some tM1
- 1761 | 
- 1762 |     | _ -> None
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 1766-1769, characters 4-79:
- 1766 | ....match tm with
- 1767 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
- 1768 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
- 1769 |     | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ISub s, (MTyp _|PTyp _))
- 
- File "src/core/unify.ml", lines 1772-1796, characters 4-9:
- 1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
- 1773 |     if isId t1' && isMId mt1
- 1774 |     then
- 1775 |       begin
- 1776 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
- ...
- 1793 |         (* with | NotInvertible -> Error.raise_violation "Unification violation" *)
- 1794 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
- 1795 |            the wrong kind of exception... *)
- 1796 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1810-1882, characters 4-76:
- 1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1811 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
- 1812 |     (* cD |- mtt1 : cD0 and  cD ; cPsi |- t1' : cPsi1 *)
- 1813 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
- 1814 |     let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *)
- ...
- 1879 |       p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a"
- 1880 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
- 1881 |       end;
- 1882 |     instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1885-1918, characters 4-102:
- 1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
- 1886 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
- 1887 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
- 1888 |          then cD ; cPsi1 |- s' <= cPsi' *)
- 1889 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
- ...
- 1915 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
- 1916 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
- 1917 |      *)
- 1918 |     instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1934-1975, characters 7-12:
- 1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
- 1935 |        dprnt "(000) MVar-MVar";
- 1936 |        (* by invariant of whnf:
- 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
- 1938 |           r1 and r2 are uninstantiated  (None)
- ...
- 1972 |          begin
- 1973 |            let id = next_constraint_id () in
- 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
- 1975 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 1933-1975, characters 7-12:
- 1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
- 1934 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
- 1935 |        dprnt "(000) MVar-MVar";
- 1936 |        (* by invariant of whnf:
- 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
- ...
- 1972 |          begin
- 1973 |            let id = next_constraint_id () in
- 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
- 1975 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 2439-2452, characters 4-52:
- 2439 | ....match (spine1, spine2) with
- 2440 |     | ((Nil, _), (Nil, _)) -> ()
- 2441 | 
- 2442 |     | ((SClo (tS1, s1'), s1), sS) ->
- 2443 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
- ...
- 2449 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
- 2450 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
- 2451 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
- 2452 |        unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Nil, _), (App (_, _), _))
- 
- File "src/core/unify.ml", lines 2659-2710, characters 7-61:
- 2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
- 2660 |        if mmvar1.instantiation == mmvar2.instantiation
- 2661 |        then
- 2662 |          if Option.equal Id.cid_schema_equal schema1 schema2
- 2663 |          then
- ...
- 2707 |          Error.raise_violation
- 2708 |            "Case where both meta-substitutions associated with \
- 2709 |             context variables are not pattern substitutions \
- 2710 |             should not happen and is not implemented for now"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CTyp schema1, ClTyp (_, _))
- 
- File "src/core/unify.ml", lines 2714-2747, characters 7-61:
- 2714 | .......let CTyp s_cid = mmvar.typ in
- 2715 |        if isPatMSub theta
- 2716 |        then
- 2717 |          begin
- 2718 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
- ...
- 2744 |          Error.raise_violation
- 2745 |            "Case where both meta-substitutions associated with \
- 2746 |             context variables are not pattern substitutions \
- 2747 |             should not happen and is not implemented for now"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (_, _)
- 
- File "src/core/unify.ml", lines 2785-2786, characters 4-43:
- 2785 | ....let Decl { typ = cT; _ } = cdecl in
- 2786 |     unifyMObj cD (mO, t) (mO', t') (cT, mt)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/unify.ml", lines 2820-2832, characters 7-53:
- 2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in
- 2821 |        let mOt = Whnf.cnormMetaObj (mO, t) in
- 2822 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
- 2823 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
- 2824 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
- ...
- 2829 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
- 2830 |          end;
- 2831 |        unifyMetaTyp cD (mT, t) (mT', t');
- 2832 |        unifyMetaSpine cD (mS, t) (mS', t') (cK', mt')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ctype _
- 
- File "src/core/unify.ml", lines 2837-2840, characters 4-81:
- 2837 | ....function
- 2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MTyp tA1, (PTyp _|STyp (_, _)))
- 
- File "src/core/unify.ml", line 2836, characters 17-28:
- 2836 |   and unifyClTyp Unification cD cPsi =
-                         ^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Matching
- 
- File "src/core/unify.ml", line 2842, characters 18-29:
- 2842 |   and unifyCLFTyp Unification cD ctyp1 ctyp2 =
-                          ^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Matching
- 
- File "src/core/unify.ml", lines 2938-2941, characters 4-62:
- 2938 | ....match (itM1, itM2) with
- 2939 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
- 2940 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
- 2941 |     | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (INorm tM1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/unify.ml", lines 2950-2962, characters 7-10:
- 2950 | .......begin match !cnstr with
- 2951 |        | Queued id ->
- 2952 |           forceCnstr mflag (nextCnstr ())
- 2953 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
- 2954 |           solveConstraint cnstr;
- ...
- 2959 |           solveConstraint cnstr;
- 2960 |           unifyHead mflag cD cPsi h1 h2;
- 2961 |           forceCnstr mflag (nextCnstr ())
- 2962 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/unify.ml", lines 2994-3029, characters 7-100:
- 2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
- 2995 |        solveConstraint c;
- 2996 |        dprintf
- 2997 |          begin fun p ->
- 2998 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
- ...
- 3026 |         *)
- 3027 |        if solvedCnstrs (!globalCnstrs)
- 3028 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
- 3029 |        else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated"))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Queued _
- 
- File "src/core/unify.ml", lines 3202-3204, characters 8-68:
- 3202 | ........match (m1, m2) with
- 3203 |         | (MObj tM1, MObj tM2) ->  unify Empty cPsi (tM1, id) (tM2,id)
- 3204 |         | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MObj tM1, (PObj _|SObj _))
- 
- File "src/core/unify.ml", lines 3208-3217, characters 4-49:
- 3208 | ....match (m1, m2) with
- 3209 |     | (CObj cPsi, CObj cPhi) ->
- 3210 |        unifyDCtx1
- 3211 |          Unification
- 3212 |          Empty
- 3213 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
- 3214 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
- 3215 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
- 3216 |        (* unify_phat phat1 phat2; *)
- 3217 |        unifyClObj (Context.hatToDCtx phat1) m1 m2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CObj cPsi, (MUndef|ClObj (_, _)|MV _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Opsem.cmo -c -impl src/core/opsem.ml)
- File "src/core/opsem.ml", lines 80-83, characters 2-30:
- 80 | ..match cM' with
- 81 |   | LF.ClObj (phat, LF.MObj tM) -> (loc, cM')
- 82 |   | LF.ClObj (phat, LF.PObj h) -> (loc, cM')
- 83 |   | LF.CObj cPsi -> (loc, cM')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/opsem.ml", lines 121-137, characters 7-17:
- 121 | .......function
- 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
- 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
- 124 |             when Id.cid_comp_dest_equal cid cid' ->
- 125 |           Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *)
- ...
- 134 |           | Value v -> Value v
- 135 |           end
- 136 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) ->
- 137 |           trim br
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _)
- 
- File "src/core/opsem.ml", lines 119-142, characters 5-8:
- 119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in
- 120 |      let rec trim =
- 121 |        function
- 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
- 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
- ...
- 139 |      begin match trim fbr with
- 140 |      | FunBranch fr -> Comp.FunValue fr
- 141 |      | Value v -> v
- 142 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)|
- CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)|
- TupleValue (T (_, _, _)))
- 
- File "src/core/opsem.ml", lines 91-290, characters 2-50:
-  91 | ..match i with
-  92 |   | Comp.Const (_, cid) ->
-  93 |      dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid);
-  94 |      begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with
-  95 |      | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) ->
- ...
- 287 |      eval_branches loc vscrut branches (theta, eta)
- 288 | 
- 289 |   | Comp.Hole (_) ->
- 290 |      Error.raise_violation "Source contains holes"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MApp (_, _, (_, ClObj (_, SObj _)), _, _)
- 
- File "src/core/opsem.ml", lines 321-325, characters 2-36:
- 321 | ..match (cObj, cObj') with
- 322 |   | (LF.MObj tM, LF.MObj tM') ->
- 323 |      Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id)
- 324 |   | (LF.PObj h, LF.PObj h') ->
- 325 |      Unify.unifyH LF.Empty phat h h'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MObj tM, (PObj _|SObj _))
- 
- File "src/core/opsem.ml", lines 437-458, characters 4-10:
- 437 | ....function
- 438 |     | Comp.NilValBranch -> FunBranch (Comp.NilValBranch)
- 439 |     | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) ->
- 440 |        begin try
- 441 |            let eta' = match_pattern (v, eta) (p, theta) in
- ...
- 455 |                eval_branch brs
- 456 |             | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg);
- 457 |                                     eval_branch brs)
- 458 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Interactive.cmo -c -impl src/core/interactive.ml)
- File "src/core/interactive.ml", lines 202-213, characters 10-26:
- 202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
- 203 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
- 204 |           let k = List.length cD_tail in
- 205 |           let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in
- 206 |           let cg' =
- ...
- 210 |               , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id)
- 211 |               )
- 212 |           in
- 213 |           (cD'', cg', ms0)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/interactive.ml", line 183, characters 18-73:
- 183 | let genCGoals cD' (LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail =
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfcheck.cmo -c -impl src/core/lfcheck.ml)
- File "src/core/lfcheck.ml", lines 225-230, characters 2-19:
- 225 | ..function
- 226 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
- 227 |   | DDec (cPsi', TypDecl (n, tA)) ->
- 228 |      let s = (ctxToSub' cPhi cPsi' : sub) in
- 229 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
- 230 |      Dot (Obj u, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi', TypDeclOpt _)
- 
- File "src/core/lfcheck.ml", lines 246-330, characters 2-55:
- 246 | ..match (sM, sA) with
- 247 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *)
- 248 |      check cD
- 249 |        (DDec (cPsi, S.LF.decSub tX s2))
- 250 |        (tM, S.LF.dot1 s1)
- ...
- 327 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
- 328 |      end
- 329 |   | ((Root (loc, _, _, _), _ (* id *)), _ ) ->
- 330 |      raise (Error (loc, CheckError (cD, cPsi, sM, sA)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Clo _, _), _)
- 
- File "src/core/lfcheck.ml", lines 361-370, characters 4-23:
- 361 | ....match (tS, sA) with
- 362 |     | ((Nil, _), sP) -> sP
- 363 | 
- 364 |     | ((SClo (tS, s'), s), sA) ->
- 365 |        syn (tS, S.LF.comp s' s) sA
- 366 | 
- 367 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) ->
- 368 |        check cD cPsi (tM, s1) (tA1, s2);
- 369 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
- 370 |        syn (tS, s1) tB2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfcheck.ml", line 346, characters 16-50:
- 346 | and syn cD cPsi (Root (loc, h, tS, _), s (* id *)) =
-                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 393-394, characters 5-7:
- 393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
- 394 |      tA
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfcheck.ml", lines 400-409, characters 10-25:
- 400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
- 401 |           dprintf
- 402 |             begin fun p ->
- 403 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
- 404 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
- 405 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
- 406 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
- 407 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
- 408 |             end;
- 409 |           (recA, S.LF.id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfcheck.ml", lines 411-413, characters 10-19:
- 411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
- 412 |           checkSub loc cD cPsi s Subst cPsi';
- 413 |           (recA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 398-414, characters 7-64:
- 398 | .......match tuple_head with
- 399 |        | BVar k' ->
- 400 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
- 401 |           dprintf
- 402 |             begin fun p ->
- ...
- 411 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
- 412 |           checkSub loc cD cPsi s Subst cPsi';
- 413 |           (recA, s)
- 414 |        | FPVar (name, _) -> raise (Error (loc, LeftoverFV name))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
- HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfcheck.ml", lines 446-457, characters 5-17:
- 446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
- 447 |      dprintf
- 448 |        begin fun p ->
- 449 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
- 450 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
- ...
- 454 |          f cPsi'
- 455 |        end;
- 456 |      checkSub loc cD cPsi s Subst cPsi' ;
- 457 |      TClo (tA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 461-474, characters 5-37:
- 461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
- 462 |      dprintf
- 463 |        begin fun p ->
- 464 |        let f = P.fmt_ppr_lf_mctx P.l0 in
- 465 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
- ...
- 471 |      checkMSub loc cD t' mmvar.cD;
- 472 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
- 473 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
- 474 |      TClo (Whnf.cnormTyp (tA, t'), r)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 391-506, characters 2-41:
- 391 | ..match (head, cl) with
- 392 |   | (BVar k', _) ->
- 393 |      let TypDecl (_, tA) = ctxDec cPsi k' in
- 394 |      tA
- 395 | 
- ...
- 503 |      TClo (tA, s)
- 504 | 
- 505 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
- 506 |      raise (Error (loc, LeftoverFV name))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MVar (Inst _, _), Subst)
- (However, some guarded clause may match this value.)
- 
- File "src/core/lfcheck.ml", lines 509-528, characters 2-13:
- 509 | ..match cPsi with
- 510 |   | Null -> true (* we need to succeed because coverage should detect that
- 511 |                       it is not inhabited *)
- 512 | 
- 513 |   | CtxVar ctx_var ->
- ...
- 525 | 
- 526 |   | DDec (rest, TypDecl _) ->
- 527 |      canAppear cD rest head sA loc
- 528 |      || false...........................................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (rest, TypDeclOpt _)
- 
- File "src/core/lfcheck.ml", lines 643-655, characters 2-23:
- 643 | ..match sS1, sK with
- 644 |   | (Nil, _), sK ->
- 645 |     sK
- 646 | 
- 647 |   | (SClo (tS, s'), s), sK ->
- ...
- 652 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
- 653 | 
- 654 |   | (App _, _), (Typ, _) ->
- 655 |     raise SpineMismatch
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfcheck.ml", lines 664-681, characters 2-47:
- 664 | ..match tA with
- 665 |   | Atom (loc, a, tS) ->
- 666 |      let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
- 667 |      begin
- 668 |        try
- ...
- 678 |      checkTyp cD cPsi (tA, s);
- 679 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
- 680 | 
- 681 |   | Sigma arec -> checkTypRec cD cPsi (arec, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfcheck.ml", lines 710-714, characters 2-53:
- 710 | ..function
- 711 |   | Typ -> ()
- 712 |   | PiKind ((TypDecl (x, tA), _, _), kind) ->
- 713 |      checkTyp cD cPsi (tA, S.LF.id);
- 714 |      checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfcheck.ml", lines 724-725, characters 2-47:
- 724 | ..match decl with
- 725 |   | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfcheck.ml", lines 734-754, characters 2-7:
- 734 | ..match cPsi with
- 735 |   | Null -> ()
- 736 |   | DDec (cPsi, tX) ->
- 737 |      checkDCtx cD cPsi;
- 738 |      checkDec cD cPsi (tX, S.LF.id)
- ...
- 751 |          (P.fmt_ppr_lf_mctx P.l0) cD
- 752 |        end;
- 753 |      ignore (Whnf.mctxLookup cD k);
- 754 |      ()
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/lfcheck.ml", lines 962-963, characters 5-47:
- 962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
- 963 |      checkSchema loc cD cPhi schema_name schema
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57:
- 1019 | ..match (sArec, sBrec) with
- 1020 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
- 1021 |      None
- 1022 | 
- 1023 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
- 1024 |      Some (recA, s)
- 1025 | 
- 1026 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
- 1027 |      elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((SigmaLast (_, _), _), (SigmaElem (_, _, _), _))
- 
- File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69:
- 1075 | ..match (cM, cTt) with
- 1076 |   | (CObj cPsi, (CTyp (Some w), _)) ->
- 1077 |      let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in
- 1078 |      checkSchema loc cD cPsi name schema
- 1079 | 
- ...
- 1098 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
- 1099 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
- 1100 |      if Bool.not (Whnf.convMTyp mtyp1 mtyp2)
- 1101 |      then Error.raise_violation ("Contextual substitution ill-typed")
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CObj cPsi, (CTyp None, _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Total.cmo -c -impl src/core/total.ml)
- File "src/core/total.ml", lines 31-45, characters 6-9:
- 31 | ......begin match (x, args) with
- 32 |       | (_, []) ->
- 33 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
- 34 |       | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) ->
- 35 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@"
- ...
- 42 | 
- 43 |       | (Comp.V _, _) ->
- 44 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration."
- 45 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (M (_, _), (E|DC)::_)
- 
- File "src/core/total.ml", lines 138-141, characters 2-56:
- 138 | ..function
- 139 |   | LF.Empty -> LF.Empty
- 140 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
- 141 |      LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/total.ml", lines 155-157, characters 2-40:
- 155 | ..function
- 156 |   | None -> " _ "
- 157 |   | Some (Comp.Arg x) -> string_of_int x
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (Lex _|Simul _)
- 
- File "src/core/total.ml", line 249, characters 30-37:
- 249 |        let xs = List.map (fun (Arg x) -> x) xs in
-                                     ^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lex _|Simul _)
- 
- File "src/core/total.ml", lines 245-258, characters 4-41:
- 245 | ....match dec.order with
- 246 |     | `inductive (Arg x) ->
- 247 |        (dec.name, Some [x], (tau, Whnf.m_id))
- 248 |     | `inductive (Lex xs) ->
- 249 |        let xs = List.map (fun (Arg x) -> x) xs in
- ...
- 255 |     | `not_recursive
- 256 |       | `trust
- 257 |       | `partial ->
- 258 |        (dec.name, None, (tau, Whnf.m_id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- `inductive (Simul _)
- 
- File "src/core/total.ml", line 331, characters 19-54:
- 331 | let gen_var loc cD (LF.Decl { name = x; typ = cU; _ }) =
-                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/total.ml", lines 404-413, characters 2-31:
- 404 | ..function
- 405 |   | [] -> []
- 406 |   | Comp.M (cM, cU) :: args ->
- 407 |      if uninstantiated_arg cM
- 408 |      then Comp.DC :: generalize args
- 409 |      else Comp.M (cM, cU) :: generalize args
- 410 |   | Comp.V x :: args ->
- 411 |      Comp.V x :: generalize args
- 412 |   | Comp.DC :: args ->
- 413 |      Comp.DC :: generalize args
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- E::_
- 
- File "src/core/total.ml", line 445, characters 19-25:
- 445 |   let existsElem b (1, n) (LF.SchElem (some_part, block_part))  =
-                          ^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (0, _)
- 
- File "src/core/total.ml", lines 509-511, characters 6-47:
- 509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in
- 510 |       (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id);
- 511 |        gen_meta_obj (k, Substitution.LF.id) cU)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/total.ml", lines 544-592, characters 2-30:
- 544 | ..function
- 545 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
- 546 |   | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) ->
- 547 |      let cU0 = Whnf.cnormMTyp (cU', theta) in
- 548 |          begin
- ...
- 589 | 
- 590 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
- 591 |      let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in
- 592 |      (Comp.DC :: spine, tau_r)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (2,
- ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
-  TypCross (_, _)|TypClo (_, _)|TypInd _),
- _))
- 
- File "src/core/total.ml", lines 595-619, characters 2-30:
- 595 | ..function
- 596 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
- 597 | 
- 598 |   | (1, (Comp.TypPiBox _, _)) ->
- 599 |      raise Not_compatible (* Error *)
- ...
- 616 | 
- 617 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
- 618 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
- 619 |      (Comp.DC :: spine, tau_r)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1,
- ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
-  TypCross (_, _)|TypClo (_, _)|TypInd _),
- _))
- 
- File "src/core/total.ml", lines 622-713, characters 2-43:
- 622 | ..match cD' with
- 623 |   | LF.Empty -> cIH
- 624 | 
- 625 |   | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) ->
- 626 |      dprintf
- ...
- 710 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j);
- 711 |      let cIH' = mk_all (cIH, j) mf_list in
- 712 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1));
- 713 |      gen_rec_calls cD cIH' (cD', j + 1) mfs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt _)
- 
- File "src/core/total.ml", lines 725-791, characters 2-47:
- 725 | ..match cG0 with
- 726 |   | LF.Empty -> cIH
- 727 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
- 728 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
- 729 | 
- ...
- 788 |           mk_all cIH' mf_list
- 789 |      in
- 790 |      let cIH' = mk_all cIH mf_list in
- 791 |      gen_rec_calls' cD cG cIH' (cG', j + 1) mfs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, CTypDeclOpt _)
- 
- File "src/core/total.ml", lines 860-868, characters 2-69:
- 860 | ..match cPsi with
- 861 |   (* cPsi |- tA *)
- 862 |   | LF.Null -> None
- 863 |   | LF.CtxVar _ -> None
- 864 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
- 865 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
- 866 |      then Some k
- 867 |      else
- 868 |        pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/total.ml", lines 1087-1111, characters 5-8:
- 1087 | .....begin
- 1088 |        match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) ,
- 1089 |                prefix_hat
- 1090 |                (Whnf.cnorm_psihat phat Whnf.m_id)
- 1091 |                (Whnf.cnorm_psihat phat' Whnf.m_id)
- ...
- 1108 |               end ;
- 1109 |             (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k))))  , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k)
- 1110 |             end
- 1111 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Some k', None)
- 
- File "src/core/total.ml", lines 1121-1124, characters 5-87:
- 1121 | .....let LF.Root (_, tH', _, _) =
- 1122 |        Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj)
- 1123 |      in
- 1124 |      (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/total.ml", lines 1134-1140, characters 2-65:
- 1134 | ..match args with
- 1135 |   | [] -> []
- 1136 |   | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi)
- 1137 |   | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi)
- 1138 |   | Comp.M (cM, cU )  :: args ->
- 1139 |      let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in
- 1140 |      Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- E::_
- 
- File "src/core/total.ml", lines 1316-1337, characters 2-40:
- 1316 | ..function
- 1317 |   | Comp.TypBase (loc, c, _) ->
- 1318 |      Bool.not (Id.cid_comp_typ_equal a c)
- 1319 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
- 1320 |         | Sgn.Positivity -> true
- ...
- 1334 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
- 1335 |   | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus
- 1336 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
- 1337 |   | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1340-1360, characters 2-40:
- 1340 | ..function
- 1341 |   | Comp.TypBase (loc, c, _) ->
- 1342 |      Id.cid_comp_typ_equal a c
- 1343 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
- 1344 |         | Sgn.Positivity -> true
- ...
- 1357 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
- 1358 |   | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus
- 1359 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
- 1360 |   | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1364-1372, characters 2-40:
- 1364 | ..function
- 1365 |   | Comp.TypBase _ -> true
- 1366 |   | Comp.TypCobase _ -> true
- 1367 |   | Comp.TypDef _ -> raise Unimplemented
- 1368 |   | Comp.TypBox _ -> true
- 1369 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
- 1370 |   | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus
- 1371 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
- 1372 |   | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1492-1531, characters 2-27:
- 1492 | ..match tau1 with
- 1493 |   | Comp.TypBase (loc, c, mS1) ->
- 1494 |      if Id.cid_comp_typ_equal a c
- 1495 |      then
- 1496 |        begin
- ...
- 1528 |   | Comp.TypBox _
- 1529 |     | Comp.TypClo _
- 1530 |     | Comp.TypCobase _
- 1531 |     | Comp.TypDef _ -> true
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1555-1580, characters 8-48:
- 1555 | ........function
- 1556 |         | Comp.TypBase _
- 1557 |           | Comp.TypCobase _
- 1558 |           | Comp.TypBox _ -> true
- 1559 | 
- ...
- 1577 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
- 1578 | 
- 1579 |         | Comp.TypDef _
- 1580 |           | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfrecon.cmo -c -impl src/core/lfrecon.ml)
- File "src/core/lfrecon.ml", lines 253-262, characters 2-29:
- 253 | ..function
- 254 |   | Apx.LF.BVar _ -> "BVar"
- 255 |   | Apx.LF.Const _ -> "Const"
- 256 |   | Apx.LF.MVar _ -> "MVar"
- 257 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
- 258 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
- 259 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
- 260 |   | Apx.LF.FVar _ -> "FVar"
- 261 |   | Apx.LF.FMVar _ -> "FMVar"
- 262 |   | Apx.LF.FPVar _ -> "FPVar"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Hole
- 
- File "src/core/lfrecon.ml", lines 275-276, characters 5-19:
- 275 | .....let (None, d) = Context.dctxToHat cPsi in
- 276 |      Int.LF.Shift d
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Some _, _)
- 
- File "src/core/lfrecon.ml", lines 311-333, characters 8-80:
- 311 | ........let CTyp s_cid = mmvar1.typ in
- 312 |         if d = d'
- 313 |         then
- 314 |           begin
- 315 |             begin match c_var with
- ...
- 330 |             true
- 331 |           end
- 332 |         else
- 333 |           Error.raise_not_implemented "[unify_phat] ctx_var with a full context"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (_, _)
- 
- File "src/core/lfrecon.ml", lines 358-359, characters 9-42:
- 358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in
- 359 |          Store.Cid.Schema.get_schema s_cid
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=CTyp None; _ })
- 
- File "src/core/lfrecon.ml", lines 352-366, characters 2-92:
- 352 | ..match ctxvar with
- 353 |   | Some (Int.LF.CtxOffset _ as phi) ->
- 354 |      Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi)
- 355 |   | Some (Int.LF.CtxName n) ->
- 356 |      begin
- ...
- 363 | 
- 364 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
- 365 |      Store.Cid.Schema.get_schema s_cid
- 366 |   | None -> Error.raise_violation "No context variable for which we could retrieve a schema"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (CInst ({typ=CTyp None; _ }, _))
- 
- File "src/core/lfrecon.ml", lines 372-376, characters 2-44:
- 372 | ..function
- 373 |   | Int.LF.Atom _ -> m
- 374 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) ->
- 375 |      dprint (fun () -> "eta FMV - add Lam ");
- 376 |      Apx.LF.Lam (loc, x, addPrefix loc m tA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 385-389, characters 4-62:
- 385 | ....function
- 386 |     | Int.LF.Atom _ -> (k, s)
- 387 |     | Int.LF.PiTyp (_, tA) ->
- 388 |        let (k', s') = go (k + 1) s tA in
- 389 |        (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/lfrecon.ml", lines 391-395, characters 2-18:
- 391 | ..match tA, s with
- 392 |   | Int.LF.Atom _, _ -> (k, s)
- 393 |   | Int.LF.PiTyp _, None ->
- 394 |      let (k', s') = go k Apx.LF.Id tA in
- 395 |      (k', Some s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp (_, _), Some _)
- 
- File "src/core/lfrecon.ml", line 399, characters 20-40:
- 399 | let etaExpandMV loc (Apx.LF.MVar (x, s)) tA =
-                           ^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
- FPVar (_, _))
- 
- File "src/core/lfrecon.ml", lines 406-410, characters 4-52:
- 406 | ....function
- 407 |     | Int.LF.Atom _ -> (k, tS)
- 408 |     | Int.LF.PiTyp (_, tA') ->
- 409 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in
- 410 |        etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/lfrecon.ml", lines 414-417, characters 4-54:
- 414 | ....match tA with
- 415 |     | Int.LF.Atom _ -> tM
- 416 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
- 417 |        Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 422-424, characters 4-24:
- 422 | ....match h with
- 423 |     | Int.LF.BVar x -> Int.LF.BVar (x + k - 1)
- 424 |     | Int.LF.FVar _ -> h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 457-461, characters 4-55:
- 457 | ....function
- 458 |     | Int.LF.Atom _ -> (k, tS)
- 459 |     | Int.LF.PiTyp (_, tA') ->
- 460 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
- 461 |        etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/lfrecon.ml", lines 464-468, characters 4-57:
- 464 | ....match tA with
- 465 |     | Int.LF.Atom _ -> tM
- 466 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
- 467 |        dprint (fun () -> "eta - add Lam ");
- 468 |        Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 613-614, characters 2-33:
- 613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
- 614 |   getProjIndex loc cD cPsi recA k
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 617-630, characters 2-19:
- 617 | ..match h with
- 618 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
- 619 | 
- 620 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
- 621 |      let tp =
- ...
- 627 |      let j = getProjIndexFromType loc cD cPsi tp p in
- 628 |      dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d    j = %d@\n" k j);
- 629 |      let k' = ConvSigma.map conv_list k - j + 1 in
- 630 |      Apx.LF.BVar k'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Proj
-   ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
-    FPVar (_, _)),
-   _)
- 
- File "src/core/lfrecon.ml", lines 637-643, characters 7-41:
- 637 | .......function
- 638 |        | Apx.LF.Id -> Apx.LF.Id
- 639 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
- 640 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
- 641 |           let s' = go s in
- 642 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
- 643 |           Apx.LF.Dot (Apx.LF.Head h', s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dot (Obj _, _)
- 
- File "src/core/lfrecon.ml", lines 679-691, characters 2-38:
- 679 | ..match s with
- 680 |   | Apx.LF.Id -> s
- 681 | 
- 682 |   | Apx.LF.EmptySub -> s
- 683 | 
- ...
- 688 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
- 689 | 
- 690 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
- 691 |      flattenVarTuple tM (flattenSub s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)
- 
- File "src/core/lfrecon.ml", lines 697-698, characters 2-77:
- 697 | ..function
- 698 |   | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Root (_, BVar k, App (_, _))
- 
- File "src/core/lfrecon.ml", lines 827-829, characters 5-60:
- 827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
- 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
- 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 822-829, characters 2-60:
- 822 | ..function
- 823 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
- 824 |   | Apx.LF.Proj (h, nj) ->
- 825 |      let (tp, h') = synHead cD loc cPsi h in
- 826 |      let j = getProjIndexFromType loc cD cPsi tp nj in
- 827 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
- 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
- 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _))
- 
- File "src/core/lfrecon.ml", lines 858-867, characters 5-8:
- 858 | .....begin match synHead cD loc cPsi h with
- 859 |      | (Int.LF.TypDecl (x, tA), h') ->
- 860 |         let tA' =
- 861 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
- 862 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
- 863 |         in
- 864 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
- 865 |         , Int.LF.Dot (Int.LF.Head h', s')
- 866 |         )
- 867 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDeclOpt _, _)
- 
- File "src/core/lfrecon.ml", lines 884-890, characters 2-66:
- 884 | ..function
- 885 |   | Apx.LF.Typ -> Int.LF.Typ
- 886 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) ->
- 887 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
- 888 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
- 889 |      let tK = elKind cD cPsi' k in
- 890 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 909-925, characters 2-25:
- 909 | ..function
- 910 |   | Apx.LF.Atom (loc, a, s) ->
- 911 |      let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in
- 912 |      let s' = mkShift recT cPsi in
- 913 |      (* let s' = S.LF.id in *)
- ...
- 922 | 
- 923 |   | Apx.LF.Sigma typRec ->
- 924 |      let typRec' = elTypRec recT cD cPsi typRec in
- 925 |      Int.LF.Sigma typRec'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 977-1023, characters 2-34:
-  977 | ..match (m, sA) with
-  978 |   | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) ->
-  979 |      (* cPsi' = cPsi, x:tA *)
-  980 |      let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in
-  981 |      let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in
- ...
- 1020 |   | (Apx.LF.LFHole (loc, m_name), tA) ->
- 1021 |      let id = Holes.allocate () in
- 1022 |      let name = HoleId.name_of_option m_name in
- 1023 |      Int.LF.LFHole (loc, id, name)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12:
- 1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 1082 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
- 1083 |          begin
- 1084 |            try
- 1085 |              Unify.unifyTyp cD cPsi sQ sP;
- ...
- 1088 |            | Unify.Failure msg ->
- 1089 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1090 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1091 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12:
- 1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in
- 1214 |          dprintf
- 1215 |            begin fun p ->
- 1216 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
- 1217 |              Name.pp u
- ...
- 1277 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
- 1278 |            |_ ->
- 1279 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
- 1280 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12:
- 1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in
- 1477 |          let d = Context.length cD - Context.length cD_d in
- 1478 |          let (tA, cPhi) =
- 1479 |            if d = 0
- 1480 |            then (tA, cPhi)
- ...
- 1497 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
- 1498 |            | _ ->
- 1499 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
- 1500 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12:
- 1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) =
- 1572 |            Store.FCVar.get p
- 1573 |          in
- 1574 |          let d = Context.length cD - Context.length cD_d in
- 1575 |          let (tA, cPhi) =
- ...
- 1604 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1605 |            | _ ->
- 1606 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1607 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d,
- Decl
-   {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13:
- 1808 | ..........begin match S.LF.bvarSub k s'' with
- 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
- 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
- 1811 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
- 1812 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit)
- 1813 |           end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-   FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10:
- 1806 | .......begin match h with
- 1807 |        | Int.LF.BVar k ->
- 1808 |           begin match S.LF.bvarSub k s'' with
- 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
- 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
- ...
- 1814 |        | Int.LF.PVar (p, r) ->
- 1815 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit)
- 1816 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
- 1817 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8:
- 1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
- 1858 |        try
- 1859 |          Context.ctxSigmaDec cPsi x
- 1860 |        with
- 1861 |        | _ ->
- ...
- 1876 |        with
- 1877 |        | Unify.Failure msg ->
- 1878 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1879 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8:
- 1882 | .....begin
- 1883 |        match Whnf.mctxPDec cD p with
- 1884 |        | (_, Int.LF.Sigma recA, cPsi') ->
- 1885 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
- 1886 |           let k = getProjIndex loc cD cPsi recA proj in
- ...
- 1907 |           end
- 1908 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
- 1909 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
- 1910 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, TClo _, _)
- 
- File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15:
- 1941 | ............begin match S.LF.bvarSub y s'' with
- 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
- 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
- 1944 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
- 1945 |                Int.LF.Root
- ...
- 1948 |                  , tS
- 1949 |                  , Plicity.explicit
- 1950 |                  )
- 1951 |             end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-   FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12:
- 1939 | .........begin match h with
- 1940 |          | Int.LF.BVar y ->
- 1941 |             begin match S.LF.bvarSub y s'' with
- 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
- 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
- ...
- 1956 |               , tS
- 1957 |               , Plicity.explicit
- 1958 |               )
- 1959 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25:
- 1044 | ..match r with
- 1045 |   | Apx.LF.Ann (_loc, m, a) ->
- 1046 |      elTerm' recT cD cPsi m sP
- 1047 | 
- 1048 |   | Apx.LF.LFHole (location, m_name) ->
- ...
- 1977 | 
- 1978 |   | Apx.LF.Root (loc, h, _) ->
- 1979 |      dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h));
- 1980 |      throw loc CompTypAnn
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|Tuple (_, _))
- 
- File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65:
- 2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 2103 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
- 2104 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82:
- 2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
- 2160 |      let k = getProjIndex loc cD cPsi recA proj in
- 2161 |      let sA =
- 2162 |        try
- 2163 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k
- ...
- 2166 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
- 2167 |      in
- 2168 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
- 2169 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14:
- 2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) =
- 2277 |              Store.FCVar.get s_name
- 2278 |            in
- 2279 |            svar_le (cl0, cl);
- 2280 |            let d = Context.length cD - Context.length cD_d in
- ...
- 2307 |              with
- 2308 |              | Unify.Failure msg ->
- 2309 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
- 2310 |            end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
- 
- File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40:
- 2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
- 2515 |          dprint (fun () -> "[elHead] done");
- 2516 |          (Int.LF.BVar x, (tA', S.LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59:
- 2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
- 2575 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
- 2576 |          (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (offset, ClTyp ((PTyp _|STyp (_, _)), _))
- 
- File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41:
- 2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
- 2584 |      let s' = elSub loc recT cD cPsi s cl cPhi in
- 2585 |      (Int.LF.PVar (offset, s'), (tA, s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (offset, ClTyp ((MTyp _|STyp (_, _)), _))
- 
- File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36:
- 2643 | ....match (sA, recT) with
- 2644 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) ->
- 2645 |        (* cPsi' |- tA <= typ
- 2646 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
- 2647 |         *
- ...
- 2671 |        in
- 2672 | 
- 2673 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
- 2674 |        (Int.LF.App (tN, spine'), sP)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((PiTyp ((TypDeclOpt _, _, _), _), _), _)
- 
- File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25:
- 2705 | ....function
- 2706 |     | Int.LF.Atom _ -> 0
- 2707 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
- 2708 |     | Int.LF.Sigma _ -> 0........................................................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32:
- 2725 | ....match (spine, Whnf.whnfTyp sA) with
- 2726 |     | (Apx.LF.Nil, sP) ->
- 2727 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
- 2728 | 
- 2729 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) ->
- 2730 |        let tM = elTerm recT cD cPsi m (tA, s) in
- 2731 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
- 2732 |        (Int.LF.App (tM, tS), sP)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30:
- 2741 | ....match (sK, recT) with
- 2742 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) ->
- 2743 |        (* let sshift = mkShift recT cPsi in *)
- 2744 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
- 2745 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
- ...
- 2757 |            Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive
- 2758 |        in
- 2759 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
- 2760 |        Int.LF.App (tN, spine')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((PiKind ((TypDeclOpt _, _, _), _), _), _)
- 
- File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32:
- 2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 2835 |      (* cPsi |- tA : type
- 2836 |       * cPsi |- s' : cPsi'
- 2837 |       *)
- 2838 |      let ss = S.LF.invert s' in
- ...
- 2860 |      in
- 2861 | 
- 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
- 2863 |      (Int.LF.App (tN', tS), tB')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32:
- 2824 | ..match (spine, sP) with
- 2825 |   | (Apx.LF.Nil, _) ->
- 2826 |      let ss = S.LF.invert s' in
- 2827 |      let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
- 2828 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
- ...
- 2860 |      in
- 2861 | 
- 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
- 2863 |      (Int.LF.App (tN', tS), tB')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (App (Root (loc, BVar x, App (_, _)), _), _)
- 
- File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8:
- 2943 | .....begin match instantiation.contents with
- 2944 |      | None ->
- 2945 |         begin
- 2946 |           try
- 2947 |             let tA = Store.FVar.get x in
- ...
- 2995 |           | _ ->
- 2996 |              throw loc (UnboundName x)
- 2997 |         end
- 2998 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (IHead _|ISub _|ICtx _)
- 
- File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8:
- 2939 | ..function
- 2940 |   | [] -> ()
- 2941 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
- 2942 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
- 2943 |      begin match instantiation.contents with
- ...
- 2995 |           | _ ->
- 2996 |              throw loc (UnboundName x)
- 2997 |         end
- 2998 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Root (loc, FVar x, spine),
- Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::
- _
- 
- File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99:
- 3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
- 3021 |          lookup_fcvar loc u
- 3022 |        in
- 3023 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3024 |        let s'' = elSub loc cPsi s cPhi in
- 3025 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98:
- 3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) =
- 3028 |          lookup_fcvar loc x
- 3029 |        in
- 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3031 |        let s'' = elSub loc cPsi s cPhi in
- 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
- 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98:
- 3017 | ....match tM, Int.LF.(v.typ) with
- 3018 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
- 3019 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
- 3020 |        let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
- 3021 |          lookup_fcvar loc u
- ...
- 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3031 |        let s'' = elSub loc cPsi s cPhi in
- 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
- 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Check.cmo -c -impl src/core/check.ml)
- File "src/core/check.ml", lines 471-475, characters 4-46:
- 471 | ....function
- 472 |     | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS
- 473 |     | I.Lam (_, _, tM) -> fmv_normal cD tM
- 474 |     | I.LFHole _ -> cD
- 475 |     | I.Tuple (_, tuple) -> fmv_tuple cD tuple
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Clo _
- 
- File "src/core/check.ml", lines 490-492, characters 4-55:
- 490 | ....function
- 491 |     | I.Nil -> cD
- 492 |     | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- SClo _
- 
- File "src/core/check.ml", lines 500-503, characters 4-61:
- 500 | ....function
- 501 |     | I.Null -> cD
- 502 |     | I.CtxVar (I.CtxOffset k) -> mark_ind cD k
- 503 |     | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/check.ml", lines 511-514, characters 4-38:
- 511 | ....function
- 512 |     | I.Atom (_, _, tS) -> fmv_spine cD tS
- 513 |     | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA
- 514 |     | I.Sigma trec -> fmv_trec cD trec
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/check.ml", lines 534-538, characters 4-68:
- 534 | ....function
- 535 |     | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi
- 536 |     | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM
- 537 |     | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h
- 538 |     | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (MUndef|MV _))
- 
- File "src/core/check.ml", lines 553-556, characters 4-43:
- 553 | ....function
- 554 |     | PatNil -> cD
- 555 |     | PatApp (_, pat, pat_spine) ->
- 556 |        fmv_pat_spine (fmv cD pat) pat_spine
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- 
- File "src/core/check.ml", lines 561-595, characters 4-10:
- 561 | ....match (t, cD) with
- 562 |     | (I.MShift k, I.Empty) -> cD1'
- 563 |     | (I.MShift k, cD)
- 564 |          when k < 0 ->
- 565 |        Error.raise_violation "Contextual substitution ill-formed"
- ...
- 592 |           else
- 593 |             id_map_ind cD1' ms cD
- 594 |        | _ -> id_map_ind cD1' ms cD
- 595 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MDot (_, _), Dec (cD, DeclOpt _))
- 
- File "src/core/check.ml", line 618, characters 11-38:
- 618 |     |> fun (CTypDecl (u, tau, wf_tag)) ->
-                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/check.ml", lines 747-771, characters 6-12:
- 747 | ......match cPsi0 with
- 748 |       | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *)
- 749 |       | Int.LF.CtxVar psi ->
- 750 |          (* tA is an instance of a schema block *)
- 751 |          let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } =
- ...
- 768 |              Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id)
- 769 |            with
- 770 |            | _ -> checkParamTypeValid' (cPsi0', n + 1)
- 771 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi0', TypDeclOpt _)
- 
- File "src/core/check.ml", lines 776-796, characters 4-68:
- 776 | ....match (mS, cKt) with
- 777 |     | (MetaNil, (Ctype _, _)) -> ()
- 778 |     | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) ->
- 779 |        if Plicity.(plicity_app <> plicity_pi)
- 780 |        then Error.raise_violation "[checkMetaSpine] plicity mismatch";
- ...
- 793 |                  Location.print_short loc
- 794 |               )
- 795 |        end;
- 796 |        checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaNil, (PiKind (_, _, _), _))
- 
- File "src/core/check.ml", line 822, characters 20-56:
- 822 |   let checkCDecl cD (I.Decl { name = x; typ = ctyp; _ }) =
-                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/check.ml", lines 834-868, characters 4-35:
- 834 | ....function
- 835 |     | TypBase (loc, c, mS) ->
- 836 |        let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in
- 837 |        checkMetaSpine loc cD mS (cK, C.m_id)
- 838 | 
- ...
- 865 |          end;
- 866 |        checkTyp (I.Dec (cD, cdecl)) tau'
- 867 | 
- 868 |     | TypInd tau -> checkTyp cD tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _)|TypClo (_, _))
- 
- File "src/core/check.ml", line 880, characters 21-39:
- 880 |   let extend_mctx cD (x, (I.Decl d), t) =
-                            ^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (x, DeclOpt { _ }, _)
- 
- File "src/core/check.ml", lines 899-916, characters 12-15:
- 899 | ............begin match e2 with
- 900 |             | Box (_, cM, cU) | AnnBox (_, cM, cU) ->
- 901 |                dprintf
- 902 |                  begin fun p ->
- 903 |                  p.fmt "[useIH] @[<v>check whether compatible IH exists@,\
- ...
- 913 |                | Option.None -> Total.filter cD cG cIH (loc, E)
- 914 |                end
- 915 |             | Hole _ -> Total.drop_arg cIH
- 916 |             end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)|
- Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _))
- 
- File "src/core/check.ml", lines 1114-1276, characters 4-45:
- 1114 | ....function
- 1115 |     | Var (loc, x) as e ->
- 1116 |        let (f,tau', _) = lookup cG x in
- 1117 |        Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id))
- 1118 |          (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e);
- ...
- 1273 | 
- 1274 |     | AnnBox (_, cM, cT) ->
- 1275 |        checkMetaObj cD cM cT C.m_id;
- 1276 |        (None, TypBox (getLoc cM, cT), C.m_id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)|
- Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _))
- 
- File "src/core/check.ml", lines 1350-1357, characters 7-10:
- 1350 | .......begin match (tau, theta) with
- 1351 |        | (TypArr (_, tau1, tau2), theta) ->
- 1352 |           checkPattern cD cG pat (tau1, theta);
- 1353 |           synPatSpine cD cG pat_spine (tau2, theta)
- 1354 |        | (TypPiBox (_, cdecl, tau), theta) ->
- 1355 |           let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in
- 1356 |           synPatSpine cD cG pat_spine (tau, theta')
- 1357 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
-  TypCross (_, _)|TypClo (_, _)|TypInd _),
- _)
- 
- File "src/core/check.ml", line 1373, characters 53-86:
- 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
-                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (DeclOpt { _ }, _)
- 
- File "src/core/check.ml", line 1373, characters 30-52:
- 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
-                                      ^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/check.ml", lines 1665-1667, characters 4-42:
- 1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in
- 1666 |     let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in
- 1667 |     proof mcid cD cG cIH total_decs p ttau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
- 
- File "src/core/check.ml", lines 1678-1743, characters 4-13:
- 1678 | ....match d with
- 1679 |     | Intros hyp ->
- 1680 |        let tau = Whnf.cnormCTyp ttau in
- 1681 |        let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in
- 1682 |        dprintf
- ...
- 1740 |            end;
- 1741 |          proof mcid cD cG cIH total_decs p (tau, Whnf.m_id)
- 1742 |          end
- 1743 |          args
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ImpossibleSplit _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Load.cmo -c -impl src/core/load.ml)
- File "src/core/load.ml", line 63, characters 33-47:
- 63 |             Parser.Parsing.(only signature_file)
-                                       ^^^^^^^^^^^^^^
- Error: This expression has type
-          "Synprs.signature_file Parser.Parsing.t" =
-            "Parser.Parsing.state ->
-            Parser.Parsing.state * (Synprs.signature_file, exn) result"
-        but an expression was expected of type
-          "Parser.Parsing.state -> Parser.Parsing.state * ('a, exn) result"
-        The layout of Synprs.signature_file is any
-          because the .cmi file for Synprs.signature_file is missing.
-        But the layout of Synprs.signature_file must be a sublayout of value.
-        No .cmi file found containing Synprs.signature_file.
-        Hint: Adding "synprs" to your dependencies might help.
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Translate.cmo -c -impl src/harpoon/translate.ml)
- File "src/harpoon/translate.ml", lines 25-26, characters 5-58:
- 25 | .....let LF.Dec (cG', Comp.CTypDecl (x, _, _)) = cG' in
- 26 |      (cD', cG', fun e -> Comp.Fn (Location.ghost, x, f e))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG', CTypDeclOpt _)
- 
- File "src/harpoon/translate.ml", lines 29-33, characters 5-6:
- 29 | .....let LF.Dec (cD', LF.Decl { name = x; plicity; _ }) = cD' in
- 30 |      ( cD'
- 31 |      , cG'
- 32 |      , fun e -> Comp.MLam (Location.ghost, x, f e, plicity)
- 33 |      )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt { _ })
- 
- File "src/harpoon/translate.ml", lines 56-68, characters 10-40:
- 56 | ..........match cU with
- 57 |           | (ClTyp ( (MTyp _ | PTyp _), cPsi )) ->
- 58 |              let tM =
- 59 |                Root
- 60 |                  ( Location.ghost
- ...
- 65 |              in
- 66 |              ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, t)), MObj tM)
- 67 |           | CTyp _ ->
- 68 |              CObj (CtxVar (CtxOffset 1))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (STyp (_, _), _)
- 
- File "src/harpoon/translate.ml", lines 131-149, characters 5-8:
- 131 | .....let (cD', cG', LF.Empty, tau', t) =
- 132 |        Check.Comp.unroll cD cG LF.Empty tau
- 133 |      in
- 134 |      (* cD' |- t : cD
- 135 |         is a weakening meta-substitution *)
- ...
- 146 |          P.(fmt_ppr_cmp_gctx cD_orig l0) cG_orig
- 147 |          end;
- 148 |      assert (Whnf.convMCtx cD_orig cD && Whnf.convGCtx (cG_orig, Whnf.m_id) (cG, t));
- 149 |      f e
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD', cG', Dec (_, WfRec (_, _, _)), _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Session.cmo -c -impl src/harpoon/session.ml)
- File "src/harpoon/session.ml", line 276, characters 17-43:
- 276 |             (alt trust_totality_declaration numeric_totality_declaration)))
-                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
- Error: This expression has type
-          "Synprs.signature_totality_declaration Beluga_parser.Parser.Parsing.t"
-            =
-            "Beluga_parser.Parser.Parsing.state ->
-            Beluga_parser.Parser.Parsing.state *
-            (Synprs.signature_totality_declaration, exn) result"
-        but an expression was expected of type
-          "Beluga_parser.Parser.Parsing.state ->
-          Beluga_parser.Parser.Parsing.state * ('a, exn) result"
-        The layout of Synprs.signature_totality_declaration is any
-          because the .cmi file for Synprs.signature_totality_declaration is missing.
-        But the layout of Synprs.signature_totality_declaration must be a sublayout of value.
-        No .cmi file found containing Synprs.signature_totality_declaration.
-        Hint: Adding "synprs" to your dependencies might help.
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Command.cmo -c -impl src/core/command.ml)
- File "src/core/command.ml", line 240, characters 52-67:
- 240 |   let comp_expression_parser = Parser.Parsing.(only comp_expression)
-                                                           ^^^^^^^^^^^^^^^
- Error: This expression has type
-          "Parser.Parsing.state ->
-          Parser.Parsing.state * (Synprs.comp_expression_object, exn) result"
-        but an expression was expected of type
-          "Parser.Parsing.state -> Parser.Parsing.state * ('a, exn) result"
-        The layout of Synprs.comp_expression_object is any
-          because the .cmi file for Synprs.comp_expression_object is missing.
-        But the layout of Synprs.comp_expression_object must be a sublayout of value.
-        No .cmi file found containing Synprs.comp_expression_object.
-        Hint: Adding "synprs" to your dependencies might help.
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Coverage.cmo -c -impl src/core/coverage.ml)
- File "src/core/coverage.ml", line 76, characters 26-46:
- 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
-                                ^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/coverage.ml", lines 75-78, characters 2-5:
- 75 | ..let Some (CTypDecl (_, tau, _)) =
- 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
- 77 |   in
- 78 |   tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (CTypDeclOpt _)
- 
- File "src/core/coverage.ml", line 195, characters 20-45:
- 195 | let gen_str cD cPsi (LF.Atom (_, a, _) as tP) =
-                           ^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
- 
- File "src/core/coverage.ml", lines 214-218, characters 4-74:
- 214 | ....match tA with
- 215 |     | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit)
- 216 |     | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) ->
- 217 |        let tM = eta (tB0, s) LF.Nil in
- 218 |        LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/coverage.ml", lines 271-281, characters 4-58:
- 271 | ....function
- 272 |     | MetaSub (cPsi, s, LF.STyp (_, cPhi)) ->
- 273 |        fprintf ppf "%a |- %a : %a"
- 274 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
- 275 |          (P.fmt_ppr_lf_sub cD cPsi P.l0) s
- ...
- 278 |        fprintf ppf "%a |- %a : %a"
- 279 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
- 280 |          (P.fmt_ppr_lf_normal cD cPsi P.l0) tR
- 281 |          (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MetaSub (cPsi, s, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 304-308, characters 4-73:
- 304 | ....function
- 305 |     | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi
- 306 |     | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi)
- 307 |     | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA)
- 308 |     | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CovSub (cPsi, s, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 483-484, characters 7-73:
- 483 | .......let Comp.TypBox (_, mT) = tau_sc in
- 484 |        check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
- TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
- 
- File "src/core/coverage.ml", lines 545-546, characters 9-44:
- 545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 543-547, characters 7-10:
- 543 | .......begin
- 544 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
- 545 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- 547 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 580-619, characters 5-8:
- 580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in
- 581 |      dprintf
- 582 |        begin fun p ->
- 583 |        p.fmt "[pre_match_head]  @[<v>pvar - case\
- 584 |               @,pattern:     @[@[%a@]@ |- @[%a@]@]\
- ...
- 616 |             end;
- 617 |           SplitCand
- 618 |             (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *)
- 619 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (BVar _|Const _|MMVar (({instantiation={ _ }; constraints={ _ }; _ }, _), _)|
- MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)|
- FPVar (_, _)|HClo (_, _, _)|
- HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _)))
- 
- File "src/core/coverage.ml", lines 638-639, characters 9-44:
- 638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 636-640, characters 7-10:
- 636 | .......begin
- 637 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
- 638 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- 640 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 695-708, characters 5-59:
- 695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
- 696 |      let covGoal' =
- 697 |        CovGoal
- 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
- 699 |          , tM, (tB, S.LF.dot1 s)
- ...
- 705 |          , tN, (tB', S.LF.dot1 s')
- 706 |          )
- 707 |      in
- 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
- 
- File "src/core/coverage.ml", lines 694-708, characters 5-59:
- 694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
- 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
- 696 |      let covGoal' =
- 697 |        CovGoal
- 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
- ...
- 705 |          , tN, (tB', S.LF.dot1 s')
- 706 |          )
- 707 |      in
- 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
- 
- File "src/core/coverage.ml", lines 692-737, characters 2-8:
- 692 | ..match (tM, tN) with
- 693 |   | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) ->
- 694 |      let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
- 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
- 696 |      let covGoal' =
- ...
- 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
- 735 | 
- 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
- 737 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))
- 
- File "src/core/coverage.ml", lines 684-737, characters 2-8:
- 684 | ..let MetaPatt (cPhi, tN, sA') = patt in
- 685 |   dprintf
- 686 |     begin fun p ->
- 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
- 688 |            @,pattern: @[%a@]@]"
- ...
- 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
- 735 | 
- 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
- 737 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaSub (_, _, _)|GenPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 683-737, characters 2-8:
- 683 | ..let CovGoal (cPsi, tM, sA) = covGoal in
- 684 |   let MetaPatt (cPhi, tN, sA') = patt in
- 685 |   dprintf
- 686 |     begin fun p ->
- 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
- ...
- 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
- 735 | 
- 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
- 737 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 744-758, characters 5-18:
- 744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
- 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
- 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
- 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
- 748 |      let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in
- ...
- 755 |        (cPsi, tS, sB2')
- 756 |        (cPsi', tS', sC2')
- 757 |        matchCands'
- 758 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 743-758, characters 5-18:
- 743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
- 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
- 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
- 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
- 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
- ...
- 755 |        (cPsi, tS, sB2')
- 756 |        (cPsi', tS', sC2')
- 757 |        matchCands'
- 758 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 740-758, characters 2-18:
- 740 | ..match (tS, tS') with
- 741 |   | (LF.Nil, LF.Nil) -> (matchCands, splitCands)
- 742 |   | (LF.App (tM, tS), LF.App (tM', tS')) ->
- 743 |      let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
- 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
- ...
- 755 |        (cPsi, tS, sB2')
- 756 |        (cPsi', tS', sC2')
- 757 |        matchCands'
- 758 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Nil, (App (_, _)|SClo _))
- 
- File "src/core/coverage.ml", lines 793-797, characters 5-63:
- 793 | .....let LF.TypDecl (_, tA1) = tdecl1 in
- 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
- 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
- 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
- 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 792-797, characters 5-63:
- 792 | .....let LF.TypDecl (_, tA0) = tdecl0 in
- 793 |      let LF.TypDecl (_, tA1) = tdecl1 in
- 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
- 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
- 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
- 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 763-816, characters 2-74:
- 763 | ..match ((s0, cPhi0), (s1, cPhi1)) with
- 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
- 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
- 766 |      if n = k
- 767 |      then (matchCands, splitCands)
- ...
- 813 | 
- 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
- 815 | 
- 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Shift _, _),
- (Dot
-    (Head
-       (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|
-       FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
-    _),
- _))
- 
- File "src/core/coverage.ml", lines 762-816, characters 2-74:
- 762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
- 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
- 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
- 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
- 766 |      if n = k
- ...
- 813 | 
- 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
- 815 | 
- 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MetaSub (cPsi1, s1, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 761-816, characters 2-74:
- 761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in
- 762 |   let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
- 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
- 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
- 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
- ...
- 813 | 
- 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
- 815 | 
- 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CovSub (cPsi0, s0, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 819-830, characters 2-57:
- 819 | ..match (f0, f1) with
- 820 |   | (LF.Head h0, LF.Head h1) ->
- 821 |      let tM0 = eta_expand (h0, tA0) in
- 822 |      let tM1 = eta_expand (h1, tA1) in
- 823 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
- ...
- 827 |   | (LF.Obj tM0, LF.Obj tM1) ->
- 828 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
- 829 |      let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in
- 830 |      pre_match cD cD_p covGoal patt matchCands splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Head h0, (Undef|Obj _))
- 
- File "src/core/coverage.ml", lines 839-851, characters 5-18:
- 839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
- 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
- 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
- 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
- 843 |      let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in
- ...
- 848 |        (cPsi, tS, sK1')
- 849 |        (cPsi', tS', sK2')
- 850 |        matchCands'
- 851 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 838-851, characters 5-18:
- 838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
- 839 |      let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
- 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
- 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
- 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
- ...
- 848 |        (cPsi, tS, sK1')
- 849 |        (cPsi', tS', sK2')
- 850 |        matchCands'
- 851 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 834-851, characters 2-18:
- 834 | ..match ((tS1, sK1), (tS2, sK2)) with
- 835 |   | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) ->
- 836 |      (matchCands, splitCands)
- 837 |   | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) ->
- 838 |      let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
- ...
- 848 |        (cPsi, tS, sK1')
- 849 |        (cPsi', tS', sK2')
- 850 |        matchCands'
- 851 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Nil, (Typ, _)), (Nil, (PiKind (_, _), _)))
- 
- File "src/core/coverage.ml", lines 860-903, characters 2-17:
- 860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with
- 861 |   | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) ->
- 862 |      let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
- 863 |      let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in
- 864 |      let tS1' = Whnf.normSpine (tS1, s1) in
- ...
- 900 |        (trec1, s1)
- 901 |        (trec2, s2)
- 902 |        matchCands
- 903 |        splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _))
- 
- File "src/core/coverage.ml", lines 907-927, characters 2-12:
- 907 | ..match (srec1, srec2) with
- 908 |   | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) ->
- 909 |      pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands
- 910 | 
- 911 |   | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) ->
- ...
- 924 |        (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1))))
- 925 |        (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2))))
- 926 |        (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2)
- 927 |        mC sC
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _))
- 
- File "src/core/coverage.ml", lines 952-1004, characters 2-31:
-  952 | ..match ((mO, mt), (mO_p, mtp)) with
-  953 |   | LF.((CObj cPsi, _), (CObj cPsi', _)) ->
-  954 |      pre_match_dctx cD cD_p cPsi cPsi' mC sC
-  955 |   | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) ->
-  956 |      match ((clobj, cltyp), (clobj', cltyp')) with
- ...
- 1001 |             (mobj cD_p) (loc', mO_p)
- 1002 |             (mtyp cD_p) mtp
- 1003 |         in
- 1004 |         Error.raise_violation s
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _))
- 
- File "src/core/coverage.ml", lines 1092-1104, characters 5-10:
- 1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1095 |      let t2 = LF.MDot (mO, t) in
- 1096 |      let t2' = LF.MDot (mO', t') in
- ...
- 1101 |        (pS, (tau2, t2))
- 1102 |        (pS', (tau2', t2'))
- 1103 |        mC1
- 1104 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1091-1104, characters 5-10:
- 1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1092 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1095 |      let t2 = LF.MDot (mO, t) in
- ...
- 1101 |        (pS, (tau2, t2))
- 1102 |        (pS', (tau2', t2'))
- 1103 |        mC1
- 1104 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1110-1122, characters 5-10:
- 1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1113 |      let t2 = LF.MDot (mO, t) in
- 1114 |      let t2' = LF.MDot (mO', t') in
- ...
- 1119 |        (pS, (tau2, t2))
- 1120 |        (pS', (tau2', t2'))
- 1121 |        mC1
- 1122 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1109-1122, characters 5-10:
- 1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1110 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1113 |      let t2 = LF.MDot (mO, t) in
- ...
- 1119 |        (pS, (tau2, t2))
- 1120 |        (pS', (tau2', t2'))
- 1121 |        mC1
- 1122 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1128-1134, characters 5-84:
- 1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1129 |      let tau1 = LF.CTyp w in
- 1130 |      let tau1' = LF.CTyp w' in
- 1131 |      let t2 = LF.MDot (mO, t) in
- 1132 |      let t2' = LF.MDot (mO', t')in
- 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
- 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1127-1134, characters 5-84:
- 1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1128 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1129 |      let tau1 = LF.CTyp w in
- 1130 |      let tau1' = LF.CTyp w' in
- 1131 |      let t2 = LF.MDot (mO, t) in
- 1132 |      let t2' = LF.MDot (mO', t')in
- 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
- 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1139-1147, characters 5-51:
- 1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
- 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
- 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
- 1143 |      let t2 = LF.MDot (mO, t) in
- 1144 |      let t2' = LF.MDot (mO', t') in
- 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
- 1146 |      match_spines (cD, cG) (cD_p, cG_p)
- 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1138-1147, characters 5-51:
- 1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1139 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
- 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
- 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
- 1143 |      let t2 = LF.MDot (mO, t) in
- 1144 |      let t2' = LF.MDot (mO', t') in
- 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
- 1146 |      match_spines (cD, cG) (cD_p, cG_p)
- 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1186-1224, characters 2-8:
- 1186 | ..match Whnf.whnfTyp sA with
- 1187 |   | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) ->
- 1188 |      (* cPsi' |- Pi x:A.B <= typ
- 1189 |         cPsi  |- s <= cPsi'
- 1190 |         cPsi  |- tN <= [s]tA
- ...
- 1221 |          Some LF.Nil
- 1222 |        with
- 1223 |        | U.Failure _ -> None
- 1224 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 1343-1349, characters 2-29:
- 1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *)
- 1344 |   (* We call expand_head_sigma here because it might be *projections*
- 1345 |      of the bound variable that are relevant to the matching.
- 1346 |    *)
- 1347 |   expand_head_sigma (LF.BVar i, tA)
- 1348 |   |> List.map (fun (tH, tA) -> (tH, tA, 0))
- 1349 |   |> genAllObj (cD, cPsi, tP)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", line 1484, characters 17-61:
- 1484 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) ->
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD', ((Null|CtxVar _), _, (_, _)), _)
- 
- File "src/core/coverage.ml", lines 1468-1493, characters 2-14:
- 1468 | ..match tA with
- 1469 |   | LF.Atom _ ->
- 1470 |      genPVar cov_problem @ genBVars cov_problem
- 1471 |   | LF.Sigma trec ->
- 1472 |      Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types"
- ...
- 1490 |        in
- 1491 |        (cD', cg', ms)
- 1492 |        end
- 1493 |        cg_list
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/coverage.ml", line 1544, characters 17-60:
- 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD', ((Null|CtxVar _), _, (_, _)), _)
- 
- File "src/core/coverage.ml", lines 1541-1552, characters 5-16:
- 1541 | .....let LF.TypDecl (x, _) = tdecl in
- 1542 |      let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in
- 1543 |      List.map
- 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
- 1545 |        ( cD'
- ...
- 1549 |        , t
- 1550 |        )
- 1551 |        end
- 1552 |        cov_goals
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 1512-1552, characters 2-16:
- 1512 | ..match tA with
- 1513 |   | LF.Atom (_, a, tS) ->
- 1514 |      let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *)
- 1515 |      dprintf
- 1516 |        begin fun p ->
- ...
- 1549 |        , t
- 1550 |        )
- 1551 |        end
- 1552 |        cov_goals
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/coverage.ml", lines 1582-1700, characters 5-8:
- 1582 | .....begin match mc with
- 1583 |      | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) ->
- 1584 |         let cT = LF.ClTyp (sT, cPsi) in
- 1585 |         let cT_p = LF.ClTyp (sT_p, cPsi_p) in
- 1586 |         let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in
- ...
- 1697 |                   NotSolvable
- 1698 |                end
- 1699 |         end
- 1700 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _)))
- 
- File "src/core/coverage.ml", lines 1725-1730, characters 5-11:
- 1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in
- 1726 |      (* let MetaPatt (cPhi, _, sB') = patt in *)
- 1727 |      (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *)
- 1728 |      (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *)
- 1729 |      let result = pre_match cD cD_p covG patt matchL' splitL' in
- 1730 |      result
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 1719-1741, characters 2-94:
- 1719 | ..match splitL with
- 1720 |   | [] -> (matchL, [])
- 1721 |   | Split (CovGoal (cPsi, tR, sA), patt) :: splits ->
- 1722 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
- 1723 |      let tA = Whnf.normTyp sA in
- ...
- 1738 |      pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL'
- 1739 |   | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits ->
- 1740 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
- 1741 |      (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Split ((CovCtx _|CovPatt (_, _, _)), _)::_
- 
- File "src/core/coverage.ml", lines 1973-2000, characters 5-6:
- 1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) =
- 1974 |        Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s')
- 1975 |      in
- 1976 |      (* bp : Context substitution associated with declaration is off by 1 *)
- 1977 |      let (ss', cPsi') = Subord.thin' cD'' a cPsi in
- ...
- 1997 |      in
- 1998 |      ( LF.Dec (cD'', mdec)
- 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
- 2000 |      )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _))
- 
- File "src/core/coverage.ml", lines 1964-2000, characters 2-6:
- 1964 | ..match decls with
- 1965 |   | LF.Empty -> (cD', S.LF.id)
- 1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
- 1967 |      let x = NameGen.renumber names x in
- 1968 |      let names = x :: names in
- ...
- 1997 |      in
- 1998 |      ( LF.Dec (cD'', mdec)
- 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
- 2000 |      )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (decls, TypDeclOpt _)
- 
- File "src/core/coverage.ml", line 1963, characters 28-52:
- 1963 | let rec decTomdec names cD' (LF.CtxOffset k as cpsi) (d, decls) =
-                                    ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
- 
- File "src/core/coverage.ml", line 2096, characters 17-48:
- 2096 | let genCtx names (LF.Dec (cD', LF.Decl _) as cD) cpsi =
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt { _ })
- 
- File "src/core/coverage.ml", line 2123, characters 23-82:
- 2123 | let genContextGoals cD (x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) =
-                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (x, CTyp None, _, _)
- 
- File "src/core/coverage.ml", lines 2144-2178, characters 5-87:
- 2144 | .....let LF.TypDecl (x, tA) = decl in
- 2145 |      let s = LF.SVar (2, 0, S.LF.id) in
- 2146 |      let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in
- 2147 |      let name = Whnf.newMTypName mT in
- 2148 |      let cD' =
- ...
- 2175 |      in
- 2176 |      let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in
- 2177 |      let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in
- 2178 |      [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)]
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 2186-2239, characters 2-8:
- 2186 | ..match cT with
- 2187 |   | LF.ClTyp (clTyp, cPsi) ->
- 2188 |      begin match clTyp with
- 2189 |      | LF.MTyp tA ->
- 2190 |         dprintf
- ...
- 2236 |            , Atomic
- 2237 |            )
- 2238 |         end
- 2239 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/coverage.ml", lines 2249-2250, characters 11-60:
- 2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in
- 2250 |            genContextGoals cD' (x, cU, plicity, inductivity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/coverage.ml", lines 2242-2278, characters 2-58:
- 2242 | ..match (cv_list, cD) with
- 2243 |   | ([], _) -> NoCandidate
- 2244 |   | ([LF.CtxOffset j], LF.Dec (cD', d)) ->
- 2245 |      if j = k
- 2246 |      then
- ...
- 2275 |          SomeCtxCands ctx_goals'
- 2276 |        end
- 2277 |      else
- 2278 |        best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxOffset j::[], Empty)
- 
- File "src/core/coverage.ml", lines 2308-2309, characters 25-35:
- 2308 | .........................let LF.Root (_, tH, _, _) = tR in
- 2309 |                          LF.PObj tH
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/coverage.ml", lines 2302-2309, characters 22-35:
- 2302 | ......................match cT with
- 2303 |                       (* gonna be a ClTyp because we're in the CovGoal branch *)
- 2304 |                       | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR
- 2305 |                       | LF.ClTyp (LF.PTyp _, _) ->
- 2306 |                          (* ensure that PTyp is added as a PObj to the
- 2307 |                             msub; otherwise normalization WILL crash. *)
- 2308 |                          let LF.Root (_, tH, _, _) = tR in
- 2309 |                          LF.PObj tH
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (STyp (_, _), _)
- 
- File "src/core/coverage.ml", lines 2294-2331, characters 17-50:
- 2294 | .................match cg with
- 2295 |                  | CovGoal (cPsi', tR, sA') ->
- 2296 |                     dprintf
- 2297 |                       begin fun p ->
- 2298 |                       p.fmt "[best_cand] generated covgoal @[%a@]"
- ...
- 2328 |                         , Whnf.cnormClTyp (sT, LF.MShift k)
- 2329 |                         )
- 2330 |                     in
- 2331 |                     TermCandidate (cD'', cg', ms0).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovPatt (_, _, _))
- 
- File "src/core/coverage.ml", lines 2335-2348, characters 11-17:
- 2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with
- 2336 |            | NoCandidate -> SomeTermCands (dep0, cov_goals0)
- 2337 |            | SomeTermCands (dep, cov_goals) ->
- 2338 |               begin match dep, dep0 with
- 2339 |               | Dependent, Atomic -> SomeTermCands (dep, cov_goals)
- ...
- 2345 |                  then SomeTermCands (dep, cov_goals)
- 2346 |                  else SomeTermCands (dep0, cov_goals0)
- 2347 |                *)
- 2348 |               end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- SomeCtxCands _
- 
- File "src/core/coverage.ml", lines 2282-2356, characters 2-55:
- 2282 | ..match (mv_list, cD) with
- 2283 |   | ([], _) -> NoCandidate
- 2284 |   | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) ->
- 2285 |      if k = j
- 2286 |      then
- ...
- 2353 |             best_cand (cD', mvlist') (k + 1) (md :: cD_tail)
- 2354 |        end
- 2355 |      else
- 2356 |        best_cand (cD', mv_list) (k + 1) (md :: cD_tail)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Offset j::mvlist', Dec (cD', DeclOpt _))
- 
- File "src/core/coverage.ml", lines 2430-2438, characters 7-13:
- 2430 | .......match cl with
- 2431 |        | LF.PTyp _ ->
- 2432 |           let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in
- 2433 |           LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id)))
- 2434 |        | LF.MTyp _ ->
- 2435 |           LF.MObj
- 2436 |             (ConvSigma.etaExpandMMVstr
- 2437 |                Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names)
- 2438 |             )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/coverage.ml", line 2581, characters 16-42:
- 2581 |       begin fun (CovGoal (cPsi', tR, sA')) ->
-                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 2630-2632, characters 10-46:
- 2630 | ..........match tC with
- 2631 |           | MTyp _ -> fun sA -> MTyp (TClo sA)
- 2632 |           | PTyp _ -> fun sA -> PTyp (TClo sA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/coverage.ml", lines 2626-2667, characters 5-8:
- 2626 | .....begin match mT with
- 2627 |      | LF.(ClTyp (tC, cPsi)) ->
- 2628 |         let f =
- 2629 |           let open LF in
- 2630 |           match tC with
- ...
- 2664 |              , t
- 2665 |              )
- 2666 |              end
- 2667 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp None
- 
- File "src/core/coverage.ml", lines 2714-2762, characters 2-55:
- 2714 | ..function
- 2715 |   | [] -> vlist
- 2716 |   | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl ->
- 2717 |      let (pvlist, cvlist, mvlist) = vlist in
- 2718 |      if List.mem u mvlist
- ...
- 2759 |      let (pvlist, cvlist, mvlist) = vlist in
- 2760 |      if List.mem x pvlist
- 2761 |      then mvInSplit cD vlist sl
- 2762 |      else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- SplitCtx ((Null|DDec (_, _)), _)::_
- 
- File "src/core/coverage.ml", line 2773, characters 30-44:
- 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
-                                      ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Inst {instantiation={ _ }; constraints={ _ }; _ }
- 
- File "src/core/coverage.ml", line 2773, characters 16-29:
- 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
-                        ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Inst {instantiation={ _ }; constraints={ _ }; _ }
- 
- File "src/core/coverage.ml", line 2784, characters 33-50:
- 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
-                                         ^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
- 
- File "src/core/coverage.ml", line 2784, characters 16-32:
- 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
-                        ^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
- 
- File "src/core/coverage.ml", line 2867, characters 55-73:
- 2867 |             Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals)
-                                                               ^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxCandidate (_, _, _)
- 
- File "src/core/coverage.ml", lines 2903-2908, characters 2-33:
- 2903 | ..function
- 2904 |   | Comp.PatNil -> Comp.PatNil
- 2905 |   | Comp.PatApp (loc, pat, pS) ->
- 2906 |      let pat' = subst_pattern (pat_r, pv) pat in
- 2907 |      let pS' = subst_pattern_spine (pat_r, pv) pS in
- 2908 |      Comp.PatApp (loc, pat', pS')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- 
- File "src/core/coverage.ml", line 2979, characters 32-45:
- 2979 | let best_pv_cand names (cD, cG) (x :: pvlist) =
-                                        ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/coverage.ml", lines 3002-3013, characters 2-40:
- 3002 | ..match sl with
- 3003 |   | [] -> pvlist
- 3004 |   | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist
- 3005 |   | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist
- 3006 |   | SplitCtx _ :: sl -> pvInSplitCand sl pvlist
- ...
- 3010 |      );
- 3011 |      if List.mem x pvlist
- 3012 |      then pvInSplitCand sl pvlist
- 3013 |      else pvInSplitCand sl (x :: pvlist)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Split ((CovCtx _|CovPatt (_, _, _)), _)::_
- 
- File "src/core/coverage.ml", lines 3223-3231, characters 2-27:
- 3223 | ..let CovPatt (cG', pat', ttau') = covGoal in
- 3224 |   dprintf
- 3225 |     begin fun p ->
- 3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
- 3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
- 3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
- 3229 |     end;
- 3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
- 3231 |   Cand (cD_p, cG_p, ml, sl)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _))
- 
- File "src/core/coverage.ml", line 3222, characters 33-66:
- 3222 | let gen_candidate loc cD covGoal (cD_p, GenPatt (cG_p, pat, ttau)) =
-                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _)))
- 
- File "src/core/coverage.ml", lines 3399-3434, characters 2-50:
- 3399 | ..function
- 3400 |   | LF.Empty -> false
- 3401 |   | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) ->
- 3402 |      begin
- 3403 |        try
- ...
- 3431 |           print_string "Unable to prove given type is empty\n"; check_emptiness cD'
- 3432 |      end
- 3433 | 
- 3434 |   | LF.Dec (cD', LF.Decl _) -> check_emptiness cD'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt _)
- 
- File "src/core/coverage.ml", lines 3437-3447, characters 2-8:
- 3437 | ..function
- 3438 |   | LF.Empty -> false
- 3439 |   | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) ->
- 3440 |      begin
- 3441 |        try
- ...
- 3444 |          | _ -> check_empty_comp names cD cG
- 3445 |        with
- 3446 |        | _ -> check_empty_comp names cD cG
- 3447 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Automation.cmo -c -impl src/harpoon/automation.ml)
- File "src/harpoon/automation.ml", lines 107-115, characters 7-10:
- 107 | .......let LF.ClTyp (_, cPsi) as cU = Whnf.cnormMTyp (cU, t) in
- 108 |        let head = MVar (Offset idx, S.LF.id) in
- 109 |        let clobj = MObj (Root (Location.ghost, head, Nil, Plicity.explicit)) in
- 110 |        let psi_hat = Context.dctxToHat cPsi in
- 111 |        Box
- 112 |          ( Location.ghost
- 113 |          , (Location.ghost, ClObj (psi_hat, clobj))
- 114 |          , cU
- 115 |          )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Prover.cmo -c -impl src/harpoon/prover.ml)
- File "src/harpoon/prover.ml", line 241, characters 38-65:
- 241 |     let parser = Parsing.(only (maybe interactive_harpoon_command)) in
-                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Error: This expression has type
-          "Beluga_parser.Parser.Parsing.state ->
-          Beluga_parser.Parser.Parsing.state *
-          (Synprs.harpoon_repl_command, exn) result"
-        but an expression was expected of type
-          "Beluga_parser.Parser.Parsing.state ->
-          Beluga_parser.Parser.Parsing.state * ('a, exn) result"
-        The layout of Synprs.harpoon_repl_command is any
-          because the .cmi file for Synprs.harpoon_repl_command is missing.
-        But the layout of Synprs.harpoon_repl_command must be a sublayout of value.
-        No .cmi file found containing Synprs.harpoon_repl_command.
-        Hint: Adding "synprs" to your dependencies might help.
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Reconstruct.cmo -c -impl src/core/reconstruct.ml)
- File "src/core/reconstruct.ml", lines 55-179, characters 20-41:
-  55 | ....................function
-  56 |   | NotImplemented f ->
-  57 |       Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]"
-  58 |         f ()
-  59 |   | MCtxIllformed cD ->
- ...
- 176 |         @,  @[%a@]\
- 177 |         @]"
- 178 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC_p
- 179 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- IllegalSubstMatch
- 
- File "src/core/reconstruct.ml", lines 217-218, characters 2-45:
- 217 | ..function
- 218 |   | Int.LF.Decl d -> Name.mk_some_name d.name
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/reconstruct.ml", lines 258-267, characters 4-26:
- 258 | ....match tau, n with
- 259 |     | _, 0 -> 0
- 260 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n ->
- 261 |       Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__)
- 262 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n ->
- 263 |       1 + skip tau n (* implicits are free *)
- 264 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n ->
- 265 |       1 + skip tau (n - 1) (* explicits pi-types cost 1 *)
- 266 |     | I.TypArr (_, _, tau), n ->
- 267 |       1 + skip tau (n - 1)..............................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypPiBox (_, DeclOpt _, _), 1)
- 
- File "src/core/reconstruct.ml", lines 292-298, characters 9-92:
- 292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in
- 293 |          if Id.cid_schema_equal s_cid s_cid'
- 294 |          then Int.LF.CtxVar (Int.LF.CtxName psi)
- 295 |          else
- 296 |            let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in
- 297 |            let c_var' = Int.LF.CtxName psi in
- 298 |            Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=CTyp None; _ })
- 
- File "src/core/reconstruct.ml", lines 343-361, characters 7-10:
- 343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in
- 344 |        begin
- 345 |          let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in
- 346 |          Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi);
- 347 |          match Context.ctxVar cPsi with
- ...
- 358 |                   }
- 359 |               )
- 360 |          | _ -> ()
- 361 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp None
- 
- File "src/core/reconstruct.ml", lines 396-400, characters 2-23:
- 396 | ..match cG, k with
- 397 |   | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 ->
- 398 |      Whnf.cnormCTyp (tau, Whnf.m_id)
- 399 |   | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k ->
- 400 |      lookup cG' (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dec (cG', CTypDeclOpt _), _)
- 
- File "src/core/reconstruct.ml", lines 410-416, characters 2-32:
- 410 | ..function
- 411 |   | Apx.LF.Empty -> Int.LF.Empty
- 412 |   | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) ->
- 413 |      let ctx' = elTypDeclCtx cD ctx in
- 414 |      let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in
- 415 |      let typDecl' = Int.LF.TypDecl (name, tA) in
- 416 |      Int.LF.Dec (ctx', typDecl')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (ctx, TypDeclOpt _)
- 
- File "src/core/reconstruct.ml", line 459, characters 20-52:
- 459 | let elCDecl recT cD (Apx.LF.Decl (u, ctyp, plicity)) =
-                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt _
- 
- File "src/core/reconstruct.ml", lines 519-557, characters 4-26:
- 519 | ....function
- 520 |     | (Int.LF.Typ, _s) ->
- 521 |        Int.LF.Nil
- 522 | 
- 523 |     | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) ->
- ...
- 554 |            (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s))
- 555 |          end;
- 556 |        let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in
- 557 |        Int.LF.App (tR, tS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/reconstruct.ml", lines 563-575, characters 2-8:
- 563 | ..function
- 564 |   | Int.LF.Atom (_, a, _) ->
- 565 |      mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind
- 566 | 
- 567 |   | Int.LF.Sigma trec ->
- ...
- 572 |      Int.LF.PiTyp
- 573 |        ( (tdecl', depend, plicity)
- 574 |        , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA
- 575 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/reconstruct.ml", lines 578-580, characters 2-41:
- 578 | ..function
- 579 |   | Int.LF.TypDecl (x, tA) ->
- 580 |      Int.LF.TypDecl (x, mgTyp cD cPsi tA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/reconstruct.ml", lines 637-640, characters 5-18:
- 637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
- 638 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
- 639 |      in
- 640 |      Int.LF.PObj h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Root (_, h, (App (_, _)|SClo (_, _)), _)
- 
- File "src/core/reconstruct.ml", lines 647-650, characters 5-18:
- 647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
- 648 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
- 649 |      in
- 650 |      Int.LF.PObj h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Root (_, h, (App (_, _)|SClo (_, _)), _)
- 
- File "src/core/reconstruct.ml", lines 711-727, characters 2-104:
- 711 | ..match (s, cKt) with
- 712 |   | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) ->
- 713 |      Int.Comp.MetaNil
- 714 | 
- 715 |   | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) ->
- ...
- 724 | 
- 725 |   | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) ->
- 726 |      let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in
- 727 |      Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaApp (_, _), (PiKind (_, DeclOpt _, _), _))
- 
- File "src/core/reconstruct.ml", lines 798-803, characters 4-65:
- 798 | ....function
- 799 |     | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil
- 800 |     | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) ->
- 801 |        let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in
- 802 |        let mS = genMetaSpine (cK, t') in
- 803 |        Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind (loc', DeclOpt _, _), _)
- 
- File "src/core/reconstruct.ml", lines 830-842, characters 2-49:
- 830 | ..match cPsi with
- 831 |   | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) ->
- 832 |      let (n, sW) = Whnf.mctxCDec cD psi_var in
- 833 |      let v =
- 834 |        let open Int.LF in
- ...
- 839 |   | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) ->
- 840 |      let cPsi' = mgCtx cD' (cD, cPsi) in
- 841 |      let tA' = mgTyp cD' cPsi' tA in
- 842 |      Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/reconstruct.ml", lines 921-939, characters 7-54:
- 921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in
- 922 |        dprintf
- 923 |          begin fun p ->
- 924 |          p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\
- 925 |                 @,mC    = @[%a@]\
- ...
- 936 |            (mT, Whnf.m_id)
- 937 |        with
- 938 |        | Unify.Failure msg ->
- 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
- TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
- 
- File "src/core/reconstruct.ml", lines 916-939, characters 4-54:
- 916 | ....match caseT with
- 917 |     | DataObj -> () (* not dependent pattern matching; nothing to do *)
- 918 |     | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) ->
- 919 |        let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in
- 920 |        (* tau_p' _has_ to be a box type if caseT is an IndexObj  *)
- ...
- 936 |            (mT, Whnf.m_id)
- 937 |        with
- 938 |        | Unify.Failure msg ->
- 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- IndexObj
-   (PatAnn
-      (_,
-      (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)|
-      PatAnn (_, _, _, _)), _, _),
-   _)
- 
- File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22:
- 1369 | .......match id with
- 1370 |        | None -> true
- 1371 |        | Some Apx.LF.Id -> true
- 1372 |        | Some Apx.LF.EmptySub ->
- 1373 |           let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in
- 1374 |           match cPhi, cPsi with
- 1375 |           | Int.LF.Null, Int.LF.Null -> true
- 1376 |           | _ -> false
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (Dot (_, _)|SVar (_, _)|FSVar (_, _))
- 
- File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9:
- 1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in
- 1394 |       let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in
- 1395 |       let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in
- 1396 |       let s0' = Substitution.LF.comp s0 s' in
- 1397 |       begin match s0' with
- ...
- 1413 |          else
- 1414 |            throw loc IllegalSubstMatch
- 1415 |       | _ -> throw loc IllegalSubstMatch
- 1416 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _))
- 
- File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8:
- 1421 | .....begin
- 1422 |        match cpsi with
- 1423 |        | Apx.LF.CtxVar (ctxvar) ->
- 1424 |           let c_var = Lfrecon.elCtxVar ctxvar in
- 1425 |           let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in
- ...
- 1439 |                  end
- 1440 |                |> throw loc
- 1441 |           end
- 1442 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Null|CtxHole|DDec (_, _))
- 
- File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6:
- 1194 | ..match i with
- 1195 |   | Apx.Comp.Var (loc, offset) ->
- 1196 |      let tau = lookup cG offset in
- 1197 |      dprintf
- 1198 |        begin fun p ->
- ...
- 1455 |      , ( Int.Comp.TypCross (loc, ttaus')
- 1456 |        , C.m_id
- 1457 |        )
- 1458 |      )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Box
-   (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))
- 
- File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8:
- 1524 | ..match (pat, ttau) with
- 1525 |   | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) ->
- 1526 |      let tau' = Whnf.cnormCTyp (tau, theta) in
- 1527 |      dprintf
- 1528 |        begin fun p ->
- ...
- 1597 |        | Unify.Failure msg ->
- 1598 |           dprint (fun () -> "Unify Error: " ^ msg);
- 1599 |           raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau')))
- 1600 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatFVar (_, _), _)
- 
- File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57:
- 1603 | ..function
- 1604 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
- 1605 |      let tau' = elCompTyp cD tau in
- 1606 |      let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in
- 1607 |      (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id))
- ...
- 1610 |      let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in
- 1611 |      dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c));
- 1612 |      let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in
- 1613 |      (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _))
- 
- File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8:
- 1690 | .....begin match ttau with
- 1691 |      | (Int.Comp.TypCobase (_, _, _), _) ->
- 1692 |         let { Store.Cid.CompDest.Entry.name
- 1693 |             ; mctx = cD'
- 1694 |             ; obs_type = tau0
- ...
- 1730 |         let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in
- 1731 |         (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2)
- 1732 |      (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *)
- 1733 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _)
- 
- File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68:
- 1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in
- 1750 |      let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in
- 1751 |      let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in
- 1752 |      let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in
- 1753 |      let ttau' = (tau', Whnf.m_id) in
- 1754 |      let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in
- 1755 |      (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *)
- 1756 |      (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _))
- 
- File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13:
- 1784 | ..........begin match mT with
- 1785 |           | Int.LF.(MTyp (Atom _ | Sigma _ as tA))->
- 1786 |              let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in
- 1787 |              let tP' = mgTyp cD cPsi' tA in
- 1788 |              (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi'))
- ...
- 1798 |                 fixParamTyp in check.ml, and it is only used for
- 1799 |                 coverage checking. *)
- 1800 |              Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible"
- 1801 |           end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MTyp (TClo _)
- 
- File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5:
- 2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' =
- 2085 |     elHypotheses h
- 2086 |   in
- 2087 |   dprintf
- 2088 |     begin fun p ->
- ...
- 2103 |     ( loc
- 2104 |     , h'
- 2105 |     , elProof cD cG label p ttau
- 2106 |     )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
- 
- File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29:
- 2288 | ...........match k, tA' with
- 2289 |            | Some k, Int.LF.Sigma tRec ->
- 2290 |               (* Compute the type of the kth projection of tRec. *)
- 2291 |               Int.LF.getType h (tRec, LF.id) k
- 2292 |               |> Whnf.normTyp
- ...
- 2298 |                  A projected case #n.k is required.
- 2299 |                *)
- 2300 |               assert false
- 2301 |            | None, tA' -> tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _))
- 
- File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56:
- 2339 | .......let Int.LF.MTyp tP = cU in
- 2340 |        let (cD', (cPsi', tR_p, tA_p), t) =
- 2341 |          match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with
- 2342 |          | None -> assert false
- 2343 |          (* FIXME: throw an appropriate error
- ...
- 2417 |          cD_b |- [t o t']tau <= type
- 2418 |         *)
- 2419 |        in
- 2420 |        I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PTyp _|STyp (_, _))
- 
- File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57:
- 2428 | .......let Int.LF.MTyp tA = cU in
- 2429 |        let (cD', (cPsi', tM, sA), t) =
- 2430 |          match Coverage.genBVar (cD, cPsi, tA) 1 with
- 2431 |          | [x] -> x
- 2432 |          | _ ->
- ...
- 2460 |        let l' = `bvar in
- 2461 |        let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in
- 2462 |        let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in
- 2463 |        I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PTyp _|STyp (_, _))
- 
- File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44:
- 2545 | .....let Some w = w in
- 2546 |      let ctx_branches = List.map (make_ctx_branch w) bs in
- 2547 |      I.ContextSplit (i, tau_i, ctx_branches)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17:
- 2562 | .....let (cD', cG', Int.LF.Empty, tau', _) =
- 2563 |        Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau)
- 2564 |      in
- 2565 |      let hyp =
- 2566 |        elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id)
- 2567 |      in
- 2568 |      I.Intros hyp
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD', cG', Dec (_, WfRec (_, _, _)), _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Tactic.cmo -c -impl src/harpoon/tactic.ml)
- File "src/harpoon/tactic.ml", lines 227-231, characters 7-55:
- 227 | .......match cG with
- 228 |        | LF.Dec (cG', Comp.CTypDecl (n, tA, _)) when k == 1 ->
- 229 |           LF.Dec (cG', Comp.CTypDecl (n, tA, false))
- 230 |        | LF.Dec (cG', decl) ->
- 231 |           LF.Dec (unmark_inductive_var cG' (k-1), decl)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/harpoon/tactic.ml", lines 453-468, characters 12-72:
- 453 | ............let LF.(MObj (Root (_, h, _, _))) = tM in
- 454 |             match h with
- 455 |             | LF.PVar (n, s) -> `pvar None
- 456 |             | LF.(Proj (PVar (n, s), k)) -> `pvar (Some k)
- 457 |             | LF.Const cid -> `ctor cid
- ...
- 465 |                    P.(fmt_ppr_cmp_pattern cD cG l0) pat
- 466 |                  end;
- 467 |                  Error.raise_violation
- 468 |                  "[make_meta_branch] head neither pvar (proj) nor const"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MObj (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Logic.cmo -c -impl src/core/logic.ml)
- File "src/core/logic.ml", lines 190-203, characters 4-36:
- 190 | ....match tN with
- 191 |     | LF.Lam (l, n, tN') ->
- 192 |        begin
- 193 |          incr lR;
- 194 |          let tM = LF.Lam (l, n, shiftNormal tN' k) in
- ...
- 200 |     | LF.Clo (tN, s) ->
- 201 |        LF.Clo (shiftNormal tN k, s)
- 202 |     | LF.Tuple (l, tP) ->
- 203 |        LF.Tuple (l, shiftTuple tP k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- LFHole (_, _, _)
- 
- File "src/core/logic.ml", lines 241-251, characters 4-8:
- 241 | ....match tA with
- 242 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tA') ->
- 243 |        typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR)
- 244 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
- 245 |        typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR)))
- ...
- 248 |        { tHead = (Shift.shiftAtom tA (-cS, -dS, dR))
- 249 |        ; eVars = eV
- 250 |        ; subGoals = cG
- 251 |        }
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, Explicit), _)
- 
- File "src/core/logic.ml", lines 297-306, characters 4-30:
- 297 | ....match tA with
- 298 |     | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') ->
- 299 |        All (tdec, typToGoal tA' (cS, dS, dR + 1))
- 300 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) ->
- 301 |        Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1))
- 302 |     | LF.Atom _ ->
- 303 |        Atom (Shift.shiftAtom tA (-cS, -dS, dR))
- 304 |     | LF.TClo (tA, s) ->
- 305 |        dprintf begin fun p -> p.fmt "[typToGoal] TClo" end;
- 306 |        raise NotImplementedYet
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, Explicit), _)
- 
- File "src/core/logic.ml", lines 309-315, characters 4-47:
- 309 | ....match tM with
- 310 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tM') ->
- 311 |        Exists (tD, typToRes tM' (cS, dS, dR + 1))
- 312 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
- 313 |        And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1))
- 314 |     | LF.Atom _ ->
- 315 |        Head (Shift.shiftAtom tM (-cS, -dS, dR))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, Explicit), _)
- 
- File "src/core/logic.ml", lines 326-348, characters 4-34:
- 326 | ....match tau with
- 327 |     | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) ->
- 328 |        (* Invariant: tA will always be atomic in our implementation *)
- 329 |        Box (cPsi, Atom tA, Some M)
- 330 |        (* possibly needs to have PiBox variables shifted;
- ...
- 345 |        let typ_dec = Comp.CTypDecl (name, tau1 , true) in
- 346 |        Implies ((cr1, typ_dec), cg2)
- 347 |     | Comp.TypBase (_, comp_cid, s) ->
- 348 |        Atomic (comp_cid, msToAs s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypBox (_, CTyp _)
- 
- File "src/core/logic.ml", lines 351-358, characters 4-47:
- 351 | ....match tau with
- 352 |     | Comp.TypBox (_) | Comp.TypBase(_) ->
- 353 |        Base tau
- 354 |     | Comp.TypArr (_, tau1, tau2) ->
- 355 |        CAnd (comptypToCompGoal tau1, comptypToCompRes tau2)
- 356 |     | Comp.TypPiBox (_, typ_dec, tau') ->
- 357 |        CExists (typ_dec, comptypToCompRes tau')
- 358 |     | Comp.TypInd tau' -> comptypToCompRes tau'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
- 
- File "src/core/logic.ml", lines 394-402, characters 4-30:
- 394 | ....match box with
- 395 |     | Box (cPsi, Atom tA, Some M) ->
- 396 |        let loc = Location.ghost in
- 397 |        let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in
- 398 |        Comp.TypBox (loc, ctyp)
- 399 |     | Box (cPsi, Atom tA, Some P) ->
- 400 |        let loc = Location.ghost in
- 401 |        let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in
- 402 |        Comp.TypBox (loc, ctyp)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Box (_, Atom _, None)
- 
- File "src/core/logic.ml", lines 412-416, characters 4-34:
- 412 | ....match atomic with
- 413 |     | Atomic (cid, aS) ->
- 414 |        let loc = Location.ghost in
- 415 |        let mS = asToMs aS in
- 416 |        Comp.TypBase (loc, cid, mS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Box (_, _, _)|Implies ((_, _), _)|Forall (_, _))
- 
- File "src/core/logic.ml", lines 434-443, characters 4-10:
- 434 | ....match tA with
- 435 |     | LF.Atom _ ->
- 436 |        let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in
- 437 |        LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit)
- 438 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) ->
- 439 |        LF.Lam
- 440 |          ( Location.ghost
- 441 |          , x
- 442 |          , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s)
- 443 |          )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/logic.ml", lines 462-470, characters 4-68:
- 462 | ....match eV with
- 463 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
- 464 |        let (s', fS') = dctxToSub cD cPsi (eV', s) fS in
- 465 |        let tM' = etaExpand cD cPsi (tA, s') in
- 466 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
- 467 |     | LF.Null -> (s, fS)
- 468 |     | LF.CtxVar _ ->
- 469 |        invalid_arg
- 470 |          "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _."
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (eV', TypDeclOpt _)
- 
- File "src/core/logic.ml", lines 475-481, characters 4-28:
- 475 | ....match eV with
- 476 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
- 477 |        let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in
- 478 |        let tM' = etaExpand cD cPsi (tA, s') in
- 479 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
- 480 |     | LF.Null -> (s, fS)
- 481 |     | LF.CtxVar _ -> (s, fS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (eV', TypDeclOpt _)
- 
- File "src/core/logic.ml", lines 500-501, characters 6-52:
- 500 | ......match lst with
- 501 |       | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 510-513, characters 6-20:
- 510 | ......match dctx with
- 511 |       | LF.DDec (dctx', _) -> find_ctxvar_offset dctx'
- 512 |       | LF.CtxVar (LF.CtxOffset k) -> k
- 513 |       | LF.Null -> 0
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/logic.ml", lines 697-709, characters 9-47:
- 697 | .........(match mtyp with
- 698 |          | LF.ClTyp (LF.MTyp _, _) ->
- 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
- 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
- 701 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
- ...
- 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
- 707 |               ((x, (loc, mfront)) :: xs)
- 708 |          | LF.CTyp cid_opt ->
- 709 |             comptypToMQuery' (tau', i-1) ms xs)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (STyp (_, _), _)
- 
- File "src/core/logic.ml", lines 696-709, characters 9-47:
- 696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in
- 697 |          (match mtyp with
- 698 |          | LF.ClTyp (LF.MTyp _, _) ->
- 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
- 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
- ...
- 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
- 707 |               ((x, (loc, mfront)) :: xs)
- 708 |          | LF.CTyp cid_opt ->
- 709 |             comptypToMQuery' (tau', i-1) ms xs)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/logic.ml", lines 1084-1094, characters 4-72:
- 1084 | ....match r with
- 1085 |     | Head tH ->
- 1086 |        fmt_ppr_typ cD cPsi ppf (tH, s)
- 1087 |     | And (g, r') ->
- 1088 |        fprintf ppf "%a -> %a"
- ...
- 1091 |     | Exists (LF.TypDecl (_, _tA) as tD, r') ->
- 1092 |        fprintf ppf "(∃%a. %a)"
- 1093 |          (fmt_ppr_decl cD cPsi) (tD, s)
- 1094 |          (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Exists (TypDeclOpt _, _)
- 
- File "src/core/logic.ml", lines 1305-1332, characters 4-19:
- 1305 | ....match s with
- 1306 |     | LF.Shift _ -> true
- 1307 |     | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') ->
- 1308 |        if uninstantiated hd then false
- 1309 |        else check_sub s'
- ...
- 1329 |        if uninstantiated hd then false
- 1330 |        else check_sub s'
- 1331 |     | LF.Dot (_, s') ->
- 1332 |        check_sub s'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/logic.ml", lines 1337-1339, characters 6-48:
- 1337 | ......match cD with
- 1338 |       | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity
- 1339 |       | LF.Dec (cD', _) -> get_plicity cD' (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/logic.ml", lines 1394-1412, characters 4-30:
- 1394 | ....match g with
- 1395 |     | Atom tA ->
- 1396 |        matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth)
- 1397 | 
- 1398 |     | Impl ((r, (LF.TypDecl (x, _) as tD)), g') ->
- ...
- 1409 |           So we just prove the conclusion in an extended context. *)
- 1410 |        gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s)
- 1411 |          (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM)))
- 1412 |          (currDepth, maxDepth)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Impl ((r, TypDeclOpt _), _)
- 
- File "src/core/logic.ml", lines 1444-1446, characters 17-29:
- 1444 | .................match cltyp with
- 1445 |          | LF.MTyp tau -> tau
- 1446 |          | LF.PTyp tau -> tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 1439-1483, characters 4-96:
- 1439 | ....match cD with
- 1440 |     | LF.Empty -> raise NoSolution
- 1441 |     | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) ->
- 1442 |        solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
- 1443 |     | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) ->
- ...
- 1480 |            end
- 1481 |        with
- 1482 |        | U.Failure _ ->
- 1483 |      solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, DeclOpt _)
- 
- File "src/core/logic.ml", lines 1496-1600, characters 4-76:
- 1496 | ....match s with
- 1497 |     | LF.Shift _ ->
- 1498 | dprintf begin fun p ->
- 1499 |             p.fmt "[trivially_prove] s_all = %a"
- 1500 |               (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all
- ...
- 1597 |          with
- 1598 |          | U.Failure _ | NoSolution -> raise NoSolution)
- 1599 |     | LF.Dot (_, s') ->
- 1600 |        trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/logic.ml", lines 2260-2263, characters 4-25:
- 2260 | ....match cG with
- 2261 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name
- 2262 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) ->
- 2263 |        get_name (k-1) cG'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG', CTypDeclOpt _)
- 
- File "src/core/logic.ml", lines 2337-2340, characters 4-21:
- 2337 | ....match cdecl with
- 2338 |     | Comp.CTypDecl (_, tau, _) ->
- 2339 |        let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
- 2340 |        (cc, k, Boxed)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/logic.ml", lines 2416-2417, characters 9-57:
- 2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
- 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Full (Full (_, ({ _ }, _, _)), ({ _ }, _, _))
- 
- File "src/core/logic.ml", lines 2407-2418, characters 6-33:
- 2407 | ......match (cP, cG) with
- 2408 |       | (Emp, LF.Dec(cG', cdecl)) ->
- 2409 |          let cc = decToCC cdecl 1 in
- 2410 |          let cP_ret' = shift_cPool cP_ret 1 in
- 2411 |          update cP cG' (prependToCPool cc cP_ret') (k+1)
- ...
- 2415 |            if pos' = k then unbox cc else cc in
- 2416 |          let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
- 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
- 2418 |       | (Emp, LF.Empty) -> cP_ret
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Full (cP', cc), Empty)
- 
- File "src/core/logic.ml", lines 2470-2476, characters 6-36:
- 2470 | ......match tA with
- 2471 |       | LF.Atom (l, cid, sp) ->
- 2472 |          LF.Atom (l, cid, remove_sp sp)
- 2473 |       | LF.PiTyp ((td, depend, plicity), tA') ->
- 2474 |          LF.PiTyp ((td, depend, plicity), remove_typ tA)
- 2475 |       | LF.TClo (tA', s) ->
- 2476 |          LF.TClo (remove_typ tA', s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Sigma _
- 
- File "src/core/logic.ml", lines 2495-2508, characters 6-49:
- 2495 | ......match tau with
- 2496 |       | Comp.TypBase (l, cid, mS) ->
- 2497 |          Comp.TypBase (l, cid, remove_mS mS)
- 2498 |       | Comp.TypBox (l, mT) ->
- 2499 |          (match mT with
- ...
- 2505 |       | Comp.TypArr (l, tau1, tau2) ->
- 2506 |          Comp.TypArr (l, remove_tau tau1, remove_tau tau2)
- 2507 |       | Comp.TypPiBox (l, cdec, tau') ->
- 2508 |          Comp.TypPiBox (l, cdec, remove_tau tau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _)
- 
- File "src/core/logic.ml", lines 2731-2741, characters 9-52:
- 2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
- 2732 |          let mmvar' =
- 2733 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
- 2734 |              mmvar.LF.inductivity in
- 2735 |          let norm = LF.Root (noLoc,
- ...
- 2738 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
- 2739 |          let x = Comp.M ((noLoc, mf), mT) in
- 2740 |          let (xs, sub) = gen_new_ih_args lst' ys in
- 2741 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/logic.ml", lines 2752-2762, characters 9-52:
- 2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
- 2753 |          let mmvar' =
- 2754 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
- 2755 |              mmvar.LF.inductivity in
- 2756 |          let norm = LF.Root (noLoc, LF.MMVar
- ...
- 2759 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
- 2760 |          let x = Comp.M ((noLoc, mf), mT) in
- 2761 |          let (xs, sub) = gen_new_ih_args lst' ys in
- 2762 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/logic.ml", lines 2771-2779, characters 9-58:
- 2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in
- 2772 |          let mmvar' =
- 2773 |            Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
- 2774 |              mmvar.LF.inductivity in
- 2775 |          let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in
- 2776 |          let mf = LF.ClObj (dctx_hat, LF.PObj hd) in
- 2777 |          let x = Comp.M ((noLoc, mf), mT) in
- 2778 |          let (xs, sub) = gen_new_ih_args lst' ys in
- 2779 |          (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|STyp (_, _)), _)
- 
- File "src/core/logic.ml", lines 2842-2843, characters 11-44:
- 2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in
- 2843 |            (loc, LF.ClObj (dh, LF.PObj hd'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/logic.ml", lines 2920-2921, characters 6-42:
- 2920 | ......match i with
- 2921 |       | Comp.Var(l, k) -> Comp.Var(l, k+1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))|
- LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)|
- Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)|
- Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)|
- AnnBox (_, (_, _), _))
- 
- File "src/core/logic.ml", lines 2977-2978, characters 6-37:
- 2977 | ......match cltyp with
- 2978 |       | LF.MTyp tA | LF.PTyp tA -> tA
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 2998-3001, characters 6-58:
- 2998 | ......match cG_a with
- 2999 |       | [] -> false
- 3000 |       | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' ->
- 3001 |          (Name.equal name name2) || (old_split name cG_a')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CTypDeclOpt _, _, _, _, _, _)::_
- 
- File "src/core/logic.ml", lines 3005-3009, characters 6-37:
- 3005 | ......match cG_a with
- 3006 |       | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a'
- 3007 |            when Name.equal name name2 ->
- 3008 |          (con, thm, bool)
- 3009 |       | x :: xs -> find_split name xs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3013-3065, characters 6-30:
- 3013 | ......match (cG, cPool) with
- 3014 |       | (LF.Dec(cG',
- 3015 |                 ((Comp.CTypDecl (name, Comp.TypBox
- 3016 |                                          (_, LF.ClTyp (cltyp, cPsi)), _wf))
- 3017 |                  as cdecl)),
- ...
- 3062 |       | (LF.Dec (cG', _), Full (cPool', _)) ->
- 3063 |          update (cG', cPool', ret)
- 3064 | 
- 3065 |       | (LF.Empty, Emp) -> ret
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dec (cG', _), Emp)
- 
- File "src/core/logic.ml", lines 3084-3087, characters 6-38:
- 3084 | ......match cD_a with
- 3085 |       | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a'
- 3086 |            when Name.equal d.name n -> x
- 3087 |       | _ :: cD_a' -> retrieve n cD_a'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3103-3108, characters 21-41:
- 3103 | .....................match cltyp with
- 3104 |            | LF.MTyp tA ->
- 3105 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
- 3106 |                                 LF.Nil, Plicity.explicit))
- 3107 |            | LF.PTyp tA ->
- 3108 |               LF.PObj (LF.PVar (1, S.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3094-3118, characters 9-31:
- 3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
- 3095 |            retrieve name cD_a in
- 3096 |          let (con', bool') =
- 3097 |            if bool then
- 3098 |               try
- ...
- 3115 |          let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in
- 3116 |          let x = (tdecl', Some i, con', 1, thm, bool') in
- 3117 |          let ret' = shift_cD_a ret in
- 3118 |          update cD' (x :: ret')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (DeclOpt { _ }, _, _, _, _, _)
- 
- File "src/core/logic.ml", lines 3126-3131, characters 21-41:
- 3126 | .....................match cltyp with
- 3127 |            | LF.MTyp tA ->
- 3128 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
- 3129 |                                 LF.Nil, Plicity.explicit))
- 3130 |            | LF.PTyp tA ->
- 3131 |               LF.PObj (LF.PVar (1, S.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3090-3157, characters 6-23:
- 3090 | ......match cD with
- 3091 |       | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp)
- 3092 |                                ; plicity = Plicity.Explicit; _ }) as tdecl))
- 3093 |            when is_in name cD_a ->
- 3094 |          let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
- ...
- 3154 |          let x = (tdecl', None, con, 1, None, bool) in
- 3155 |          let ret' = shift_cD_a ret in
- 3156 |          update cD' (x :: ret')
- 3157 |       | LF.Empty -> ret
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, DeclOpt _)
- 
- File "src/core/logic.ml", lines 3243-3251, characters 6-44:
- 3243 | ......match cG_a with
- 3244 |       | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a'
- 3245 |            when Name.equal name n ->
- 3246 |          (tau, i, thm_var,
- 3247 |           (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false)
- 3248 |           :: cG_a', k)
- 3249 |       | x :: cG_a' ->
- 3250 |          let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in
- 3251 |          (tau, i, thm_var, x :: cG_a'', pos)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3256-3264, characters 6-39:
- 3256 | ......match cD_a with
- 3257 |       | (LF.Decl d, Option.Some i, no, k, thm_var, true)
- 3258 |         :: cD_a' when Name.equal name d.name ->
- 3259 |          let tau = Comp.TypBox(noLoc, d.typ) in
- 3260 |          (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false)
- 3261 |                      :: cD_a')
- 3262 |       | x :: cD_a' ->
- 3263 |          let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in
- 3264 |          (tau, i, thm_var, x :: cD_a'')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3330-3332, characters 9-42:
- 3330 | .........let (Some n) = find_mvar k cD_a in
- 3331 |          let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in
- 3332 |          (tau, i, thm_var, cD_a', cG_a, 0).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 3358-3365, characters 8-50:
- 3358 | ........match cG_a with
- 3359 |         | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool)
- 3360 |           :: cG_a' when Name.equal name name2 ->
- 3361 |            (cdecl, con, thm, bool, cG_a')
- 3362 |         | x :: xs ->
- 3363 |            let (tdecl, num, thm_var, bool, cG_a') =
- 3364 |              remove xs in
- 3365 |            (tdecl, num, thm_var, bool, x :: cG_a')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3374-3399, characters 7-25:
- 3374 | .......(match cltyp with
- 3375 |        | LF.MTyp tA ->
- 3376 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in
- 3377 |           let norm =
- 3378 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
- ...
- 3396 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
- 3397 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
- 3398 |                       :: (shift_cD_a cD_a) in
- 3399 |           (cD_a', cG_a'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3403-3428, characters 7-25:
- 3403 | .......(match cltyp with
- 3404 |        | LF.MTyp _ ->
- 3405 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in
- 3406 |           let norm =
- 3407 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
- ...
- 3425 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
- 3426 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
- 3427 |                       :: (shift_cD_a cD_a) in
- 3428 |           (cD_a', cG_a'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3489-3525, characters 7-31:
- 3489 | .......(match cltyp with
- 3490 |         | LF.MTyp _ ->
- 3491 |           let norm =
- 3492 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
- 3493 |                      LF.Nil, plicity) in
- ...
- 3522 |             | false -> None
- 3523 |           in
- 3524 |           (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true)
- 3525 |           :: (shift_cD_a cD_a))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3646-3651, characters 4-46:
- 3646 | ....match cG with
- 3647 |     | LF.Empty -> cPool
- 3648 |     | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) ->
- 3649 |        let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
- 3650 |        let cc = (clause, (lengthCPool cPool) + 1, Boxed) in
- 3651 |        gen_cPool cG' (prependToCPool cc cPool)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG', CTypDeclOpt _)
- 
- File "src/core/logic.ml", lines 3898-3900, characters 6-46:
- 3898 | ......match cD with
- 3899 |       | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name
- 3900 |       | LF.Dec (cD', _) -> find_name cD' (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/logic.ml", lines 4037-4047, characters 22-64:
- 4037 | ......................match mobj with
- 4038 |         | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
- 4039 |           | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) ->
- 4040 |            mmvar.LF.instantiation :=
- 4041 |              Some (LF.INorm (LF.Root (noLoc,
- ...
- 4044 |         | LF.PObj LF.MPVar ((mmvar, _), _)
- 4045 |           | LF.PObj LF.MMVar ((mmvar, _), _) ->
- 4046 |            mmvar.LF.instantiation :=
- 4047 |              Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MObj
-   (Root
-      (_,
-      (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-      FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _))
- 
- File "src/core/logic.ml", lines 4051-4057, characters 6-26:
- 4051 | ......match ih_args with
- 4052 |       | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs ->
- 4053 |          if Solver.uninstantiated hd then mobj else grab xs
- 4054 |       | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _))
- 4055 |         :: xs->
- 4056 |          if Solver.uninstantiated hd then mobj else grab xs
- 4057 |       | _ :: xs -> grab xs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 4060-4064, characters 14-56:
- 4060 | ..............match mobj with
- 4061 |       | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
- 4062 |       | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _))
- 4063 |       | LF.PObj LF.MPVar ((mmvar, _), _)
- 4064 |       | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MObj
-   (Root
-      (_,
-      (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|
-      FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)|
-      HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _))), _,
-      _))
- 
- File "src/core/logic.ml", lines 4079-4090, characters 6-88:
- 4079 | ......let Some cid = thm_cid in
- 4080 |       let i = Comp.Const(noLoc, cid) in
- 4081 |       let sc' = (fun e -> sc (Comp.Case (noLoc,
- 4082 |                                        Comp.PragmaNotCase,
- 4083 |                                        Whnf.cnormExp (fS i, LF.MShift 0),
- ...
- 4087 |                                                      pattern,
- 4088 |                                                      LF.MShift 0,
- 4089 |                                                      e)]))) in
- 4090 |       find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 4126-4128, characters 21-40:
- 4126 | .....................match (currDepth, maxDepth) with
- 4127 |         | (Some k, None) -> (k, 0)
- 4128 |         | (Some k1, Some k2) -> (k1, k2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (None, _)
- 
- File "src/core/logic.ml", lines 4290-4311, characters 9-83:
- 4290 | .........let Some cid = thm_cid in
- 4291 |          let i = arg_builder (Comp.Const(noLoc, cid)) in
- 4292 |          let (ms', fS) =
- 4293 |            C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in
- 4294 |          let ms'' = rev_ms ms' 0 in
- ...
- 4308 |          with
- 4309 |          | U.Failure _ | DepthReached _ | End_Of_Search ->
- 4310 |          focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
- 4311 |            (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 4595-4597, characters 6-57:
- 4595 | ......match cG with
- 4596 |       | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau
- 4597 |       | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/logic.ml", lines 4895-4905, characters 10-31:
- 4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool,
- 4896 |                 ms_b, pat, td_b, cid)] = blist in
- 4897 | 
- 4898 |           invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b
- 4899 |             (normCompGoal (cg, ms)) ms_b
- ...
- 4902 |                              [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat,
- 4903 |                                           ms_b, e)])))
- 4904 |             (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 4905 |             (ind, thm, td, cid)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid)::
- (_, _, _, _, _, _, _, _, _, _, _, _)::_
- 
- File "src/core/logic.ml", lines 4976-5015, characters 7-35:
- 4976 | .......let Atom tA = g' in
- 4977 |        let cltyp = LF.MTyp tA in
- 4978 |        let sc' =
- 4979 |          (fun (cPsi', tM) ->
- 4980 |            let dctx_hat = Context.dctxToHat cPsi' in
- ...
- 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5014 |                  (ind, thm, td, thm_cid);
- 5015 |                raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Impl ((_, _), _)|All (_, _))
- 
- File "src/core/logic.ml", lines 4975-5015, characters 7-35:
- 4975 | .......let Box(cPsi',g',_) = cg' in
- 4976 |        let Atom tA = g' in
- 4977 |        let cltyp = LF.MTyp tA in
- 4978 |        let sc' =
- 4979 |          (fun (cPsi', tM) ->
- ...
- 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5014 |                  (ind, thm, td, thm_cid);
- 5015 |                raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
- 
- File "src/core/logic.ml", lines 5024-5029, characters 11-51:
- 5024 | ...........let LF.Root (_,hd,_,_) = tM in
- 5025 |            let dctx_hat = Context.dctxToHat cPsi' in
- 5026 |            let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in
- 5027 |            let meta_obj = (noLoc, mfront) in
- 5028 |            let meta_typ = LF.ClTyp (cltyp, cPsi') in
- 5029 |            sc (Comp.Box(noLoc, meta_obj, meta_typ)).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/logic.ml", lines 5020-5060, characters 7-34:
- 5020 | .......let Atom tA = g' in
- 5021 |        let cltyp = LF.PTyp tA in
- 5022 |        let sc' =
- 5023 |          (fun (cPsi', tM) ->
- 5024 |            let LF.Root (_,hd,_,_) = tM in
- ...
- 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5059 |                 (ind, thm, td, thm_cid);
- 5060 |               raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Impl ((_, _), _)|All (_, _))
- 
- File "src/core/logic.ml", lines 5019-5060, characters 7-34:
- 5019 | .......let Box(_,g',_) = cg' in
- 5020 |        let Atom tA = g' in
- 5021 |        let cltyp = LF.PTyp tA in
- 5022 |        let sc' =
- 5023 |          (fun (cPsi', tM) ->
- ...
- 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5059 |                 (ind, thm, td, thm_cid);
- 5060 |               raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
- 
- File "src/core/logic.ml", lines 4969-5085, characters 4-30:
- 4969 | ....match cg with
- 4970 |     | Box (cPsi, g, Some M) ->
- 4971 |        (* We apply the msub here in case there are FREE MVARS that
- 4972 |           appear from unify   *)
- 4973 |        let ms = Whnf.cnormMSub ms in
- ...
- 5082 |            split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5083 |              (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5084 |              (ind, thm, td, thm_cid);
- 5085 |            raise End_Of_Search
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Box (_, _, None)
- 
- File "src/core/logic.ml", lines 5223-5246, characters 7-36:
- 5223 | .......let Some cid = thm_cid in
- 5224 |        let cIH_all' = Total.shift cIH_all in
- 5225 |        let cIH'' = Total.shift cIH' in
- 5226 |        let i = Comp.Const(noLoc, cid) in
- 5227 |        (try
- ...
- 5243 |        | End_Of_Search | DepthReached _ ->
- 5244 |           blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
- 5245 |             (cDepth, mDepth, currSplitDepth, maxSplitDepth)
- 5246 |             (ind, thm, td, thm_cid))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5263-5286, characters 7-32:
- 5263 | .......let Some cid = thm_cid in
- 5264 |        let i = Comp.Const(noLoc, cid) in
- 5265 |        let cIH'' = Total.shift cIH' in
- 5266 |        let cIH_all' = Total.shift cIH_all in
- 5267 |        let exp = Whnf.cnormExp (fS i, LF.MShift 0) in
- ...
- 5283 |        in
- 5284 |        blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc'
- 5285 |          (cDepth, mDepth, currSplitDepth, maxSplitDepth)
- 5286 |          (ind, thm, td, thm_cid)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5393-5394, characters 6-46:
- 5393 | ......match cp with
- 5394 |       | (_cc, _k, Boxed) -> (_cc, _k, Unboxed)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_cc, _k, Unboxed)
- 
- File "src/core/logic.ml", lines 5441-5458, characters 10-49:
- 5441 | ..........match r with
- 5442 |           | LF.ClTyp (LF.MTyp _, cPsi) ->
- 5443 |              let tM =
- 5444 |                LF.Root
- 5445 |                  ( noLoc
- ...
- 5455 |              LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)),
- 5456 |                        LF.PObj hd)
- 5457 |           | LF.CTyp _ ->
- 5458 |              LF.CObj (LF.CtxVar (LF.CtxOffset 1))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (STyp (_, _), _)
- 
- File "src/core/logic.ml", lines 5549-5554, characters 7-37:
- 5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in
- 5550 |        let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in
- 5551 |        let cIH' = Total.shift cIH in
- 5552 |        uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc'
- 5553 |          (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1)
- 5554 |          (ind, thm, td, thm_cid) blur
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/logic.ml", lines 5587-5590, characters 24-19:
- 5587 | ........................match sp with
- 5588 |       | 0 -> Some 0  (* No splitting.    *)
- 5589 |       | 1 -> None    (* Only inversions. *)
- 5590 |       | 2 -> Some 1........................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- 3
- 
- File "src/core/logic.ml", lines 5795-5798, characters 9-40:
- 5795 | .........let Some iterm = !(mmvar.LF.instantiation) in
- 5796 |          (match iterm with
- 5797 |          | LF.IHead hd -> hd
- 5798 |          | _ -> raise NotImplementedYet)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5800-5803, characters 9-40:
- 5800 | .........let Some iterm = !(mmvar.LF.instantiation) in
- 5801 |          (match iterm with
- 5802 |          | LF.IHead hd -> hd
- 5803 |          | _ -> raise NotImplementedYet)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5805-5808, characters 9-40:
- 5805 | .........let Some iterm = !(mmvar.LF.instantiation) in
- 5806 |          (match iterm with
- 5807 |          | LF.IHead hd -> hd
- 5808 |          | _ -> raise NotImplementedYet)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5834-5835, characters 11-16:
- 5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in
- 5835 |            iterm
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5837-5838, characters 11-16:
- 5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in
- 5838 |            iterm
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5840-5841, characters 11-16:
- 5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in
- 5841 |            iterm
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5847-5849, characters 9-33:
- 5847 | .........(match remove_head_mvars hd with
- 5848 |          | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p)
- 5849 |          | LF.INorm norm -> norm)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ISub _|ICtx _)
- 
- File "src/core/logic.ml", lines 6066-6076, characters 8-33:
- 6066 | ........match tau with
- 6067 |         | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n
- 6068 |         | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1)
- 6069 |         | Comp.TypInd (_) -> Option.some n
- 6070 |         | Comp.TypBox (_, _) -> Option.none
- ...
- 6073 |            let ind = ind_index tau1 n in
- 6074 |            match ind with
- 6075 |            | Option.None -> ind_index tau2 (n + 1)
- 6076 |            | Option.Some _ -> ind
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Order.cmx -c -impl src/core/order.ml)
- File "src/core/order.ml", lines 26-34, characters 2-23:
- 26 | ..function
- 27 |   | I.Arg x -> Some [x]
- 28 |   | I.Lex xs ->
- 29 |      let f =
- 30 |        function
- 31 |        | I.Arg x -> Some x
- 32 |        | _ -> None (* We don't support nested lexicographic orders. *)
- 33 |      in
- 34 |      List.traverse f xs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Simul _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Erase.cmx -c -impl src/core/erase.ml)
- File "src/core/erase.ml", lines 6-19, characters 2-33:
-  6 | ..match (tau, n) with
-  7 |   | (_, 0) -> 0
-  8 |   | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1)
-  9 |   | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) ->
- 10 |     (* We count [Inductive] as 1 instead of throwing an error because
- ...
- 16 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) ->
- 17 |     1 + numeric_order_arg tau (n - 1)
- 18 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) ->
- 19 |     numeric_order_arg tau (n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypPiBox (_, DeclOpt _, _), 1)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Substitution.cmx -c -impl src/core/substitution.ml)
- File "src/core/substitution.ml", lines 105-124, characters 4-44:
- 105 | ....match (n, s) with
- 106 |     | (_, Undefs) -> Undef
- 107 |     | (1, Dot (ft, _s)) -> ft
- 108 |     | (n, Dot (_ft, s)) -> bvarSub (n - 1) s
- 109 |     | (n, Shift k) -> Head (BVar (n + k))
- ...
- 121 |            Free BVar (n + k) ... -bp *)
- 122 |        Head (HClo (n + k, s, sigma))
- 123 |     | (n, MSVar (k, ((s, t), sigma))) ->
- 124 |        Head (HMClo (n + k, ((s, t), sigma)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (EmptySub|FSVar (_, _)))
- 
- File "src/core/substitution.ml", lines 156-159, characters 12-73:
- 156 | ............function
- 157 |             | (Last u, 1) -> u
- 158 |             | (Cons (u, _), 1) -> u
- 159 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last u, 0)
- 
- File "src/core/substitution.ml", lines 166-169, characters 12-73:
- 166 | ............function
- 167 |             | (Last u, 1) -> u
- 168 |             | (Cons (u, _), 1) -> u
- 169 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last u, 0)
- 
- File "src/core/substitution.ml", lines 147-194, characters 7-10:
- 147 | .......begin match bvarSub n s with
- 148 |        | Head (BVar x) ->
- 149 |           Head (Proj (BVar x, k))
- 150 | 
- 151 |        | Head (PVar _ as h) ->
- ...
- 191 |        | Head (AnnH _ ) -> failwith "Found head that is AnnH"
- 192 |        | Head (MMVar _ ) -> failwith "Found head that is MMVar"
- 193 |        | Head _ -> failwith "Found head that is not a BVar or PVar"
- 194 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/substitution.ml", lines 203-206, characters 12-73:
- 203 | ............function
- 204 |             | (Last u, 1) -> (u, s)
- 205 |             | (Cons (u, _), 1) -> (u, s)
- 206 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last u, 0)
- 
- File "src/core/substitution.ml", lines 197-210, characters 7-10:
- 197 | .......begin match frontSub (Head h) s with
- 198 |        | Head h' ->
- 199 |           Head (Proj (h', k))
- 200 | 
- 201 |        | Obj (Tuple (_, tuple)) ->
- ...
- 207 |           in
- 208 |           (*              Obj (Clo (nth s (tuple, k))) *)
- 209 |           Obj (Pair.fst (nth s (tuple, k)))
- 210 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _)
- 
- File "src/core/substitution.ml", lines 213-214, characters 7-26:
- 213 | .......let Head h' = frontSub (Head h) s in
- 214 |        Head (AnnH (h', a))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undef|Obj _)
- 
- File "src/core/substitution.ml", lines 138-221, characters 4-35:
- 138 | ....match ft with
- 139 |     | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s))
- 140 |     | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s)))
- 141 |     | Head (BVar n) -> bvarSub n s
- 142 |     | Head (FVar _) -> ft
- ...
- 218 |     | Obj u -> Obj (Clo (u, s))
- 219 |     | Undef -> Undef
- 220 |     | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s))
- 221 |     | Head (FPVar (_n, _s' )) -> ft
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head (MPVar _|FMVar _)
- 
- File "src/core/substitution.ml", line 263, characters 13-30:
- 263 |   let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s))
-                    ^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/substitution.ml", lines 292-300, characters 6-33:
- 292 | ......match s with
- 293 |       | EmptySub -> None
- 294 |       | Undefs -> None
- 295 |       | Shift _ -> None
- 296 |       | Dot (Undef, s') -> lookup (n + 1) s' p
- 297 |       | Dot (Head (BVar k), s') ->
- 298 |          if k = p
- 299 |          then Some (Head (BVar n))
- 300 |          else lookup (n + 1) s' p
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dot
-   (Head
-      (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-      FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
-   _)
- 
- File "src/core/substitution.ml", lines 314-324, characters 6-37:
- 314 | ......match s with
- 315 |       | EmptySub ->
- 316 |          invert'' maxoffset Undefs
- 317 |       | Undefs ->
- 318 |          invert'' maxoffset Undefs
- ...
- 321 |       | Dot (Head (BVar k), s') ->
- 322 |          invert' (n + 1) s' (max k maxoffset)
- 323 |       | Dot (_, s') -> (* Is this really necessary? -ac *)
- 324 |          invert' (n + 1) s' maxoffset
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/substitution.ml", lines 335-350, characters 4-65:
- 335 | ....match (s, cPsi) with
- 336 |     | (Shift _ (* 0 *), Null) ->
- 337 |        Null
- 338 |     | (Shift _, CtxVar psi) ->
- 339 |        CtxVar psi
- ...
- 347 |     | (Dot (Undef, t), DDec (cPsi, _)) ->
- 348 |        strengthen t cPsi
- 349 |     | (Shift n, cPsi) ->
- 350 |        strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dot (Head (BVar _k), t), (Null|CtxVar _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Context.cmx -c -impl src/core/context.ml)
- File "src/core/context.ml", lines 90-104, characters 4-24:
-  90 | ....function
-  91 |     | (DDec (_, TypDecl (x, tA')), 1) ->
-  92 |        TypDecl (x, TClo (tA', Shift k))
-  93 | 
-  94 |     | (DDec (cPsi', TypDecl _), k') ->
- ...
- 101 |        ctxDec' (cPsi', k'-1)
- 102 | 
- 103 |     | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) ->
- 104 |        ctxDec' (cPsi, k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxVar
-    (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)),
- _)
- 
- File "src/core/context.ml", lines 124-134, characters 4-24:
- 124 | ....function
- 125 |     | (DDec (_, TypDecl (x, Sigma tArec)), 1) ->
- 126 |        TypDecl (x, Sigma (sigmaShift tArec (Shift k)))
- 127 | 
- 128 |     | (DDec (cPsi', TypDecl (_, Sigma _)), k') ->
- ...
- 131 |     | (DDec (cPsi', TypDecl _), k') ->
- 132 |        ctxDec' (cPsi', k' - 1)
- 133 |     | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) ->
- 134 |        ctxDec' (cPhi, k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (DDec (cPsi', TypDeclOpt _), _)
- 
- File "src/core/context.ml", lines 361-364, characters 2-49:
- 361 | ..match (cPsi, k) with
- 362 |   | (DDec (_, TypDecl (x, _)), 1) -> x
- 363 |   | (DDec (_, TypDeclOpt x), 1) -> x
- 364 |   | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Null|CtxVar _), _)
- 
- File "src/core/context.ml", lines 367-371, characters 2-27:
- 367 | ..match (cD, k) with
- 368 |   | (Dec (_, Decl { name = u; _ }), 1) -> u
- 369 |   | (Dec (_, DeclOpt { name = u; _ }), 1) -> u
- 370 |   | (Dec (cD, _), k) ->
- 371 |      getNameMCtx cD (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Empty, _)
- 
- File "src/core/context.ml", lines 374-377, characters 2-45:
- 374 | ..match (cG, k) with
- 375 |   | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x
- 376 |   | (Dec (_, Comp.CTypDeclOpt x), 1) -> x
- 377 |   | (Dec (cG, _), k) -> getNameCtx cG (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Empty, _)
- 
- File "src/core/context.ml", lines 401-403, characters 4-58:
- 401 | ....function
- 402 |     | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl)
- 403 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Null
- 
- File "src/core/context.ml", lines 409-411, characters 4-58:
- 409 | ....function
- 410 |     | CtxVar ctx_var -> Null
- 411 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Null
- 
- File "src/core/context.ml", lines 436-439, characters 2-28:
- 436 | ..match (cD, psi_offset) with
- 437 |   | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema
- 438 |   | (Dec (cD, _) , i) ->
- 439 |      lookupSchema cD (i - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Empty, _)
- 
- File "src/core/context.ml", lines 446-453, characters 7-10:
- 446 | .......begin match cvar with
- 447 |        | CtxName phi when Name.(psi = phi) -> (psi, schemaName)
- 448 |        | CtxName _ -> lookup cD (offset + 1)
- 449 |        | CtxOffset n ->
- 450 |           if n - offset = 1
- 451 |           then (psi, schemaName)
- 452 |           else lookup cD (offset + 1)
- 453 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CInst _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Store.cmx -c -impl src/core/store.ml)
- File "src/core/store.ml", lines 212-217, characters 6-45:
- 212 | ......function
- 213 |       | Int.LF.Atom(_, b, _) ->
- 214 |          List.iter (fun a -> addSubord a b) acc ; [b]
- 215 | 
- 216 |       | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) ->
- 217 |          inspect (acc @ (inspect [] tA1)) tA2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/store.ml", lines 222-226, characters 6-56:
- 222 | ......function
- 223 |       | Int.LF.Typ ->
- 224 |          List.iter (fun a -> addSubord a cid_tp) acc
- 225 |       | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) ->
- 226 |          inspectKind cid_tp (acc @ (inspect [] tA1)) tK2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Whnf.cmx -c -impl src/core/whnf.ml)
- File "src/core/whnf.ml", lines 36-39, characters 2-73:
- 36 | ..match cPsi with
- 37 |   | Null -> tA
- 38 |   | DDec (cPsi', decl) ->
- 39 |      raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar _
- 
- File "src/core/whnf.ml", lines 133-148, characters 2-64:
- 133 | ..match sA' with
- 134 |   | (PiTyp ((decl, _, _), tA'), s') ->
- 135 |      let (u', tM) =
- 136 |        lowerMVar'
- 137 |          (DDec (cPsi, LF.decSub decl s'))
- ...
- 145 | 
- 146 |   | (Atom (loc, a, tS), s') ->
- 147 |      let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in
- 148 |      (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity))....................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _, _)
- 
- File "src/core/whnf.ml", lines 152-162, characters 2-25:
- 152 | ..match (u, sA) with
- 153 |   | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ }
- 154 |     , (PiTyp _, _)
- 155 |     ) ->
- 156 |      let (u', tM) = lowerMVar' cPsi sA plicity inductivity in
- ...
- 159 | 
- 160 |   | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s')
- 161 | 
- 162 |   | (_, (Atom _, _)) -> u
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Inst {typ=ClTyp (_, _); _ }, (Sigma _, _))
- 
- File "src/core/whnf.ml", lines 319-329, characters 4-31:
- 319 | ....match s with
- 320 |     | MShift _ -> None
- 321 |     | MDot (MUndef, t') -> lookup (n + 1) t' p
- 322 | 
- 323 |     | MDot (MV k, t')
- ...
- 326 |       | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') ->
- 327 |        if k = p
- 328 |        then Some n
- 329 |        else lookup (n + 1) t' p
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MDot (CObj (CtxVar (CtxName _|CInst _)), _)
- 
- File "src/core/whnf.ml", lines 385-387, characters 7-59:
- 385 | .......match normHead (h, sigma) with
- 386 |      | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity)
- 387 |      | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 404-407, characters 5-8:
- 404 | .....begin match normMMVar mmt with
- 405 |      | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma))))
- 406 |      | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma)
- 407 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 409-413, characters 5-8:
- 409 | .....begin match normMMVar mmt with
- 410 |      (* The order in which we normalize mm, n, s, and sigma seems to matter..*)
- 411 |      | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma)))
- 412 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
- 413 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 415-419, characters 5-8:
- 415 | .....begin match normMMVar mmt with
- 416 |      | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma)))
- 417 |      | Result (IHead h) -> normFt' (normHead (h, s), sigma)
- 418 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
- 419 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 422-425, characters 5-8:
- 422 | .....begin match normMMVar (mm, MShift 0) with
- 423 |      | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma)))
- 424 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
- 425 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 449-451, characters 2-32:
- 449 | ..match ft with
- 450 |   | Head h -> normHead (h, s)
- 451 |   | Obj tM -> Obj (norm (tM, s))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 454-457, characters 2-37:
- 454 | ..match tM with
- 455 |   | INorm n -> INorm (cnorm (n, mt))
- 456 |   | IHead h -> IHead (cnormHead (h, mt))
- 457 |   | ISub s -> ISub (cnormSub (s, mt))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ICtx _
- 
- File "src/core/whnf.ml", lines 463-466, characters 5-8:
- 463 | .....begin match normHead (h, s) with
- 464 |      | Obj tM -> MObj tM
- 465 |      | Head h' -> PObj h'
- 466 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 470-473, characters 2-64:
- 470 | ..match normFt' (ft, LF.id) with
- 471 |   | Head h -> Head (Proj (h, i))
- 472 |   | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i))
- 473 |   | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 476-479, characters 2-50:
- 476 | ..function
- 477 |   | (Last tM, 1) -> tM
- 478 |   | (Cons (tM, _), 1) -> tM
- 479 |   | (Cons (_, rest), k) -> reduceTuple (rest, k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Last tM, 0)
- 
- File "src/core/whnf.ml", lines 507-521, characters 2-17:
- 507 | ..function
- 508 |   | (LFHole (l, _, _), _) ->
- 509 |      raise (InvalidLFHole l)
- 510 | 
- 511 |   | (Root (loc, h, sp, plicity), spine) ->
- ...
- 518 |      Lam (loc, n, tM')
- 519 | 
- 520 |   | (Clo sM, tS) ->
- 521 |      reduce sM tS
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _), SClo _)
- 
- File "src/core/whnf.ml", lines 524-526, characters 2-54:
- 524 | ..function
- 525 |   | (Nil, s) -> s
- 526 |   | (App (tN, tS), s) -> App (tN, appendSpine (tS, s))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (SClo _, _)
- 
- File "src/core/whnf.ml", lines 537-543, characters 5-8:
- 537 | .....begin match mmvar.instantiation.contents with
- 538 |      | Some (ISub s) ->
- 539 |         let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in
- 540 |         LF.comp (Shift n) s0
- 541 |      | None ->
- 542 |         MSVar (n, ((mmvar, mt), normSub s'))
- 543 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 562-573, characters 2-37:
- 562 | ..match tA with
- 563 |   | Atom (loc, a, tS) ->
- 564 |      Atom (loc, a, normSpine (tS, sigma))
- 565 | 
- 566 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
- ...
- 570 |      normTyp (tA, LF.comp s sigma)
- 571 | 
- 572 |   | Sigma recA ->
- 573 |      Sigma (normTypRec (recA, sigma))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/whnf.ml", lines 620-629, characters 5-8:
- 620 | .....begin match !u with
- 621 |      | None ->
- 622 |         (Some (CInst (mmvar, mcomp theta t)), k)
- 623 |      | Some (ICtx cPsi) ->
- 624 |         (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *)
- 625 |         begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with
- 626 |         | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *)
- 627 |         | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *)
- 628 |         end
- 629 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 631-641, characters 5-8:
- 631 | .....begin match LF.applyMSub offset t with
- 632 |      | CObj cPsi ->
- 633 |         begin match Context.dctxToHat cPsi with
- 634 |         | (None, i) -> (None, k + i)
- 635 |         | (Some cvar', i) -> (Some cvar', k + i)
- ...
- 638 |      | ClObj _ ->
- 639 |         Error.raise_violation
- 640 |           (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset)
- 641 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MUndef
- 
- File "src/core/whnf.ml", lines 656-659, characters 5-8:
- 656 | .....begin match LF.applyMSub k t with
- 657 |      | MV k' -> Head (MVar (Offset k', s'))
- 658 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
- 659 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, (PObj _|SObj _))
- 
- File "src/core/whnf.ml", lines 662-666, characters 5-8:
- 662 | .....begin match LF.applyMSub k t with
- 663 |      | MV k' -> Head (PVar (k', s'))
- 664 |      | ClObj (_, PObj h) -> normHead (h, s')
- 665 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
- 666 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/whnf.ml", lines 669-672, characters 5-8:
- 669 | .....begin match LF.applyMSub sv t with
- 670 |      | MV sv' -> Head (HClo (k, sv', s'))
- 671 |      | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s')
- 672 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, (MObj _|PObj _))
- 
- File "src/core/whnf.ml", lines 674-677, characters 5-8:
- 674 | .....begin match normMMVar mmt with
- 675 |      | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
- 676 |      | Result (INorm n) -> Obj (cnorm (norm (n, s), t))
- 677 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 679-684, characters 5-8:
- 679 | .....begin match normMMVar mmt with
- 680 |      | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
- 681 |      | Result (IHead h) -> cnormFt' (normHead (h, s), t)
- 682 |      | Result (INorm n) ->
- 683 |         Obj (cnorm (norm (n, s), t))
- 684 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 686-689, characters 5-8:
- 686 | .....begin match normMMVar mmt with
- 687 |      | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t))))
- 688 |      | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t)
- 689 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 691-694, characters 5-8:
- 691 | .....begin match normMMVar (mm, MShift 0) with
- 692 |      | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t)))
- 693 |      | Result (INorm n) -> Obj (norm (n, s))
- 694 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Result (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 698-700, characters 2-38:
- 698 | ..function
- 699 |   | (Head h, t) -> cnormHead' (h, t)
- 700 |   | (Obj tM, t) -> Obj (cnorm (tM, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undef, _)
- 
- File "src/core/whnf.ml", lines 713-721, characters 5-8:
- 713 | .....begin match cnormHead' (head, t) with
- 714 |      | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity)
- 715 |      | Obj tM ->
- 716 |         (* in this ends up evaluating to a Root, we want to keep the
- 717 |            plicity that we had here *)
- 718 |         map_plicity
- 719 |           (fun _ -> plicity)
- 720 |           (reduce (tM, LF.id) (cnormSpine (tS, t)))
- 721 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/whnf.ml", lines 728-729, characters 2-17:
- 728 | ..match cnormHead' (h, t) with
- 729 |   | Head h' -> h'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undef|Obj _)
- 
- File "src/core/whnf.ml", lines 752-758, characters 5-8:
- 752 | .....begin match LF.applyMSub offset t with
- 753 |      | MV offset' -> SVar (offset', n, cnormSub (s', t))
- 754 |      | ClObj (_, SObj r) ->
- 755 |         LF.comp (LF.comp (Shift n) r) (cnormSub (s', t))
- 756 |      | ClObj _ ->
- 757 |         Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj"
- 758 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|CObj _)
- 
- File "src/core/whnf.ml", lines 764-775, characters 5-56:
- 764 | .....match mmvar.instantiation.contents with
- 765 |      | Some (ISub s) ->
- 766 |         dprintf
- 767 |           begin fun p ->
- 768 |           p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]"
- ...
- 772 |         let s0' = LF.comp (Shift n) s0 in
- 773 |         cnormSub (s0', t)
- 774 |      | None ->
- 775 |         MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ICtx _)
- 
- File "src/core/whnf.ml", lines 793-803, characters 2-34:
- 793 | ..match tA with
- 794 |   | Atom (loc, a, tS) ->
- 795 |      Atom (loc, a, cnormSpine (tS, t))
- 796 | 
- 797 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
- ...
- 800 |   | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t))
- 801 | 
- 802 |   | Sigma recA ->
- 803 |      Sigma (cnormTypRec (recA, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/whnf.ml", lines 832-837, characters 5-8:
- 832 | .....begin match !u with
- 833 |      | None ->
- 834 |         CtxVar (CInst (mmvar, mcomp theta t))
- 835 |      | Some (ICtx cPhi) ->
- 836 |         cnormDCtx (cPhi, mcomp theta t)
- 837 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 840-843, characters 5-8:
- 840 | .....begin match LF.applyMSub psi t with
- 841 |      | CObj cPsi' -> normDCtx cPsi'
- 842 |      | MV k -> CtxVar (CtxOffset k)
- 843 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|ClObj (_, _))
- 
- File "src/core/whnf.ml", lines 886-889, characters 5-8:
- 886 | .....begin match mmvar.instantiation.contents with
- 887 |      | None -> cPsi
- 888 |      | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta))
- 889 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 960-973, characters 8-11:
- 960 | ........begin match h' with
- 961 |         | BVar i ->
- 962 |            begin match LF.bvarSub i (LF.comp r sigma) with
- 963 |            | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma))
- 964 |            | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id)
- ...
- 970 |            let h' = PVar (p, LF.comp (LF.comp s r) sigma) in
- 971 |            whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
- 972 |         | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id)
- 973 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
- HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/whnf.ml", lines 956-979, characters 5-8:
- 956 | .....begin match u with
- 957 |      (* MPVar instantiation must be a head *)
- 958 |      | Some (IHead h) ->
- 959 |         let h' = cnormHead (h, t) in
- 960 |         begin match h' with
- ...
- 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
- 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
- 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
- 979 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 954-979, characters 5-8:
- 954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in
- 955 |      let u = mmvar.instantiation.contents in
- 956 |      begin match u with
- 957 |      (* MPVar instantiation must be a head *)
- 958 |      | Some (IHead h) ->
- ...
- 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
- 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
- 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
- 979 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 995-1011, characters 8-11:
-  995 | ........begin match whnfTyp (tA, LF.id) with
-  996 |         | (Atom (loc', a, tS'), _ (* id *)) ->
-  997 |            (* meta-variable is of atomic type; tS = Nil *)
-  998 |            let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
-  999 |            (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
- ...
- 1008 |            (* let _ = lowerMMVar cD u in
- 1009 |               whnf (tM, sigma) *)
- 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
- 1011 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Sigma _|TClo _), _)
- 
- File "src/core/whnf.ml", lines 985-1012, characters 5-8:
-  985 | .....begin match u with
-  986 |      (* MMVar instantiation must be normal *)
-  987 |      | Some (INorm tM) ->
-  988 |         (* constraints associated with u must be in solved form *)
-  989 |         let tM' = cnorm (tM, t) in
- ...
- 1009 |               whnf (tM, sigma) *)
- 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
- 1011 |         end
- 1012 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 983-1012, characters 5-8:
-  983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in
-  984 |      let u = mmvar.instantiation.contents in
-  985 |      begin match u with
-  986 |      (* MMVar instantiation must be normal *)
-  987 |      | Some (INorm tM) ->
- ...
- 1009 |               whnf (tM, sigma) *)
- 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
- 1011 |         end
- 1012 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 1041-1053, characters 8-11:
- 1041 | ........begin match whnfTyp (tA, LF.id) with
- 1042 |         | (Atom (loc', a, tS'), _ (* id *)) ->
- 1043 |            (* meta-variable is of atomic type; tS = Nil *)
- 1044 |            let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
- 1045 |            (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id)
- ...
- 1050 |             *)
- 1051 |            ignore (lowerMVar cvar);
- 1052 |            whnf (tM, sigma)
- 1053 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Sigma _|TClo _), _)
- 
- File "src/core/whnf.ml", lines 1036-1053, characters 8-11:
- 1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in
- 1037 |         (* note: we could split this case based on tA;
- 1038 |          *      this would avoid possibly building closures with id
- 1039 |          *)
- 1040 |         let r' = normSub r in
- ...
- 1050 |             *)
- 1051 |            ignore (lowerMVar cvar);
- 1052 |            whnf (tM, sigma)
- 1053 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 1023-1054, characters 5-8:
- 1023 | .....begin match u with
- 1024 |      | Some (INorm tM) ->
- 1025 |         (* constraints associated with u must be in solved form *)
- 1026 |         let r' = normSub r in
- 1027 |         let tM' =
- ...
- 1051 |            ignore (lowerMVar cvar);
- 1052 |            whnf (tM, sigma)
- 1053 |         end
- 1054 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (IHead _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 1073-1082, characters 5-8:
- 1073 | .....begin match LF.bvarSub i sigma with
- 1074 |      | Head (BVar j) ->
- 1075 |         ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity)
- 1076 |         , LF.id
- 1077 |         )
- 1078 |      | Head (PVar (q, s)) ->
- 1079 |         ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity)
- 1080 |         , LF.id
- 1081 |         )
- 1082 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-   FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/whnf.ml", lines 1098-1109, characters 11-14:
- 1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with
- 1099 |            | Head (BVar x) ->
- 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
- 1101 |               , LF.id
- 1102 |               )
- ...
- 1106 |               )
- 1107 |            | Undef ->
- 1108 |               Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i)
- 1109 |            end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Obj _
- 
- File "src/core/whnf.ml", lines 1096-1118, characters 8-11:
- 1096 | ........begin match cnormHead (h, t) with
- 1097 |         | BVar i ->
- 1098 |            begin match LF.bvarSub i (LF.comp r sigma) with
- 1099 |            | Head (BVar x) ->
- 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
- ...
- 1115 |         | MPVar ((q, t'), r') ->
- 1116 |            let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in
- 1117 |            (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
- 1118 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
- HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/whnf.ml", lines 1120-1127, characters 8-9:
- 1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in
- 1121 |         (* constraints associated with q must be in solved form *)
- 1122 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
- 1123 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
- 1124 |         let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in
- 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
- 1126 |         , LF.id
- 1127 |         )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|STyp (_, _)), _)
- 
- File "src/core/whnf.ml", lines 1093-1128, characters 5-8:
- 1093 | .....begin match mmvar.instantiation.contents with
- 1094 |      | Some (IHead h) ->
- 1095 |         (* constraints associated with q must be in solved form *)
- 1096 |         begin match cnormHead (h, t) with
- 1097 |         | BVar i ->
- ...
- 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
- 1126 |         , LF.id
- 1127 |         )
- 1128 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|ISub _|ICtx _)
- 
- File "src/core/whnf.ml", lines 1143-1157, characters 2-39:
- 1143 | ..function
- 1144 |   | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l)
- 1145 |   | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1)
- 1146 | 
- 1147 |   | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) ->
- ...
- 1154 |      whnfRedex (sM, (tS, LF.comp s2' s2))
- 1155 | 
- 1156 |   | ((Clo (tM, s), s1), sS) ->
- 1157 |      whnfRedex ((tM, LF.comp s s1), sS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Root (_, _, _, _), _), (App (_, _), _))
- 
- File "src/core/whnf.ml", lines 1180-1191, characters 2-15:
- 1180 | ..function
- 1181 |   | [] -> true
- 1182 |   | ({ contents = Queued _ } :: cnstrs) ->
- 1183 |       constraints_solved cnstrs
- 1184 |   | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) ->
- ...
- 1188 |   | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) ->
- 1189 |      if convHead (h1, LF.id) (h2, LF.id)
- 1190 |      then constraints_solved cnstrs
- 1191 |      else false
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- {contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_
- 
- File "src/core/whnf.ml", lines 1283-1288, characters 2-71:
- 1283 | ..match (spine1, spine2) with
- 1284 |   | ((Nil, _), (Nil, _)) -> true
- 1285 |   | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) ->
- 1286 |      conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2)
- 1287 |   | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s')
- 1288 |   | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Nil, _), (App (_, _), _))
- 
- File "src/core/whnf.ml", lines 1457-1465, characters 2-32:
- 1457 | ..match (cPsi, cPsi') with
- 1458 |   | (_, Empty) -> true
- 1459 |   | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) ->
- 1460 |      if convTyp (tA, LF.id) (tB, LF.id)
- 1461 |      then convSubsetCtx cPsi1 cPsi2
- 1462 |      else
- 1463 |        (* keep tBs around and check that tA is a subordinate of tB,
- 1464 |        i.e. anything in tA cannot influence tB *)
- 1465 |        convSubsetCtx cPsi1 cPsi'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _))
- 
- File "src/core/whnf.ml", lines 1591-1593, characters 4-76:
- 1591 | ....match mO with
- 1592 |     | CObj cPsi -> CObj (normDCtx cPsi)
- 1593 |     | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|MV _)
- 
- File "src/core/whnf.ml", lines 1604-1624, characters 2-49:
- 1604 | ..function
- 1605 |   | Comp.TypBase (loc, c, mS) ->
- 1606 |      Comp.TypBase (loc, c, normMetaSpine mS)
- 1607 |   | Comp.TypCobase (loc, c, mS) ->
- 1608 |      Comp.TypCobase (loc, c, normMetaSpine mS)
- ...
- 1621 |     Comp.TypPiBox
- 1622 |       (loc, (Decl { d with typ = typ' }), tau')
- 1623 | 
- 1624 |   | Comp.TypInd tau -> Comp.TypInd (normCTyp tau)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypPiBox (loc, DeclOpt _, _)
- 
- File "src/core/whnf.ml", lines 1640-1643, characters 2-30:
- 1640 | ..match cdecl with
- 1641 |   | Decl d ->
- 1642 |     let typ' = cnormMTyp (d.typ, t) in
- 1643 |     Decl { d with typ = typ' }
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/whnf.ml", lines 1646-1670, characters 2-60:
- 1646 | ..function
- 1647 |   | (Comp.TypBase (loc, a, mS), t) ->
- 1648 |      let mS' = cnormMetaSpine (mS, t) in
- 1649 |      Comp.TypBase (loc, a, mS')
- 1650 |   | (Comp.TypCobase (loc, a, mS), t) ->
- ...
- 1667 |   | (Comp.TypClo (tT, t'), t) ->
- 1668 |      cnormCTyp (tT, mcomp t' t)
- 1669 | 
- 1670 |   | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _), _)
- 
- File "src/core/whnf.ml", lines 1673-1675, characters 2-47:
- 1673 | ..match cdecl with
- 1674 |   | Comp.CTypDecl(n, typ, wf_t) ->
- 1675 |      Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", lines 1691-1707, characters 2-70:
- 1691 | ..function
- 1692 |   | (Comp.TypBase (loc, c, mS), t) ->
- 1693 |      let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in
- 1694 |      (Comp.TypBase (loc, c, mS'), m_id)
- 1695 |   | (Comp.TypCobase (loc, c, mS), t) ->
- ...
- 1704 | 
- 1705 |   | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t)
- 1706 | 
- 1707 |   | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _), _)
- 
- File "src/core/whnf.ml", lines 1902-1905, characters 2-74:
- 1902 | ..match cG with
- 1903 |   | Empty -> Empty
- 1904 |   | Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
- 1905 |      Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/whnf.ml", lines 1928-1930, characters 2-62:
- 1928 | ..function
- 1929 |   | Comp.CTypDecl (x, tau, flag) ->
- 1930 |      Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", lines 1957-1962, characters 2-41:
- 1957 | ..match cD with
- 1958 |   | Empty -> Empty
- 1959 |   | Dec (cD, Decl d) ->
- 1960 |     let typ' = normMTyp d.typ in
- 1961 |     let cD' = normMCtx cD in
- 1962 |     Dec (cD', Decl { d with typ = typ' })
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD, DeclOpt _)
- 
- File "src/core/whnf.ml", lines 1990-1993, characters 2-60:
- 1990 | ..match (tM1, tM2) with
- 1991 |   | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id)
- 1992 |   | (ISub s1, ISub s2) -> convSub s1 s2
- 1993 |   | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (INorm n1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/whnf.ml", lines 1998-2004, characters 2-25:
- 1998 | ..match (mS, mS') with
- 1999 |   | (Comp.MetaNil, Comp.MetaNil) -> true
- 2000 |   | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) ->
- 2001 |      convMetaObj mO mO'
- 2002 |      && convMetaTyp mT mT'
- 2003 |      && convMetaSpine mS mS'
- 2004 |      && Plicity.(p1 = p2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaNil, MetaApp (_, _, _, _))
- 
- File "src/core/whnf.ml", lines 2071-2075, characters 2-42:
- 2071 | ..match (d1, d2) with
- 2072 |   | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2)
- 2073 |   | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) ->
- 2074 |      Name.(x1 = x2) && Stdlib.(=) w1 w2
- 2075 |      && convCTyp (tau1, m_id) (tau2, m_id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CTypDeclOpt x1, CTypDecl (_, _, _))
- 
- File "src/core/whnf.ml", lines 2095-2105, characters 2-8:
- 2095 | ..match sA with
- 2096 |   | (Atom (loc, _, _) as tP, s) ->
- 2097 |      let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in
- 2098 |      Root (loc, MVar (u, s'), Nil, plicity)
- 2099 | 
- ...
- 2102 |        ( Name.location x
- 2103 |        , x
- 2104 |        , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
- 2105 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/whnf.ml", lines 2120-2130, characters 2-8:
- 2120 | ..match sA with
- 2121 |   | (Atom _ as tP, s) ->
- 2122 |      let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in
- 2123 |      Root (loc, MMVar ((u, m_id), s'), Nil, plicity)
- 2124 | 
- ...
- 2127 |        ( loc
- 2128 |        , x
- 2129 |        , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
- 2130 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/whnf.ml", lines 2135-2141, characters 2-42:
- 2135 | ..match tM with
- 2136 |   | Lam (_, _, tM) -> closed (tM, LF.dot1 s)
- 2137 |   | Root (_, h, tS, _) ->
- 2138 |      closedHead h
- 2139 |      && closedSpine (tS, s)
- 2140 |   | LFHole _ -> false
- 2141 |   | Tuple (_, tup) -> closedTuple (tup, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Clo _
- 
- File "src/core/whnf.ml", lines 2166-2174, characters 2-28:
- 2166 | ..function
- 2167 |   | EmptySub -> true
- 2168 |   | Undefs -> true
- 2169 |   | SVar (_, _, sigma) -> closedSub sigma
- 2170 |   | Shift _ -> true
- 2171 |   | Dot (ft, s) -> closedFront ft && closedSub s
- 2172 |   | MSVar (_, ((v, t), s)) ->
- 2173 |      (* the case for MMVar doesn't also check the substitution -je *)
- 2174 |      is_mmvar_instantiated v.....................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- FSVar (_, _)
- 
- File "src/core/whnf.ml", lines 2185-2190, characters 2-40:
- 2185 | ..match tA with
- 2186 |   | Atom (_, _, tS) -> closedSpine (tS, s)
- 2187 |   | PiTyp ((t_dec, _, _), tA) ->
- 2188 |      closedDecl (t_dec, s)
- 2189 |      && closedTyp (tA, LF.dot1 s)
- 2190 |   | Sigma recA -> closedTypRec (recA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/whnf.ml", lines 2208-2211, characters 5-8:
- 2208 | .....begin match mmvar.instantiation.contents with
- 2209 |      | None -> false
- 2210 |      | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta))
- 2211 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/whnf.ml", lines 2241-2244, characters 2-56:
- 2241 | ..function
- 2242 |   | CObj cPsi -> closedDCtx cPsi
- 2243 |   | ClObj (phat, t) ->
- 2244 |      closedDCtx (Context.hatToDCtx phat) && closedMObj t
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|MV _)
- 
- File "src/core/whnf.ml", lines 2255-2264, characters 2-37:
- 2255 | ..function
- 2256 |   | Comp.TypBase (_, _, mS) -> closedMetaSpine mS
- 2257 |   | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS
- 2258 |   | Comp.TypBox (_, cT) -> closedMetaTyp cT
- 2259 |   | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2
- 2260 |   | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs
- 2261 |   | Comp.TypPiBox (_, ctyp_decl, cT) ->
- 2262 |       closedCTyp cT && closedDecl ctyp_decl
- 2263 |   | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *)
- 2264 |   | Comp.TypInd tau -> closedCTyp tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDef (_, _, _)
- 
- File "src/core/whnf.ml", line 2406, characters 37-65:
- 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
-                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", line 2406, characters 8-36:
- 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
-                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/whnf.ml", line 2412, characters 32-55:
- 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
-                                        ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/whnf.ml", line 2412, characters 8-31:
- 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
-                ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/whnf.ml", lines 2418-2420, characters 2-93:
- 2418 | ..function
- 2419 |   | (Atom _, _) as sA -> (cPsi, whnfTyp sA)
- 2420 |   | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Sigma _|TClo _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Subord.cmx -c -impl src/core/subord.ml)
- File "src/core/subord.ml", lines 98-101, characters 7-43:
-  98 | .......function
-  99 |        | Atom _ -> [tA]
- 100 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
- 101 |           extract_neg tA1 @ extract_pos tA2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/subord.ml", lines 103-106, characters 7-43:
- 103 | .......function
- 104 |        | Atom _ -> []
- 105 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
- 106 |           extract_pos tA1 @ extract_neg tA2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/subord.ml", lines 85-112, characters 2-47:
-  85 | ..match tA with
-  86 |   | Atom (_, a, _) ->
-  87 |      Store.Cid.Typ.freeze a;
-  88 |      if List.exists
-  89 |           begin fun type_in_basis ->
- ...
- 109 |         If we keep this, then we might not strengthen enough... -bp*)
- 110 |      List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1)
- 111 |      @ relevant tA2 basis
- 112 |   | Sigma typRec -> relevantTypRec typRec basis
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/subord.ml", lines 159-161, characters 9-71:
- 159 | .........match psi with
- 160 |          | CtxOffset _ -> Context.lookupCtxVarSchema cD psi
- 161 |          | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CInst ({typ=CTyp None; _ }, _)
- 
- File "src/core/subord.ml", lines 155-187, characters 4-10:
- 155 | ....match cPsi with
- 156 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
- 157 |     | CtxVar psi ->
- 158 |        let schema =
- 159 |          match psi with
- ...
- 184 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
- 185 |           let thin_s_inv = Substitution.LF.invert thin_s in
- 186 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
- 187 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/subord.ml", line 189, characters 8-45:
- 189 |   inner (match tP with Atom (_, a, _) -> [a]) cPsi
-               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
- 
- File "src/core/subord.ml", lines 215-216, characters 16-21:
- 215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in
- 216 |                 s_cid
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=CTyp None; _ })
- 
- File "src/core/subord.ml", lines 205-238, characters 4-10:
- 205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with
- 206 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
- 207 |     | CtxVar psi ->
- 208 |        begin
- 209 |          try
- ...
- 235 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
- 236 |           let thin_s_inv = Substitution.LF.invert thin_s in
- 237 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
- 238 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/subord.ml", lines 249-251, characters 11-24:
- 249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in
- 250 |            p.fmt "[thin'] CtxName psi = %a FOUND"
- 251 |              Name.pp psi
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=ClTyp (_, _); _ })
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Ctxsub.cmx -c -impl src/core/ctxsub.ml)
- File "src/core/ctxsub.ml", lines 46-65, characters 2-36:
- 46 | ..match sA' with
- 47 |   | (PiTyp ((decl, _, _), tA'), s') ->
- 48 |      let (tM , sAmv) =
- 49 |        lowerMVar
- 50 |          (DDec (cPsi, Substitution.LF.decSub decl s'))
- ...
- 62 |          , Nil
- 63 |          , Plicity.explicit
- 64 |          ) ,
- 65 |       ClTyp(MTyp (TClo sA') , cPsi))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _, _)
- 
- File "src/core/ctxsub.ml", lines 88-158, characters 2-89:
-  88 | ..function
-  89 |   | Null ->
-  90 |      (* Substitution.LF.id  --changed 2010-07-26*)
-  91 |      (cD, ctxShift psi, 0)
-  92 | 
- ...
- 155 | 
- 156 |   | DDec (_, TypDecl _) ->
- 157 |      (* For the moment, assume tA atomic. *)
- 158 |      Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (_, TypDeclOpt _)
- 
- File "src/core/ctxsub.ml", lines 174-216, characters 2-11:
- 174 | ..function
- 175 |   | Null ->
- 176 |      (* Substitution.LF.id  --changed 2010-07-26*)
- 177 |      ctxShift cPhi
- 178 | 
- ...
- 213 |      (* dprint (fun () -> "shifted = " ^ subToString shifted);*)
- 214 |      let result = Dot (front, s) in
- 215 |      dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result);
- 216 |      result
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi', TypDeclOpt _)
- 
- File "src/core/ctxsub.ml", lines 250-255, characters 2-59:
- 250 | ..function
- 251 |   | Empty -> MShift (Context.length cD0)
- 252 |   | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) ->
- 253 |      let t = mctxToMMSub cD0 cD' in
- 254 |      let mtyp' = Whnf.cnormMTyp (mtyp, t) in
- 255 |      MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt _)
- 
- File "src/core/ctxsub.ml", lines 261-263, characters 2-35:
- 261 | ..function
- 262 |   | t when n <= 0 -> t
- 263 |   | MDot (_, t') -> drop (n - 1) t'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MShift _
- (However, some guarded clause may match this value.)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__ConvSigma.cmx -c -impl src/core/convSigma.ml)
- File "src/core/convSigma.ml", lines 20-22, characters 2-54:
- 20 | ..match (conv_list, k) with
- 21 |   | (d :: conv_list', 1) -> d
- 22 |   | (d :: conv_list', _) -> d + map conv_list' (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ([], _)
- 
- File "src/core/convSigma.ml", lines 44-52, characters 2-21:
- 44 | ..match tM with
- 45 |   | LF.Lam (loc, x, tN) ->
- 46 |      let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in
- 47 |      LF.Lam (loc, x, tN')
- 48 |   | LF.Root (loc, h, tS, plicity) ->
- 49 |      let h' = strans_head loc cD cPsi h conv_list in
- 50 |      let tS' = strans_spine cD cPsi (tS, s) conv_list in
- 51 |      LF.Root (loc, h', tS', plicity)
- 52 |   | LF.LFHole _ -> tM
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _|Tuple (_, _))
- 
- File "src/core/convSigma.ml", lines 55-101, characters 2-8:
-  55 | ..match h with
-  56 |   | LF.BVar x -> LF.BVar (map conv_list x)
-  57 | 
-  58 |   | LF.MVar (LF.Offset u, sigma) ->
-  59 |      LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list)
- ...
-  98 |          LF.BVar x'
-  99 |        with
- 100 |        | _ -> LF.Proj (LF.BVar x, j)
- 101 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Proj
-   ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-    HClo (_, _, _)|HMClo (_, _)),
-   _)
- 
- File "src/core/convSigma.ml", lines 112-118, characters 2-26:
- 112 | ..match mf with
- 113 |   | LF.ClObj (phat, LF.MObj tM) ->
- 114 |      LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list ))
- 115 |   | LF.ClObj (phat, LF.PObj h) ->
- 116 |      LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list))
- 117 |   | LF.MV u -> LF.MV u
- 118 |   | LF.MUndef -> LF.MUndef
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/convSigma.ml", lines 121-123, characters 2-55:
- 121 | ..function
- 122 |   | (0, xs) -> n
- 123 |   | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1, [])
- 
- File "src/core/convSigma.ml", lines 163-170, characters 2-59:
- 163 | ..match tA with
- 164 |   | LF.Atom (loc, a, tS ) ->
- 165 |      LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list )
- 166 | 
- 167 |   | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) ->
- 168 |      let tA' = strans_typ cD cPsi (tA, s) conv_list in
- 169 |      let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in
- 170 |      LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/convSigma.ml", lines 384-432, characters 2-24:
- 384 | ..match Whnf.whnfTyp sA with
- 385 |   | LF.Sigma tRec as tA, s ->
- 386 |      (* FIXME: this doesn't do any strengthening !! -je *)
- 387 |      let tH =
- 388 |        mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s)
- ...
- 429 |      let tN =
- 430 |        etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names)
- 431 |      in
- 432 |      LF.Lam (loc, x, tN)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Prettyint.cmx -c -impl src/core/prettyint.ml)
- File "src/core/prettyint.ml", lines 237-294, characters 4-39:
- 237 | ....function
- 238 |     | LF.Atom (_, a, LF.Nil) ->
- 239 |        fprintf ppf "%s"
- 240 |          (R.render_cid_typ a)
- 241 | 
- ...
- 291 |     | LF.TClo (typ, s) ->
- 292 |        fprintf ppf "TClo(%a,@ %a)"
- 293 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
- 294 |          (fmt_ppr_lf_sub cD cPsi lvl) s
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/prettyint.ml", lines 434-545, characters 6-51:
- 434 | ......function
- 435 |       | LF.HClo (h, s, sigma) ->
- 436 |          fprintf ppf "%s[%a[%a]]"
- 437 |            (R.render_bvar cPsi h)
- 438 |            (fmt_ppr_lf_offset cD) s
- ...
- 542 |            (r_paren_if (paren s))
- 543 | 
- 544 |       | LF.Proj (head, k) ->
- 545 |          fmt_head_with ("." ^ string_of_int k) head
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- AnnH (_, _)
- 
- File "src/core/prettyint.ml", lines 769-771, characters 7-52:
- 769 | .......match LF.(v.typ) with
- 770 |        | LF.ClTyp (_, cPsi) ->
- 771 |           fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/prettyint.ml", lines 785-794, characters 7-10:
- 785 | .......begin match !g with
- 786 |        | None ->
- 787 |           fprintf ppf "?%a[%a]"
- 788 |             Name.pp LF.(v.name)
- 789 |             (fmt_ppr_lf_msub cD 0) theta
- 790 | 
- 791 |        | Some (LF.ICtx cPsi) ->
- 792 |           fprintf ppf "%a"
- 793 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
- 794 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/prettyint.ml", lines 878-890, characters 4-38:
- 878 | ....function
- 879 |     | LF.Null -> ()
- 880 | 
- 881 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
- 882 |        fprintf ppf "%a : %a"    (* formerly "., %s : %a"    -jd 2010-06-03 *)
- ...
- 887 |        fprintf ppf "%a, %a : %a"
- 888 |          (ppr_typ_decl_dctx cD) cPsi
- 889 |          Name.pp x
- 890 |          (fmt_ppr_lf_typ cD cPsi 0) tA
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/prettyint.ml", lines 974-1006, characters 4-26:
-  974 | ....function
-  975 |     | LF.Typ ->
-  976 |        fprintf ppf "type"
-  977 | 
-  978 |     | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) ->
- ...
- 1003 |          (l_paren_if cond)
- 1004 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
- 1005 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
- 1006 |          (r_paren_if cond)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- 
- File "src/core/prettyint.ml", lines 1097-1109, characters 4-40:
- 1097 | ....function
- 1098 |     | LF.Queued id ->
- 1099 |        fprintf ppf "@[QUEUED %d@]" id
- 1100 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
- 1101 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
- ...
- 1106 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
- 1107 |          id
- 1108 |          (fmt_ppr_lf_head cD cPsi l0) h1
- 1109 |          (fmt_ppr_lf_head cD cPsi l0) h2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/prettyint.ml", lines 1147-1228, characters 4-39:
- 1147 | ....function
- 1148 |     | Comp.TypBase (_, c, mS)->
- 1149 |        let cond = lvl > 10 in
- 1150 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
- 1151 |          (l_paren_if cond)
- ...
- 1225 |          fprintf ppf "@[%a@]*"
- 1226 |            (fmt_ppr_cmp_typ cD 10) tau
- 1227 |        else
- 1228 |          fmt_ppr_cmp_typ cD lvl ppf tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDef (_, _, _)
- 
- File "src/core/prettyint.ml", lines 1236-1241, characters 4-48:
- 1236 | ....function
- 1237 |     | Comp.PatNil -> fprintf ppf ""
- 1238 |     | Comp.PatApp (_, pat, pat_spine) ->
- 1239 |        fprintf ppf "@[%a@]@ @[%a@]"
- 1240 |          (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat
- 1241 |          (fmt_ppr_pat_spine cD cG lvl) pat_spine
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- 
- File "src/core/prettyint.ml", lines 1245-1248, characters 6-65:
- 1245 | ......match (ms, n) with
- 1246 |       | (_, 0) -> ms
- 1247 |       | (Comp.PatNil, _) -> ms
- 1248 |       | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatObs (_, _, _, _), 1)
- 
- File "src/core/prettyint.ml", lines 1507-1550, characters 4-26:
- 1507 | ....function
- 1508 |     | Comp.FunValue _ -> fprintf ppf " fn "
- 1509 |     | Comp.ThmValue _ -> fprintf ppf " rec "
- 1510 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
- 1511 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
- ...
- 1547 |        fprintf ppf "%s%s%a%s"
- 1548 |          (l_paren_if cond)
- 1549 |          (R.render_cid_comp_const c) print_spine pat_spine
- 1550 |          (r_paren_if cond)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- FnValue (_, _, _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Apxnorm.cmx -c -impl src/core/apxnorm.ml)
- File "src/core/apxnorm.ml", lines 44-49, characters 2-33:
- 44 | ..function
- 45 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m')
- 46 |   | Apx.LF.Root (loc, h , spine) ->
- 47 |      let h' = shiftApxHead k h in
- 48 |      let spine' = shiftApxSpine k spine in
- 49 |      Apx.LF.Root(loc, h', spine')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (LFHole (_, _)|Tuple (_, _)|Ann (_, _, _))
- 
- File "src/core/apxnorm.ml", lines 70-80, characters 2-35:
- 70 | ..function
- 71 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
- 72 |   | Apx.LF.Id -> Apx.LF.Id
- 73 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
- 74 |      let h' = shiftApxHead k h in
- ...
- 77 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
- 78 |      let m' = shiftApxTerm k m in
- 79 |      let s' = shiftApxSub k s in
- 80 |      Apx.LF.Dot (Apx.LF.Obj m', s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (SVar (_, _)|FSVar (_, _))
- 
- File "src/core/apxnorm.ml", lines 126-128, characters 4-49:
- 126 | ....match (l_delta, t) with
- 127 |     | (0, t) -> t
- 128 |     | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1, MShift _)
- 
- File "src/core/apxnorm.ml", lines 134-151, characters 6-36:
- 134 | ......match Substitution.LF.applyMSub offset t with
- 135 |       | Int.LF.MV u -> Apx.LF.Offset u
- 136 |       | Int.LF.ClObj (_, clobj) ->
- 137 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
- 138 |          dprintf
- ...
- 148 |            end;
- 149 |          let t' = drop t l_delta in
- 150 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
- 151 |          Apx.LF.MInst (clobj, mtyp')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|CObj _)
- 
- File "src/core/apxnorm.ml", lines 267-276, characters 7-10:
- 267 | .......begin match Substitution.LF.applyMSub offset t with
- 268 |        | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) ->
- 269 |           Apx.LF.CtxVar (Apx.LF.CtxOffset psi0)
- 270 |        | Int.LF.CObj Int.LF.Null ->
- 271 |           Apx.LF.Null
- 272 |        | Int.LF.CObj (Int.LF.DDec _) ->
- 273 |           raise (Error (loc, CtxOverGeneral))
- 274 |        (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *)
- 275 |        | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset')
- 276 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CObj (CtxVar (CtxName _|CInst _))
- 
- File "src/core/apxnorm.ml", lines 288-355, characters 2-27:
- 288 | ..match e with
- 289 |   | Apx.Comp.Fn (loc, f, e) ->
- 290 |      Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt)
- 291 |   | Apx.Comp.Fun (loc, fbr) ->
- 292 |      Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt)
- ...
- 352 | 
- 353 |   | Apx.Comp.Var _
- 354 |     | Apx.Comp.DataConst _
- 355 |     | Apx.Comp.Const _ -> e
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ann (_, _, _)
- 
- File "src/core/apxnorm.ml", lines 388-392, characters 4-63:
- 388 | ....function
- 389 |     | Apx.LF.Empty -> cD''
- 390 |     | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) ->
- 391 |        let cD1'' = append_mctx cD'' delta2' in
- 392 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity })
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (delta2', DeclOpt _)
- 
- File "src/core/apxnorm.ml", lines 421-431, characters 2-27:
- 421 | ..function
- 422 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
- 423 | 
- 424 |   | Apx.LF.Root (_, h, s) ->
- 425 |      let fMVs' = collectApxHead fMVs h in
- ...
- 428 |   | Apx.LF.Tuple (_, tuple) ->
- 429 |      collectApxTuple fMVs tuple
- 430 | 
- 431 |   | Apx.LF.LFHole _ -> fMVs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ann (_, _, _)
- 
- File "src/core/apxnorm.ml", line 502, characters 27-50:
- 502 | and collectApxTypDecl fMVs (Apx.LF.TypDecl (_, a))=
-                                  ^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/apxnorm.ml", lines 530-538, characters 2-44:
- 530 | ..function
- 531 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
- 532 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
- 533 |      let fMVs' = collectApxDCtx fMVs c_psi in
- 534 |      collectApxTyp fMVs' a
- 535 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
- 536 |      let fMVs' = collectApxDCtx fMVs c_psi in
- 537 |      collectApxDCtx fMVs' c_phi
- 538 |   | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt _
- 
- File "src/core/apxnorm.ml", lines 556-563, characters 2-31:
- 556 | ..function
- 557 |   | Apx.LF.Atom (loc, c, tS) ->
- 558 |      collectApxSpine fMVd tS
- 559 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) ->
- 560 |      let fMVd1 = collectApxTyp fMVd tA in
- 561 |      collectApxTyp fMVd1 tB
- 562 |   | Apx.LF.Sigma trec ->
- 563 |      collectApxTypRec fMVd trec
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/apxnorm.ml", lines 573-581, characters 2-45:
- 573 | ..function
- 574 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
- 575 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 576 |      collectApxDCtx fMVd1 cPhi
- 577 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
- 578 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
- 579 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 580 |      collectApxTyp fMVd1 tA
- 581 |   | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt _
- 
- File "src/core/apxnorm.ml", lines 584-603, characters 2-32:
- 584 | ..function
- 585 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
- 586 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
- 587 |      collectApxCompTyp fMVd1 tau2
- 588 |   | Apx.Comp.TypCross (_, taus) ->
- ...
- 600 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 601 |      collectApxDCtx fMVd1 cPhi
- 602 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
- 603 |      collectApxMetaSpine fMVd mS
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypBox (_, (_, CTyp _))
- 
- File "src/core/apxnorm.ml", lines 606-618, characters 2-32:
- 606 | ..function
- 607 |   | Apx.Comp.PatMetaObj (loc, mO) ->
- 608 |      collectApxMetaObj fMVd mO
- 609 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
- 610 |      collectApxPatSpine fMVd pat_spine
- ...
- 615 |      |> List.fold_left collectApxPattern fMVd
- 616 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
- 617 |      let fMVd1 = collectApxCompTyp fMVd tau in
- 618 |      collectApxPattern fMVd1 pat
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatFVar (_, _)
- 
- File "src/core/apxnorm.ml", lines 836-886, characters 2-33:
- 836 | ..function
- 837 |   | Apx.Comp.Fn (loc, f, e) ->
- 838 |      Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e)
- 839 | 
- 840 |   | Apx.Comp.Fun (loc, fbr) ->
- ...
- 883 | 
- 884 |   | Apx.Comp.Var _
- 885 |     | Apx.Comp.DataConst _
- 886 |     | Apx.Comp.Const _ as  i -> i
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ann (_, _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Abstract.cmx -c -impl src/core/abstract.ml)
- File "src/core/abstract.ml", lines 253-257, characters 4-47:
- 253 | ....function
- 254 |     | I.Atom _ -> (k, tS)
- 255 |     | I.PiTyp (_, tA') ->
- 256 |        let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in
- 257 |        etaExpSpine (k + 1) (I.App (tN, tS)) tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/abstract.ml", lines 260-263, characters 4-49:
- 260 | ....match tA with
- 261 |     | I.Atom _ -> tM
- 262 |     | I.PiTyp ((I.TypDecl (x, _), _, _), tA') ->
- 263 |        I.Lam (loc, x, etaExpPrefix loc (tM, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/abstract.ml", lines 267-269, characters 4-19:
- 267 | ....match h with
- 268 |     | I.BVar x -> I.BVar (x + k - 1)
- 269 |     | I.FVar _ -> h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/abstract.ml", lines 317-332, characters 2-17:
- 317 | ..function
- 318 |   | I.Empty -> I.Empty
- 319 | 
- 320 |   | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) ->
- 321 |      begin match raiseType cPsi tA with
- ...
- 329 |      I.Dec (ctxToCtx cQ', I.TypDecl (x, tA))
- 330 | 
- 331 |   | I.Dec (cQ', FDecl (_, Impure)) ->
- 332 |      ctxToCtx cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec
-   (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
- 
- File "src/core/abstract.ml", lines 336-355, characters 2-20:
- 336 | ..function
- 337 |   | I.Empty -> I.Empty
- 338 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
- 339 |      let plicity' = f plicity in
- 340 |      let cQ'' = ctxToMCtx f cQ' in
- ...
- 352 |   | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))->
- 353 |      Error.raise_violation "Free variables in computation-level reconstruction."
- 354 |   | I.Dec (cQ', FDecl (_, Impure)) ->
- 355 |      ctxToMCtx f cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 358-365, characters 2-76:
- 358 | ..function
- 359 |   | I.Empty -> I.Empty
- 360 |   | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) ->
- 361 |      let cQ'' = mctxToCtx cQ' in
- 362 |      I.Dec (cQ'', CtxV (x, w, plicity, inductivity))
- 363 |   | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) ->
- 364 |      let cQ'' = mctxToCtx cQ' in
- 365 |      I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cQ', DeclOpt _)
- 
- File "src/core/abstract.ml", lines 368-384, characters 2-32:
- 368 | ..function
- 369 |   | I.Empty -> I.Empty
- 370 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) ->
- 371 |      let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in
- 372 |      I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive })
- ...
- 381 |      I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity })
- 382 | 
- 383 |   | I.Dec (cQ', FDecl (_, Impure)) ->
- 384 |      ctxToMCtx_pattern names cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (FV _, Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 409-421, characters 2-35:
- 409 | ..function
- 410 |   | (I.Lam (loc, x, tM), s) ->
- 411 |      let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in
- 412 |      (cQ', I.Lam (loc, x, tM'))
- 413 |   | (I.Tuple (loc, tuple), s) ->
- ...
- 418 |      let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in
- 419 |      (cQ'', I.Root (loc, h', tS', plicity))
- 420 |   | (I.LFHole (loc, id, name), s) ->
- 421 |      (cQ, I.LFHole (loc, id, name))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _, _)
- 
- File "src/core/abstract.ml", lines 481-485, characters 7-49:
- 481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in
- 482 |        let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in
- 483 |        if !pat_flag
- 484 |        then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive)
- 485 |        else MetaTyp (mtyp', plicity, inductivity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, DeclOpt { _ })
- 
- File "src/core/abstract.ml", lines 512-517, characters 10-11:
- 512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) =
- 513 |             addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity))
- 514 |           in
- 515 |           ( cQ'
- 516 |           , I.{ v with typ; plicity; inductivity }
- 517 |           )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cQ', LFTyp _)
- 
- File "src/core/abstract.ml", lines 615-652, characters 2-26:
- 615 | ..function
- 616 |   | (I.BVar _ as head, _)
- 617 |     | (I.Const _ as head, _) -> (cQ, head)
- 618 | 
- 619 |   | (I.FVar name, _) ->
- ...
- 649 | 
- 650 |   | (I.Proj (head, j), s) ->
- 651 |      let (cQ', h') = collectHead k cQ phat loc (head, s) in
- 652 |      (cQ', I.Proj (h', j))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)
- 
- File "src/core/abstract.ml", lines 656-671, characters 2-27:
- 656 | ..function
- 657 |   | (I.Atom (loc, a, tS), s) ->
- 658 |      let (cQ', tS') = collectSpine p cQ phat (tS, s) in
- 659 |      (cQ', I.Atom (loc, a, tS'))
- 660 | 
- ...
- 668 | 
- 669 |   | (I.Sigma typRec, s) ->
- 670 |      let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in
- 671 |      (cQ', I.Sigma typRec')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 686-691, characters 2-66:
- 686 | ..function
- 687 |   | (I.Typ, _) -> (cQ, I.Typ)
- 688 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
- 689 |      let (cQ', tA') = collectTyp p cQ phat (tA, s) in
- 690 |      let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in
- 691 |      (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", line 759, characters 22-32:
- 759 | let collectCDecl p cQ (I.Decl d) =
-                             ^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/abstract.ml", lines 784-790, characters 2-8:
- 784 | ..function
- 785 |   | (I.Typ, _) -> I.Typ
- 786 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
- 787 |      I.PiKind
- 788 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
- 789 |        , abstractKind cQ (offset + 1) (tK, LF.dot1 s)
- 790 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 795-803, characters 2-8:
- 795 | ..function
- 796 |   | (I.Atom (loc, a, tS), s (* id *)) ->
- 797 |      I.Atom (loc, a, abstractSpine cQ offset (tS, s))
- 798 | 
- 799 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
- 800 |      I.PiTyp
- 801 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
- 802 |        , abstractTyp cQ (offset + 1) (tB, LF.dot1 s)
- 803 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 818-843, characters 2-8:
- 818 | ..function
- 819 |   | (I.Lam (loc, x, tM), s) ->
- 820 |      I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s))
- 821 | 
- 822 |   | ( I.(Root
- ...
- 840 |        , abstractHead cQ offset tH
- 841 |        , abstractSpine cQ offset (tS, s)
- 842 |        , plicity
- 843 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _)
- 
- File "src/core/abstract.ml", lines 846-851, characters 2-59:
- 846 | ..function
- 847 |   | I.BVar _ as tH -> tH
- 848 |   | I.Const _ as tH -> tH
- 849 |   | I.FVar n -> I.BVar (index_of cQ (FV n) + offset)
- 850 |   | I.AnnH _ ->
- 851 |      Error.raise_not_implemented "[abstractHead] AnnH case"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)|
- HMClo (_, _))
- 
- File "src/core/abstract.ml", lines 855-869, characters 2-85:
- 855 | ..match (s, cPsi) with
- 856 |   | (I.Shift _, I.Null) -> tS
- 857 |   | (I.Shift k, I.DDec _) ->
- 858 |      subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS
- 859 | 
- ...
- 866 |     (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *)
- 867 | 
- 868 |   | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) ->
- 869 |      subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Shift _, CtxVar _)
- 
- File "src/core/abstract.ml", lines 880-894, characters 2-48:
- 880 | ..function
- 881 |   | I.Empty -> I.Empty
- 882 |   | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ
- 883 |   | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) ->
- 884 |      let cQ' = abstractCtx cQ in
- ...
- 891 |   | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) ->
- 892 |      let cQ' = abstractCtx cQ in
- 893 |      let tA' = abstractTyp cQ 0 (tA, LF.id) in
- 894 |      I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA')))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec
-   (_,
-   FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
- 
- File "src/core/abstract.ml", lines 900-906, characters 2-39:
- 900 | ..match cPsi with
- 901 |   | I.Null -> I.Null
- 902 |   | I.CtxVar psi -> cPsi
- 903 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
- 904 |      let cPsi' = abstractDctx cQ cPsi (l - 1) in
- 905 |      let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in
- 906 |      I.DDec (cPsi', I.TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/abstract.ml", lines 930-940, characters 2-20:
- 930 | ..function
- 931 |   | (I.Atom (loc, a, tS), s (* id *)) ->
- 932 |      I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s))
- 933 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
- 934 |      I.PiTyp
- ...
- 937 |        )
- 938 |   | (I.Sigma typRec, s) ->
- 939 |      let typRec' = abstractMVarTypRec cQ offset (typRec, s) in
- 940 |      I.Sigma typRec'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/abstract.ml", lines 954-962, characters 2-29:
- 954 | ..function
- 955 |   | (I.Lam (loc, x, tM), s) ->
- 956 |      I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s))
- 957 |   | (I.Tuple (loc, tuple), s) ->
- 958 |      I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s))
- 959 |   | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) ->
- 960 |      I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity)
- 961 |   | (I.LFHole (loc, id, name), s) ->
- 962 |      I.LFHole (loc, id, name)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _, _)
- 
- File "src/core/abstract.ml", lines 1000-1036, characters 2-46:
- 1000 | ..function
- 1001 |   | I.BVar _ as mH -> mH
- 1002 |   | I.Const _ as mH -> mH
- 1003 | 
- 1004 |   | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns)
- ...
- 1033 |      Error.raise_not_implemented "[abstractMVarHead] AnnH case"
- 1034 | 
- 1035 |   | I.Proj (head, k) ->
- 1036 |      I.Proj (abstractMVarHead cQ loff head, k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (FVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/abstract.ml", lines 1091-1097, characters 2-39:
- 1091 | ..function
- 1092 |   | I.Null -> I.Null
- 1093 |   | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv)
- 1094 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
- 1095 |      let cPsi' = abstractMVarDctx cQ loff cPsi in
- 1096 |      let tA' = abstractMVarTyp cQ loff (tA, LF.id) in
- 1097 |      I.DDec (cPsi', I.TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/abstract.ml", line 1110, characters 30-40:
- 1110 | and abstractMVarCdecl cQ loff (I.Decl d) =
-                                      ^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/abstract.ml", lines 1121-1138, characters 2-58:
- 1121 | ..match cQ with
- 1122 |   | I.Empty -> I.Empty
- 1123 |   | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
- 1124 |      let cQ' = abstractMVarCtx cQ (l - 1) in
- 1125 |      I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity))))
- ...
- 1135 |       * is it ever hit on correct code?  -jd 2009-02-12
- 1136 |       * No. This case should not occur in correct code - bp
- 1137 |       *)
- 1138 |      raise (Error (Name.location name, UnknownIdentifier))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (MMV _, Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 1150-1154, characters 2-20:
- 1150 | ..function
- 1151 |   | I.ClObj (phat, tM) ->
- 1152 |      I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM)
- 1153 |   | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi)
- 1154 |   | I.MV k -> I.MV k
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MUndef
- 
- File "src/core/abstract.ml", lines 1167-1179, characters 4-21:
- 1167 | ....function
- 1168 |     | I.Empty -> I.Empty
- 1169 |     | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
- 1170 |        let cQ'' = ctxToMCtx' cQ' in
- 1171 |        I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity })
- ...
- 1176 |        let cQ'' = ctxToMCtx' cQ' in
- 1177 |        I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity })
- 1178 |     | I.Dec (cQ', FDecl (_, Impure)) ->
- 1179 |        ctxToMCtx' cQ'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, FDecl (FV _, Pure (LFTyp _)))
- 
- File "src/core/abstract.ml", lines 1208-1217, characters 2-8:
- 1208 | ..match cQ with
- 1209 |   | Int.LF.Empty -> (tA', 0)
- 1210 |   | Int.LF.Dec (_, FDecl (s, _)) ->
- 1211 |      let cQ' = abstractCtx cQ in
- 1212 |      let tA2 = abstractTyp cQ' 0 (tA', LF.id) in
- 1213 |      let cPsi = ctxToCtx cQ' in
- 1214 |      begin match raiseType' cPsi tA2 with
- 1215 |      | (None, tA3) -> (tA3, length' cPsi)
- 1216 |      | _ -> raise (Error (Location.ghost, LeftoverVars))
- 1217 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, CtxV _)
- 
- File "src/core/abstract.ml", lines 1246-1287, characters 2-28:
- 1246 | ..function
- 1247 |   | Comp.TypBase (loc, a, ms) ->
- 1248 |      let (cQ', ms') = collect_meta_spine p cQ ms in
- 1249 |      (cQ', Comp.TypBase (loc, a, ms'))
- 1250 |   | Comp.TypCobase (loc, a, ms) ->
- ...
- 1284 | 
- 1285 |   | Comp.TypInd tau ->
- 1286 |      let (cQ', tau') = collectCompTyp p cQ tau in
- 1287 |      (cQ', Comp.TypInd tau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDef (_, _, _)
- 
- File "src/core/abstract.ml", lines 1291-1296, characters 2-54:
- 1291 | ..function
- 1292 |   | I.Empty -> (cQ, I.Empty)
- 1293 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
- 1294 |      let (cQ1, cG') = collectGctx cQ cG in
- 1295 |      let (cQ2, tau') = collectCompTyp 0 cQ1 tau in
- 1296 |      (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/abstract.ml", lines 1463-1489, characters 2-52:
- 1463 | ..function
- 1464 |   | Comp.TypBase (loc, a, cS) ->
- 1465 |      let cS' = abstractMVarMetaSpine cQ offset cS in
- 1466 |      Comp.TypBase (loc, a, cS')
- 1467 |   | Comp.TypCobase (loc, a, cS) ->
- ...
- 1486 |        )
- 1487 | 
- 1488 |   | Comp.TypInd tau ->
- 1489 |      Comp.TypInd (abstractMVarCompTyp cQ offset tau)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _)|TypClo (_, _))
- 
- File "src/core/abstract.ml", lines 1492-1497, characters 2-47:
- 1492 | ..function
- 1493 |   | I.Empty -> I.Empty
- 1494 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
- 1495 |      let cG' = abstractMVarGctx cQ offset cG in
- 1496 |      let tau' = abstractMVarCompTyp cQ offset tau in
- 1497 |      I.Dec (cG', Comp.CTypDecl (x, tau', flag))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/abstract.ml", lines 1698-1700, characters 4-48:
- 1698 | ....match (p, cD) with
- 1699 |     | (0, _) -> cD
- 1700 |     | (_, I.Dec (cD', decl)) -> drop (p - 1) cD'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1, Empty)
- 
- File "src/core/abstract.ml", lines 1722-1724, characters 8-24:
- 1722 | ........let I.Dec (cD1', decl) = cD1 in
- 1723 |         let cD = subtract cD1' cD2 in
- 1724 |         I.Dec (cD, decl)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/abstract.ml", lines 1785-1789, characters 2-24:
- 1785 | ..function
- 1786 |   | I.Null -> cPsi1
- 1787 |   | I.DDec (cPsi2', dec) ->
- 1788 |      let cPsi1' = appDCtx cPsi1 cPsi2' in
- 1789 |      I.Dec (cPsi1', dec)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Unify.cmx -c -impl src/core/unify.ml)
- File "src/core/unify.ml", line 163, characters 30-55:
- 163 |   let genMMVarstr loc cD cPsi (Atom (_, a, _) as tP, s) =
-                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)
- 
- File "src/core/unify.ml", lines 575-585, characters 6-9:
- 575 | ......begin match applyMSub k ms with
- 576 |       | MUndef ->
- 577 |          (* Psi1, x:tA |- s' <= Psi2 *)
- 578 |          (Whnf.mcomp mt' (MShift 1), cD2)
- 579 | 
- ...
- 582 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
- 583 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
- 584 |          (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity }))
- 585 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 566-590, characters 4-38:
- 566 | ....match (t, cD1) with
- 567 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
- 568 | 
- 569 |    | (MShift k, Dec _) ->
- 570 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
- ...
- 587 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
- 588 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
- 589 |       (* cD1 |- mt' <= cD2 *)
- 590 |       (Whnf.mcomp mt' (MShift 1), cD2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MDot (MV k, mt), Dec (cD1, DeclOpt _))
- 
- File "src/core/unify.ml", lines 810-819, characters 7-10:
- 810 | .......begin match applyMSub u ms with
- 811 |        | MV v ->
- 812 |           Root
- 813 |             ( loc
- 814 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
- 815 |             , Nil
- 816 |             , plicity
- 817 |             )
- 818 |        | MUndef -> raise NotInvertible
- 819 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 822-830, characters 7-46:
- 822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
- 823 |        let d = Context.length cD0 - Context.length cD_d in
- 824 |        let cPsi1 =
- 825 |          if d = 0
- 826 |          then cPsi1
- 827 |          else Whnf.cnormDCtx (cPsi1, MShift d)
- 828 |        in
- 829 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
- 830 |        Root (loc, FMVar (u, s'), Nil, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=CTyp _; _ })
- 
- File "src/core/unify.ml", lines 833-841, characters 7-46:
- 833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in
- 834 |        let d = Context.length cD0 - Context.length cD_d in
- 835 |        let cPsi1 =
- 836 |          if d = 0
- 837 |          then cPsi1
- 838 |          else Whnf.cnormDCtx (cPsi1, MShift d)
- 839 |        in
- 840 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
- 841 |        Root (loc, FPVar (p, s'), Nil, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=CTyp _; _ })
- 
- File "src/core/unify.ml", lines 846-850, characters 7-10:
- 846 | .......begin match applyMSub p ms with
- 847 |        | MV q ->
- 848 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
- 849 |        | MUndef -> raise NotInvertible
- 850 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 747-862, characters 4-62:
- 747 | ....match sM with
- 748 |     | (Lam (loc, x, tM), s) ->
- 749 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
- 750 | 
- 751 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
- ...
- 859 |          )
- 860 | 
- 861 |     | (Tuple (loc, trec), s) ->
- 862 |        Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((LFHole (_, _, _)|Clo _), _)
- 
- File "src/core/unify.ml", lines 888-891, characters 7-10:
- 888 | .......begin match bvarSub k ssubst with
- 889 |        | Undef -> raise NotInvertible
- 890 |        | Head (BVar k') -> BVar k'
- 891 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 894-897, characters 7-10:
- 894 | .......begin match bvarSub k ssubst with
- 895 |        | Head (BVar _ as head) -> head
- 896 |        | Undef -> raise NotInvertible
- 897 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 932-936, characters 7-10:
- 932 | .......begin match applyMSub u ms with
- 933 |        | MV v ->
- 934 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
- 935 |        | MUndef -> raise NotInvertible
- 936 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 940-944, characters 7-10:
- 940 | .......begin match applyMSub p ms with
- 941 |        | MV q ->
- 942 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
- 943 |        | MUndef -> raise NotInvertible
- 944 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 948-952, characters 7-10:
- 948 | .......begin match applyMSub p ms with
- 949 |        | MV q ->
- 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
- 951 |        | MUndef -> raise NotInvertible
- 952 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 886-952, characters 4-10:
- 886 | ....match head with
- 887 |     | BVar k ->
- 888 |        begin match bvarSub k ssubst with
- 889 |        | Undef -> raise NotInvertible
- 890 |        | Head (BVar k') -> BVar k'
- ...
- 949 |        | MV q ->
- 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
- 951 |        | MUndef -> raise NotInvertible
- 952 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Proj
-   ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-    FPVar _|HClo (_, _, _)|HMClo (_, _)),
-   _)
- 
- File "src/core/unify.ml", lines 956-959, characters 4-46:
- 956 | ....function
- 957 |     | Undefs -> raise (Failure "Variable dependency")
- 958 |     | Shift k -> Shift (n + k)
- 959 |     | Dot (ft, ss') -> shiftInvSub (n - 1) ss'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/unify.ml", lines 981-985, characters 9-40:
- 981 | .........match applyMSub s ms with
- 982 |          | MV v ->
- 983 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
- 984 |             (v, cPhi, cPsi')
- 985 |          | MUndef -> raise NotInvertible
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1024-1030, characters 7-10:
- 1024 | .......begin match applyMSub s ms with
- 1025 |        | MV v ->
- 1026 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
- 1027 |           (* applyMSub to ctx_offset ? *)
- 1028 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
- 1029 |        | MUndef -> raise NotInvertible
- 1030 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1033-1034, characters 7-64:
- 1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in
- 1034 |        FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=ClTyp (STyp (Ren, _), _); _ })
- 
- File "src/core/unify.ml", lines 1063-1069, characters 4-74:
- 1063 | ....match (mt, cD1) with
- 1064 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
- 1065 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) ->
- 1066 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
- 1067 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
- 1068 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
- 1069 |        MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MDot (mobj, mt'), Empty)
- 
- File "src/core/unify.ml", lines 1072-1080, characters 4-90:
- 1072 | ....match mobj with
- 1073 |     | MV n ->
- 1074 |        begin match applyMSub n ms with
- 1075 |        | MUndef -> raise NotInvertible
- 1076 |        | ft -> ft
- 1077 |        end
- 1078 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
- 1079 |     | CObj cPsi -> Error.raise_violation "Not implemented"
- 1080 |     | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/unify.ml", lines 1152-1154, characters 7-80:
- 1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
- 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
- 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Shift 1
- 
- File "src/core/unify.ml", lines 1124-1154, characters 4-80:
- 1124 | ....match sM with
- 1125 |     | (LFHole _ as n, _) -> n
- 1126 |     | (Lam (loc, x, tM), s) ->
- 1127 |        dprintf
- 1128 |          begin fun p ->
- ...
- 1151 |     | (Root (loc, head, tS, plicity), s) ->
- 1152 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
- 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
- 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Clo _, _)
- 
- File "src/core/unify.ml", lines 1173-1184, characters 4-9:
- 1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
- 1174 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
- 1175 |     then raise (Failure "Variable occurrence")
- 1176 |     else
- 1177 |       begin
- ...
- 1181 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
- 1182 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
- 1183 |         ((v, mr), r)
- 1184 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1187-1199, characters 4-37:
- 1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
- 1188 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
- 1189 |     then raise (Failure "Variable occurrence")
- 1190 |     else
- 1191 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
- ...
- 1196 |         , Root (loc, MVar (v, idsub), Nil, Plicity.explicit)
- 1197 |         , mmvar.constraints.contents
- 1198 |         );
- 1199 |       (v, comp (comp idsub t) ssubst)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 1202-1211, characters 3-10:
- 1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
- 1203 |    let d = Context.length cD0 - Context.length cD_d in
- 1204 |    let cPsi1 =
- 1205 |      if d = 0
- 1206 |      then cPsi1
- 1207 |      else Whnf.cnormDCtx (cPsi1, MShift d)
- 1208 |    in
- 1209 |    let t' = simplifySub cD0 cPsi t in
- 1210 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
- 1211 |    (u, s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=CTyp _; _ })
- 
- File "src/core/unify.ml", lines 1216-1219, characters 7-14:
- 1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
- 1217 |        let t' = simplifySub cD0 cPsi t in
- 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
- 1219 |        (v, s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, CTyp _)
- 
- File "src/core/unify.ml", lines 1214-1220, characters 4-63:
- 1214 | ....match applyMSub u ms with
- 1215 |     | MV v ->
- 1216 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
- 1217 |        let t' = simplifySub cD0 cPsi t in
- 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
- 1219 |        (v, s')
- 1220 |     | MUndef -> raise (Failure "[Prune] Bound MVar dependency")
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1246-1254, characters 7-10:
- 1246 | .......begin match bvarSub k ssubst with
- 1247 |        | Undef ->
- 1248 |           let s =
- 1249 |             Format.asprintf "[Prune] Bound variable dependency : head = %a"
- 1250 |               (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head
- 1251 |           in
- 1252 |           raise (Failure s)
- 1253 |        | Head (BVar _ as h') -> h'
- 1254 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1223-1258, characters 4-11:
- 1223 | ....match head with
- 1224 |     | MMVar ((i, mt), t) ->
- 1225 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
- 1226 |     | MVar (Inst i, t) ->
- 1227 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
- ...
- 1255 | 
- 1256 |     | Const _
- 1257 |       | FVar _ ->
- 1258 |        head
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (AnnH (_, _)|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1293-1317, characters 4-57:
- 1293 | ....match (s, cPsi1) with
- 1294 |     | (EmptySub, Null) -> EmptySub
- 1295 |     | (Undefs, Null) -> EmptySub
- 1296 |     | (Shift n, DDec _) ->
- 1297 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
- ...
- 1314 | 
- 1315 |     | (Dot _, _)
- 1316 |       | (EmptySub, _)
- 1317 |       -> Error.raise_violation "Badly typed substitution"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Undefs, (CtxVar _|DDec (_, _)))
- 
- File "src/core/unify.ml", lines 1321-1323, characters 4-70:
- 1321 | ....match ft with
- 1322 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
- 1323 |     | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Undef
- 
- File "src/core/unify.ml", lines 1354-1357, characters 9-59:
- 1354 | .........function
- 1355 |          | Undefs -> (EmptySub, Null)
- 1356 |          | Shift k -> (id, CtxVar psi)
- 1357 |          | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/unify.ml", lines 1370-1374, characters 9-40:
- 1370 | .........match applyMSub s mt with
- 1371 |          | MV v ->
- 1372 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
- 1373 |             cPsi'
- 1374 |          | MUndef -> raise NotInvertible
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ClObj (_, _)|CObj _)
- 
- File "src/core/unify.ml", lines 1387-1390, characters 7-18:
- 1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
- 1388 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
- 1389 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
- 1390 |        (id, cPsi1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|PTyp _), _)
- 
- File "src/core/unify.ml", lines 1398-1400, characters 7-18:
- 1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in
- 1399 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
- 1400 |        (id, cPsi1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
- 
- File "src/core/unify.ml", lines 1407-1426, characters 7-10:
- 1407 | .......begin match bvarSub n ssubst with
- 1408 |        | Undef ->
- 1409 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
- 1410 |           (comp s1' shift, cPsi1')
- 1411 | 
- ...
- 1423 |           in
- 1424 |           (* cPsi1' |- s1_i <= cPsi' *)
- 1425 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
- 1426 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1431-1448, characters 7-10:
- 1431 | .......begin match bvarSub n ssubst with
- 1432 |        | Undef ->
- 1433 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
- 1434 |           (comp s1' shift, cPsi1')
- 1435 | 
- ...
- 1445 |           in
- 1446 |           (* cPsi1' |- s1_i <= cPsi' *)
- 1447 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
- 1448 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1343-1471, characters 4-31:
- 1343 | ....match (s, cPsi1) with
- 1344 |     | (Shift n, DDec _) ->
- 1345 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
- 1346 |     | (Shift _, Null)
- 1347 |       | (EmptySub, Null)
- ...
- 1468 | 
- 1469 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
- 1470 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
- 1471 |        (comp s1' shift, cPsi1')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub, (CtxVar _|DDec (_, _)))
- 
- File "src/core/unify.ml", lines 1474-1487, characters 4-21:
- 1474 | ....match sA with
- 1475 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
- 1476 |     | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) ->
- 1477 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
- 1478 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
- ...
- 1484 | 
- 1485 |     | (Sigma typ_rec, s) ->
- 1486 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
- 1487 |        Sigma typ_rec'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TClo _, _)
- 
- File "src/core/unify.ml", lines 1504-1507, characters 7-10:
- 1504 | .......begin match applyMSub psi ms with
- 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
- 1506 |        | MV k -> CtxVar (CtxOffset k)
- 1507 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MUndef|ClObj (_, _))
- 
- File "src/core/unify.ml", lines 1510-1514, characters 7-10:
- 1510 | .......begin match mmvar.instantiation.contents with
- 1511 |        | None -> cPsi
- 1512 |        | Some (ICtx cPhi) ->
- 1513 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
- 1514 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/unify.ml", lines 1501-1529, characters 4-37:
- 1501 | ....match cPsi with
- 1502 |     | Null -> Null
- 1503 |     | CtxVar (CtxOffset psi) ->
- 1504 |        begin match applyMSub psi ms with
- 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
- ...
- 1526 |            (ms, Substitution.LF.id)
- 1527 |            rOccur
- 1528 |        in
- 1529 |        DDec (cPsi', TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/unify.ml", lines 1574-1583, characters 7-10:
- 1574 | .......begin match bvarSub k ssubst with
- 1575 |        | Undef ->
- 1576 |           (* Psi1, x:tA |- s' <= Psi2 *)
- 1577 |           (comp s' shift, cPsi2)
- 1578 | 
- 1579 |        | Head (BVar _) ->
- 1580 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
- 1581 |                   A = [s']([s']^-1 A) *)
- 1582 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
- 1583 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1590-1599, characters 7-10:
- 1590 | .......begin match bvarSub k ssubst with
- 1591 |        | Undef ->
- 1592 |           (* Psi1, x:tA |- s' <= Psi2 *)
- 1593 |           (comp s' shift, cPsi2)
- 1594 | 
- 1595 |        | Head (BVar _) ->
- 1596 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
- 1597 |                   A = [s']([s']^-1 A) *)
- 1598 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
- 1599 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
-   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/unify.ml", lines 1551-1604, characters 4-29:
- 1551 | ....match (t, cPsi1) with
- 1552 |     | (EmptySub, Null)
- 1553 |       | (Undefs, Null)
- 1554 |       | (Shift _, Null) ->
- 1555 |        (id, Null)
- ...
- 1601 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
- 1602 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
- 1603 |        (* sP1 |- s' <= cPsi2 *)
- 1604 |        (comp s' shift, cPsi2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub, (CtxVar _|DDec (_, _)))
- 
- File "src/core/unify.ml", lines 1646-1651, characters 4-56:
- 1646 | ....match (sTup1, sTup2) with
- 1647 |     | ((Last tM, s1), (Last tN, s2)) ->
- 1648 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
- 1649 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
- 1650 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
- 1651 |         unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Last tM, s1), (Cons (_, _), _))
- 
- File "src/core/unify.ml", lines 1654-1680, characters 4-9:
- 1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1655 |     if isId t1'
- 1656 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
- 1657 |     else
- 1658 |       begin
- ...
- 1677 |            (* This might actually need to add a constraint, in which case
- 1678 |            "NotInvertible" seems the wrong kind of exception... *)
- 1679 |            Error.raise_violation "Unification violation"
- 1680 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1694-1705, characters 9-35:
- 1694 | .........match Whnf.whnfTyp sA with
- 1695 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
- 1696 |             (* cPsi' |- Pi x:A.B <= typ
- 1697 |                cPsi  |- s <= cPsi'
- 1698 |                cPsi  |- tN <= [s]tA
- ...
- 1702 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
- 1703 |             LF.App (tN, tS)
- 1704 | 
- 1705 |          | (LF.Atom _, _) -> LF.Nil
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/unify.ml", lines 1683-1710, characters 4-15:
- 1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1684 |     match sM2 with
- 1685 |     | Root (loc, Const c, _, plicity) ->
- 1686 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
- 1687 |        dprintf
- ...
- 1707 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
- 1708 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
- 1709 |        Some tM1
- 1710 |     | _ -> None
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1716-1729, characters 6-32:
- 1716 | ......match Whnf.whnfTyp sA with
- 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
- 1718 |          (* cPsi' |- Pi x:A.B <= typ
- 1719 |             cPsi  |- s <= cPsi'
- 1720 |             cPsi  |- tN <= [s]tA
- ...
- 1726 |          in
- 1727 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
- 1728 |          LF.App (tN, tS)
- 1729 |       | (LF.Atom _, _) -> LF.Nil
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/unify.ml", lines 1714-1762, characters 4-15:
- 1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
- 1715 |     let rec genSpine cD1 cPsi1 sA =
- 1716 |       match Whnf.whnfTyp sA with
- 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
- 1718 |          (* cPsi' |- Pi x:A.B <= typ
- ...
- 1759 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
- 1760 |        Some tM1
- 1761 | 
- 1762 |     | _ -> None
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 1766-1769, characters 4-79:
- 1766 | ....match tm with
- 1767 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
- 1768 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
- 1769 |     | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ISub s, (MTyp _|PTyp _))
- 
- File "src/core/unify.ml", lines 1772-1796, characters 4-9:
- 1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
- 1773 |     if isId t1' && isMId mt1
- 1774 |     then
- 1775 |       begin
- 1776 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
- ...
- 1793 |         (* with | NotInvertible -> Error.raise_violation "Unification violation" *)
- 1794 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
- 1795 |            the wrong kind of exception... *)
- 1796 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1810-1882, characters 4-76:
- 1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1811 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
- 1812 |     (* cD |- mtt1 : cD0 and  cD ; cPsi |- t1' : cPsi1 *)
- 1813 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
- 1814 |     let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *)
- ...
- 1879 |       p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a"
- 1880 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
- 1881 |       end;
- 1882 |     instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1885-1918, characters 4-102:
- 1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
- 1886 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
- 1887 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
- 1888 |          then cD ; cPsi1 |- s' <= cPsi' *)
- 1889 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
- ...
- 1915 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
- 1916 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
- 1917 |      *)
- 1918 |     instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/unify.ml", lines 1934-1975, characters 7-12:
- 1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
- 1935 |        dprnt "(000) MVar-MVar";
- 1936 |        (* by invariant of whnf:
- 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
- 1938 |           r1 and r2 are uninstantiated  (None)
- ...
- 1972 |          begin
- 1973 |            let id = next_constraint_id () in
- 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
- 1975 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 1933-1975, characters 7-12:
- 1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
- 1934 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
- 1935 |        dprnt "(000) MVar-MVar";
- 1936 |        (* by invariant of whnf:
- 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
- ...
- 1972 |          begin
- 1973 |            let id = next_constraint_id () in
- 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
- 1975 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/unify.ml", lines 2439-2452, characters 4-52:
- 2439 | ....match (spine1, spine2) with
- 2440 |     | ((Nil, _), (Nil, _)) -> ()
- 2441 | 
- 2442 |     | ((SClo (tS1, s1'), s1), sS) ->
- 2443 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
- ...
- 2449 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
- 2450 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
- 2451 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
- 2452 |        unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Nil, _), (App (_, _), _))
- 
- File "src/core/unify.ml", lines 2659-2710, characters 7-61:
- 2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
- 2660 |        if mmvar1.instantiation == mmvar2.instantiation
- 2661 |        then
- 2662 |          if Option.equal Id.cid_schema_equal schema1 schema2
- 2663 |          then
- ...
- 2707 |          Error.raise_violation
- 2708 |            "Case where both meta-substitutions associated with \
- 2709 |             context variables are not pattern substitutions \
- 2710 |             should not happen and is not implemented for now"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CTyp schema1, ClTyp (_, _))
- 
- File "src/core/unify.ml", lines 2714-2747, characters 7-61:
- 2714 | .......let CTyp s_cid = mmvar.typ in
- 2715 |        if isPatMSub theta
- 2716 |        then
- 2717 |          begin
- 2718 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
- ...
- 2744 |          Error.raise_violation
- 2745 |            "Case where both meta-substitutions associated with \
- 2746 |             context variables are not pattern substitutions \
- 2747 |             should not happen and is not implemented for now"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (_, _)
- 
- File "src/core/unify.ml", lines 2785-2786, characters 4-43:
- 2785 | ....let Decl { typ = cT; _ } = cdecl in
- 2786 |     unifyMObj cD (mO, t) (mO', t') (cT, mt)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/unify.ml", lines 2820-2832, characters 7-53:
- 2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in
- 2821 |        let mOt = Whnf.cnormMetaObj (mO, t) in
- 2822 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
- 2823 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
- 2824 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
- ...
- 2829 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
- 2830 |          end;
- 2831 |        unifyMetaTyp cD (mT, t) (mT', t');
- 2832 |        unifyMetaSpine cD (mS, t) (mS', t') (cK', mt')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Ctype _
- 
- File "src/core/unify.ml", lines 2837-2840, characters 4-81:
- 2837 | ....function
- 2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MTyp tA1, (PTyp _|STyp (_, _)))
- 
- File "src/core/unify.ml", line 2836, characters 17-28:
- 2836 |   and unifyClTyp Unification cD cPsi =
-                         ^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Matching
- 
- File "src/core/unify.ml", line 2842, characters 18-29:
- 2842 |   and unifyCLFTyp Unification cD ctyp1 ctyp2 =
-                          ^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Matching
- 
- File "src/core/unify.ml", lines 2938-2941, characters 4-62:
- 2938 | ....match (itM1, itM2) with
- 2939 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
- 2940 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
- 2941 |     | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (INorm tM1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/unify.ml", lines 2950-2962, characters 7-10:
- 2950 | .......begin match !cnstr with
- 2951 |        | Queued id ->
- 2952 |           forceCnstr mflag (nextCnstr ())
- 2953 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
- 2954 |           solveConstraint cnstr;
- ...
- 2959 |           solveConstraint cnstr;
- 2960 |           unifyHead mflag cD cPsi h1 h2;
- 2961 |           forceCnstr mflag (nextCnstr ())
- 2962 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
- 
- File "src/core/unify.ml", lines 2994-3029, characters 7-100:
- 2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
- 2995 |        solveConstraint c;
- 2996 |        dprintf
- 2997 |          begin fun p ->
- 2998 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
- ...
- 3026 |         *)
- 3027 |        if solvedCnstrs (!globalCnstrs)
- 3028 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
- 3029 |        else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated"))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Queued _
- 
- File "src/core/unify.ml", lines 3202-3204, characters 8-68:
- 3202 | ........match (m1, m2) with
- 3203 |         | (MObj tM1, MObj tM2) ->  unify Empty cPsi (tM1, id) (tM2,id)
- 3204 |         | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MObj tM1, (PObj _|SObj _))
- 
- File "src/core/unify.ml", lines 3208-3217, characters 4-49:
- 3208 | ....match (m1, m2) with
- 3209 |     | (CObj cPsi, CObj cPhi) ->
- 3210 |        unifyDCtx1
- 3211 |          Unification
- 3212 |          Empty
- 3213 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
- 3214 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
- 3215 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
- 3216 |        (* unify_phat phat1 phat2; *)
- 3217 |        unifyClObj (Context.hatToDCtx phat1) m1 m2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CObj cPsi, (MUndef|ClObj (_, _)|MV _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Opsem.cmx -c -impl src/core/opsem.ml)
- File "src/core/opsem.ml", lines 80-83, characters 2-30:
- 80 | ..match cM' with
- 81 |   | LF.ClObj (phat, LF.MObj tM) -> (loc, cM')
- 82 |   | LF.ClObj (phat, LF.PObj h) -> (loc, cM')
- 83 |   | LF.CObj cPsi -> (loc, cM')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClObj (_, SObj _)
- 
- File "src/core/opsem.ml", lines 121-137, characters 7-17:
- 121 | .......function
- 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
- 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
- 124 |             when Id.cid_comp_dest_equal cid cid' ->
- 125 |           Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *)
- ...
- 134 |           | Value v -> Value v
- 135 |           end
- 136 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) ->
- 137 |           trim br
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _)
- 
- File "src/core/opsem.ml", lines 119-142, characters 5-8:
- 119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in
- 120 |      let rec trim =
- 121 |        function
- 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
- 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
- ...
- 139 |      begin match trim fbr with
- 140 |      | FunBranch fr -> Comp.FunValue fr
- 141 |      | Value v -> v
- 142 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)|
- CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)|
- TupleValue (T (_, _, _)))
- 
- File "src/core/opsem.ml", lines 91-290, characters 2-50:
-  91 | ..match i with
-  92 |   | Comp.Const (_, cid) ->
-  93 |      dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid);
-  94 |      begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with
-  95 |      | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) ->
- ...
- 287 |      eval_branches loc vscrut branches (theta, eta)
- 288 | 
- 289 |   | Comp.Hole (_) ->
- 290 |      Error.raise_violation "Source contains holes"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MApp (_, _, (_, ClObj (_, SObj _)), _, _)
- 
- File "src/core/opsem.ml", lines 321-325, characters 2-36:
- 321 | ..match (cObj, cObj') with
- 322 |   | (LF.MObj tM, LF.MObj tM') ->
- 323 |      Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id)
- 324 |   | (LF.PObj h, LF.PObj h') ->
- 325 |      Unify.unifyH LF.Empty phat h h'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MObj tM, (PObj _|SObj _))
- 
- File "src/core/opsem.ml", lines 437-458, characters 4-10:
- 437 | ....function
- 438 |     | Comp.NilValBranch -> FunBranch (Comp.NilValBranch)
- 439 |     | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) ->
- 440 |        begin try
- 441 |            let eta' = match_pattern (v, eta) (p, theta) in
- ...
- 455 |                eval_branch brs
- 456 |             | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg);
- 457 |                                     eval_branch brs)
- 458 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfcheck.cmx -c -impl src/core/lfcheck.ml)
- File "src/core/lfcheck.ml", lines 225-230, characters 2-19:
- 225 | ..function
- 226 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
- 227 |   | DDec (cPsi', TypDecl (n, tA)) ->
- 228 |      let s = (ctxToSub' cPhi cPsi' : sub) in
- 229 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
- 230 |      Dot (Obj u, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi', TypDeclOpt _)
- 
- File "src/core/lfcheck.ml", lines 246-330, characters 2-55:
- 246 | ..match (sM, sA) with
- 247 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *)
- 248 |      check cD
- 249 |        (DDec (cPsi, S.LF.decSub tX s2))
- 250 |        (tM, S.LF.dot1 s1)
- ...
- 327 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
- 328 |      end
- 329 |   | ((Root (loc, _, _, _), _ (* id *)), _ ) ->
- 330 |      raise (Error (loc, CheckError (cD, cPsi, sM, sA)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Clo _, _), _)
- 
- File "src/core/lfcheck.ml", lines 361-370, characters 4-23:
- 361 | ....match (tS, sA) with
- 362 |     | ((Nil, _), sP) -> sP
- 363 | 
- 364 |     | ((SClo (tS, s'), s), sA) ->
- 365 |        syn (tS, S.LF.comp s' s) sA
- 366 | 
- 367 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) ->
- 368 |        check cD cPsi (tM, s1) (tA1, s2);
- 369 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
- 370 |        syn (tS, s1) tB2
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfcheck.ml", line 346, characters 16-50:
- 346 | and syn cD cPsi (Root (loc, h, tS, _), s (* id *)) =
-                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 393-394, characters 5-7:
- 393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
- 394 |      tA
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfcheck.ml", lines 400-409, characters 10-25:
- 400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
- 401 |           dprintf
- 402 |             begin fun p ->
- 403 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
- 404 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
- 405 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
- 406 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
- 407 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
- 408 |             end;
- 409 |           (recA, S.LF.id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfcheck.ml", lines 411-413, characters 10-19:
- 411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
- 412 |           checkSub loc cD cPsi s Subst cPsi';
- 413 |           (recA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 398-414, characters 7-64:
- 398 | .......match tuple_head with
- 399 |        | BVar k' ->
- 400 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
- 401 |           dprintf
- 402 |             begin fun p ->
- ...
- 411 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
- 412 |           checkSub loc cD cPsi s Subst cPsi';
- 413 |           (recA, s)
- 414 |        | FPVar (name, _) -> raise (Error (loc, LeftoverFV name))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
- HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfcheck.ml", lines 446-457, characters 5-17:
- 446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
- 447 |      dprintf
- 448 |        begin fun p ->
- 449 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
- 450 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
- ...
- 454 |          f cPsi'
- 455 |        end;
- 456 |      checkSub loc cD cPsi s Subst cPsi' ;
- 457 |      TClo (tA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 461-474, characters 5-37:
- 461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
- 462 |      dprintf
- 463 |        begin fun p ->
- 464 |        let f = P.fmt_ppr_lf_mctx P.l0 in
- 465 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
- ...
- 471 |      checkMSub loc cD t' mmvar.cD;
- 472 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
- 473 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
- 474 |      TClo (Whnf.cnormTyp (tA, t'), r)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/lfcheck.ml", lines 391-506, characters 2-41:
- 391 | ..match (head, cl) with
- 392 |   | (BVar k', _) ->
- 393 |      let TypDecl (_, tA) = ctxDec cPsi k' in
- 394 |      tA
- 395 | 
- ...
- 503 |      TClo (tA, s)
- 504 | 
- 505 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
- 506 |      raise (Error (loc, LeftoverFV name))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MVar (Inst _, _), Subst)
- (However, some guarded clause may match this value.)
- 
- File "src/core/lfcheck.ml", lines 509-528, characters 2-13:
- 509 | ..match cPsi with
- 510 |   | Null -> true (* we need to succeed because coverage should detect that
- 511 |                       it is not inhabited *)
- 512 | 
- 513 |   | CtxVar ctx_var ->
- ...
- 525 | 
- 526 |   | DDec (rest, TypDecl _) ->
- 527 |      canAppear cD rest head sA loc
- 528 |      || false...........................................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (rest, TypDeclOpt _)
- 
- File "src/core/lfcheck.ml", lines 643-655, characters 2-23:
- 643 | ..match sS1, sK with
- 644 |   | (Nil, _), sK ->
- 645 |     sK
- 646 | 
- 647 |   | (SClo (tS, s'), s), sK ->
- ...
- 652 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
- 653 | 
- 654 |   | (App _, _), (Typ, _) ->
- 655 |     raise SpineMismatch
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfcheck.ml", lines 664-681, characters 2-47:
- 664 | ..match tA with
- 665 |   | Atom (loc, a, tS) ->
- 666 |      let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
- 667 |      begin
- 668 |        try
- ...
- 678 |      checkTyp cD cPsi (tA, s);
- 679 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
- 680 | 
- 681 |   | Sigma arec -> checkTypRec cD cPsi (arec, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfcheck.ml", lines 710-714, characters 2-53:
- 710 | ..function
- 711 |   | Typ -> ()
- 712 |   | PiKind ((TypDecl (x, tA), _, _), kind) ->
- 713 |      checkTyp cD cPsi (tA, S.LF.id);
- 714 |      checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfcheck.ml", lines 724-725, characters 2-47:
- 724 | ..match decl with
- 725 |   | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfcheck.ml", lines 734-754, characters 2-7:
- 734 | ..match cPsi with
- 735 |   | Null -> ()
- 736 |   | DDec (cPsi, tX) ->
- 737 |      checkDCtx cD cPsi;
- 738 |      checkDec cD cPsi (tX, S.LF.id)
- ...
- 751 |          (P.fmt_ppr_lf_mctx P.l0) cD
- 752 |        end;
- 753 |      ignore (Whnf.mctxLookup cD k);
- 754 |      ()
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/lfcheck.ml", lines 962-963, characters 5-47:
- 962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
- 963 |      checkSchema loc cD cPhi schema_name schema
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (INorm _|IHead _|ISub _)
- 
- File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57:
- 1019 | ..match (sArec, sBrec) with
- 1020 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
- 1021 |      None
- 1022 | 
- 1023 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
- 1024 |      Some (recA, s)
- 1025 | 
- 1026 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
- 1027 |      elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((SigmaLast (_, _), _), (SigmaElem (_, _, _), _))
- 
- File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69:
- 1075 | ..match (cM, cTt) with
- 1076 |   | (CObj cPsi, (CTyp (Some w), _)) ->
- 1077 |      let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in
- 1078 |      checkSchema loc cD cPsi name schema
- 1079 | 
- ...
- 1098 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
- 1099 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
- 1100 |      if Bool.not (Whnf.convMTyp mtyp1 mtyp2)
- 1101 |      then Error.raise_violation ("Contextual substitution ill-typed")
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CObj cPsi, (CTyp None, _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Total.cmx -c -impl src/core/total.ml)
- File "src/core/total.ml", lines 31-45, characters 6-9:
- 31 | ......begin match (x, args) with
- 32 |       | (_, []) ->
- 33 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
- 34 |       | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) ->
- 35 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@"
- ...
- 42 | 
- 43 |       | (Comp.V _, _) ->
- 44 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration."
- 45 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (M (_, _), (E|DC)::_)
- 
- File "src/core/total.ml", lines 138-141, characters 2-56:
- 138 | ..function
- 139 |   | LF.Empty -> LF.Empty
- 140 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
- 141 |      LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- 
- File "src/core/total.ml", lines 155-157, characters 2-40:
- 155 | ..function
- 156 |   | None -> " _ "
- 157 |   | Some (Comp.Arg x) -> string_of_int x
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (Lex _|Simul _)
- 
- File "src/core/total.ml", line 249, characters 30-37:
- 249 |        let xs = List.map (fun (Arg x) -> x) xs in
-                                     ^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lex _|Simul _)
- 
- File "src/core/total.ml", lines 245-258, characters 4-41:
- 245 | ....match dec.order with
- 246 |     | `inductive (Arg x) ->
- 247 |        (dec.name, Some [x], (tau, Whnf.m_id))
- 248 |     | `inductive (Lex xs) ->
- 249 |        let xs = List.map (fun (Arg x) -> x) xs in
- ...
- 255 |     | `not_recursive
- 256 |       | `trust
- 257 |       | `partial ->
- 258 |        (dec.name, None, (tau, Whnf.m_id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- `inductive (Simul _)
- 
- File "src/core/total.ml", line 331, characters 19-54:
- 331 | let gen_var loc cD (LF.Decl { name = x; typ = cU; _ }) =
-                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/total.ml", lines 404-413, characters 2-31:
- 404 | ..function
- 405 |   | [] -> []
- 406 |   | Comp.M (cM, cU) :: args ->
- 407 |      if uninstantiated_arg cM
- 408 |      then Comp.DC :: generalize args
- 409 |      else Comp.M (cM, cU) :: generalize args
- 410 |   | Comp.V x :: args ->
- 411 |      Comp.V x :: generalize args
- 412 |   | Comp.DC :: args ->
- 413 |      Comp.DC :: generalize args
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- E::_
- 
- File "src/core/total.ml", line 445, characters 19-25:
- 445 |   let existsElem b (1, n) (LF.SchElem (some_part, block_part))  =
-                          ^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (0, _)
- 
- File "src/core/total.ml", lines 509-511, characters 6-47:
- 509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in
- 510 |       (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id);
- 511 |        gen_meta_obj (k, Substitution.LF.id) cU)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/total.ml", lines 544-592, characters 2-30:
- 544 | ..function
- 545 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
- 546 |   | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) ->
- 547 |      let cU0 = Whnf.cnormMTyp (cU', theta) in
- 548 |          begin
- ...
- 589 | 
- 590 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
- 591 |      let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in
- 592 |      (Comp.DC :: spine, tau_r)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (2,
- ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
-  TypCross (_, _)|TypClo (_, _)|TypInd _),
- _))
- 
- File "src/core/total.ml", lines 595-619, characters 2-30:
- 595 | ..function
- 596 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
- 597 | 
- 598 |   | (1, (Comp.TypPiBox _, _)) ->
- 599 |      raise Not_compatible (* Error *)
- ...
- 616 | 
- 617 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
- 618 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
- 619 |      (Comp.DC :: spine, tau_r)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (1,
- ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
-  TypCross (_, _)|TypClo (_, _)|TypInd _),
- _))
- 
- File "src/core/total.ml", lines 622-713, characters 2-43:
- 622 | ..match cD' with
- 623 |   | LF.Empty -> cIH
- 624 | 
- 625 |   | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) ->
- 626 |      dprintf
- ...
- 710 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j);
- 711 |      let cIH' = mk_all (cIH, j) mf_list in
- 712 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1));
- 713 |      gen_rec_calls cD cIH' (cD', j + 1) mfs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt _)
- 
- File "src/core/total.ml", lines 725-791, characters 2-47:
- 725 | ..match cG0 with
- 726 |   | LF.Empty -> cIH
- 727 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
- 728 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
- 729 | 
- ...
- 788 |           mk_all cIH' mf_list
- 789 |      in
- 790 |      let cIH' = mk_all cIH mf_list in
- 791 |      gen_rec_calls' cD cG cIH' (cG', j + 1) mfs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, CTypDeclOpt _)
- 
- File "src/core/total.ml", lines 860-868, characters 2-69:
- 860 | ..match cPsi with
- 861 |   (* cPsi |- tA *)
- 862 |   | LF.Null -> None
- 863 |   | LF.CtxVar _ -> None
- 864 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
- 865 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
- 866 |      then Some k
- 867 |      else
- 868 |        pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi, TypDeclOpt _)
- 
- File "src/core/total.ml", lines 1087-1111, characters 5-8:
- 1087 | .....begin
- 1088 |        match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) ,
- 1089 |                prefix_hat
- 1090 |                (Whnf.cnorm_psihat phat Whnf.m_id)
- 1091 |                (Whnf.cnorm_psihat phat' Whnf.m_id)
- ...
- 1108 |               end ;
- 1109 |             (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k))))  , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k)
- 1110 |             end
- 1111 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Some k', None)
- 
- File "src/core/total.ml", lines 1121-1124, characters 5-87:
- 1121 | .....let LF.Root (_, tH', _, _) =
- 1122 |        Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj)
- 1123 |      in
- 1124 |      (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/total.ml", lines 1134-1140, characters 2-65:
- 1134 | ..match args with
- 1135 |   | [] -> []
- 1136 |   | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi)
- 1137 |   | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi)
- 1138 |   | Comp.M (cM, cU )  :: args ->
- 1139 |      let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in
- 1140 |      Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- E::_
- 
- File "src/core/total.ml", lines 1316-1337, characters 2-40:
- 1316 | ..function
- 1317 |   | Comp.TypBase (loc, c, _) ->
- 1318 |      Bool.not (Id.cid_comp_typ_equal a c)
- 1319 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
- 1320 |         | Sgn.Positivity -> true
- ...
- 1334 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
- 1335 |   | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus
- 1336 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
- 1337 |   | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1340-1360, characters 2-40:
- 1340 | ..function
- 1341 |   | Comp.TypBase (loc, c, _) ->
- 1342 |      Id.cid_comp_typ_equal a c
- 1343 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
- 1344 |         | Sgn.Positivity -> true
- ...
- 1357 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
- 1358 |   | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus
- 1359 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
- 1360 |   | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1364-1372, characters 2-40:
- 1364 | ..function
- 1365 |   | Comp.TypBase _ -> true
- 1366 |   | Comp.TypCobase _ -> true
- 1367 |   | Comp.TypDef _ -> raise Unimplemented
- 1368 |   | Comp.TypBox _ -> true
- 1369 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
- 1370 |   | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus
- 1371 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
- 1372 |   | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1492-1531, characters 2-27:
- 1492 | ..match tau1 with
- 1493 |   | Comp.TypBase (loc, c, mS1) ->
- 1494 |      if Id.cid_comp_typ_equal a c
- 1495 |      then
- 1496 |        begin
- ...
- 1528 |   | Comp.TypBox _
- 1529 |     | Comp.TypClo _
- 1530 |     | Comp.TypCobase _
- 1531 |     | Comp.TypDef _ -> true
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- 
- File "src/core/total.ml", lines 1555-1580, characters 8-48:
- 1555 | ........function
- 1556 |         | Comp.TypBase _
- 1557 |           | Comp.TypCobase _
- 1558 |           | Comp.TypBox _ -> true
- 1559 | 
- ...
- 1577 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
- 1578 | 
- 1579 |         | Comp.TypDef _
- 1580 |           | Comp.TypClo _ -> raise Unimplemented
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypInd _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Coverage.cmx -c -impl src/core/coverage.ml)
- File "src/core/coverage.ml", line 76, characters 26-46:
- 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
-                                ^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/coverage.ml", lines 75-78, characters 2-5:
- 75 | ..let Some (CTypDecl (_, tau, _)) =
- 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
- 77 |   in
- 78 |   tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (CTypDeclOpt _)
- 
- File "src/core/coverage.ml", line 195, characters 20-45:
- 195 | let gen_str cD cPsi (LF.Atom (_, a, _) as tP) =
-                           ^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
- 
- File "src/core/coverage.ml", lines 214-218, characters 4-74:
- 214 | ....match tA with
- 215 |     | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit)
- 216 |     | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) ->
- 217 |        let tM = eta (tB0, s) LF.Nil in
- 218 |        LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/coverage.ml", lines 271-281, characters 4-58:
- 271 | ....function
- 272 |     | MetaSub (cPsi, s, LF.STyp (_, cPhi)) ->
- 273 |        fprintf ppf "%a |- %a : %a"
- 274 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
- 275 |          (P.fmt_ppr_lf_sub cD cPsi P.l0) s
- ...
- 278 |        fprintf ppf "%a |- %a : %a"
- 279 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
- 280 |          (P.fmt_ppr_lf_normal cD cPsi P.l0) tR
- 281 |          (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MetaSub (cPsi, s, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 304-308, characters 4-73:
- 304 | ....function
- 305 |     | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi
- 306 |     | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi)
- 307 |     | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA)
- 308 |     | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CovSub (cPsi, s, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 483-484, characters 7-73:
- 483 | .......let Comp.TypBox (_, mT) = tau_sc in
- 484 |        check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
- TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
- 
- File "src/core/coverage.ml", lines 545-546, characters 9-44:
- 545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 543-547, characters 7-10:
- 543 | .......begin
- 544 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
- 545 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- 547 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 580-619, characters 5-8:
- 580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in
- 581 |      dprintf
- 582 |        begin fun p ->
- 583 |        p.fmt "[pre_match_head]  @[<v>pvar - case\
- 584 |               @,pattern:     @[@[%a@]@ |- @[%a@]@]\
- ...
- 616 |             end;
- 617 |           SplitCand
- 618 |             (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *)
- 619 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (BVar _|Const _|MMVar (({instantiation={ _ }; constraints={ _ }; _ }, _), _)|
- MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)|
- FPVar (_, _)|HClo (_, _, _)|
- HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _)))
- 
- File "src/core/coverage.ml", lines 638-639, characters 9-44:
- 638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 636-640, characters 7-10:
- 636 | .......begin
- 637 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
- 638 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
- 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
- 640 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 695-708, characters 5-59:
- 695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
- 696 |      let covGoal' =
- 697 |        CovGoal
- 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
- 699 |          , tM, (tB, S.LF.dot1 s)
- ...
- 705 |          , tN, (tB', S.LF.dot1 s')
- 706 |          )
- 707 |      in
- 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
- 
- File "src/core/coverage.ml", lines 694-708, characters 5-59:
- 694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
- 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
- 696 |      let covGoal' =
- 697 |        CovGoal
- 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
- ...
- 705 |          , tN, (tB', S.LF.dot1 s')
- 706 |          )
- 707 |      in
- 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
- 
- File "src/core/coverage.ml", lines 692-737, characters 2-8:
- 692 | ..match (tM, tN) with
- 693 |   | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) ->
- 694 |      let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
- 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
- 696 |      let covGoal' =
- ...
- 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
- 735 | 
- 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
- 737 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))
- 
- File "src/core/coverage.ml", lines 684-737, characters 2-8:
- 684 | ..let MetaPatt (cPhi, tN, sA') = patt in
- 685 |   dprintf
- 686 |     begin fun p ->
- 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
- 688 |            @,pattern: @[%a@]@]"
- ...
- 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
- 735 | 
- 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
- 737 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaSub (_, _, _)|GenPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 683-737, characters 2-8:
- 683 | ..let CovGoal (cPsi, tM, sA) = covGoal in
- 684 |   let MetaPatt (cPhi, tN, sA') = patt in
- 685 |   dprintf
- 686 |     begin fun p ->
- 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
- ...
- 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
- 735 | 
- 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
- 737 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 744-758, characters 5-18:
- 744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
- 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
- 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
- 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
- 748 |      let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in
- ...
- 755 |        (cPsi, tS, sB2')
- 756 |        (cPsi', tS', sC2')
- 757 |        matchCands'
- 758 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 743-758, characters 5-18:
- 743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
- 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
- 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
- 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
- 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
- ...
- 755 |        (cPsi, tS, sB2')
- 756 |        (cPsi', tS', sC2')
- 757 |        matchCands'
- 758 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 740-758, characters 2-18:
- 740 | ..match (tS, tS') with
- 741 |   | (LF.Nil, LF.Nil) -> (matchCands, splitCands)
- 742 |   | (LF.App (tM, tS), LF.App (tM', tS')) ->
- 743 |      let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
- 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
- ...
- 755 |        (cPsi, tS, sB2')
- 756 |        (cPsi', tS', sC2')
- 757 |        matchCands'
- 758 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Nil, (App (_, _)|SClo _))
- 
- File "src/core/coverage.ml", lines 793-797, characters 5-63:
- 793 | .....let LF.TypDecl (_, tA1) = tdecl1 in
- 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
- 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
- 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
- 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 792-797, characters 5-63:
- 792 | .....let LF.TypDecl (_, tA0) = tdecl0 in
- 793 |      let LF.TypDecl (_, tA1) = tdecl1 in
- 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
- 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
- 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
- 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 763-816, characters 2-74:
- 763 | ..match ((s0, cPhi0), (s1, cPhi1)) with
- 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
- 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
- 766 |      if n = k
- 767 |      then (matchCands, splitCands)
- ...
- 813 | 
- 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
- 815 | 
- 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Shift _, _),
- (Dot
-    (Head
-       (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|
-       FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
-    _),
- _))
- 
- File "src/core/coverage.ml", lines 762-816, characters 2-74:
- 762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
- 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
- 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
- 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
- 766 |      if n = k
- ...
- 813 | 
- 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
- 815 | 
- 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MetaSub (cPsi1, s1, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 761-816, characters 2-74:
- 761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in
- 762 |   let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
- 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
- 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
- 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
- ...
- 813 | 
- 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
- 815 | 
- 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CovSub (cPsi0, s0, (MTyp _|PTyp _))
- 
- File "src/core/coverage.ml", lines 819-830, characters 2-57:
- 819 | ..match (f0, f1) with
- 820 |   | (LF.Head h0, LF.Head h1) ->
- 821 |      let tM0 = eta_expand (h0, tA0) in
- 822 |      let tM1 = eta_expand (h1, tA1) in
- 823 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
- ...
- 827 |   | (LF.Obj tM0, LF.Obj tM1) ->
- 828 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
- 829 |      let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in
- 830 |      pre_match cD cD_p covGoal patt matchCands splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Head h0, (Undef|Obj _))
- 
- File "src/core/coverage.ml", lines 839-851, characters 5-18:
- 839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
- 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
- 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
- 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
- 843 |      let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in
- ...
- 848 |        (cPsi, tS, sK1')
- 849 |        (cPsi', tS', sK2')
- 850 |        matchCands'
- 851 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 838-851, characters 5-18:
- 838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
- 839 |      let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
- 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
- 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
- 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
- ...
- 848 |        (cPsi, tS, sK1')
- 849 |        (cPsi', tS', sK2')
- 850 |        matchCands'
- 851 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 834-851, characters 2-18:
- 834 | ..match ((tS1, sK1), (tS2, sK2)) with
- 835 |   | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) ->
- 836 |      (matchCands, splitCands)
- 837 |   | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) ->
- 838 |      let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
- ...
- 848 |        (cPsi, tS, sK1')
- 849 |        (cPsi', tS', sK2')
- 850 |        matchCands'
- 851 |        splitCands'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Nil, (Typ, _)), (Nil, (PiKind (_, _), _)))
- 
- File "src/core/coverage.ml", lines 860-903, characters 2-17:
- 860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with
- 861 |   | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) ->
- 862 |      let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
- 863 |      let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in
- 864 |      let tS1' = Whnf.normSpine (tS1, s1) in
- ...
- 900 |        (trec1, s1)
- 901 |        (trec2, s2)
- 902 |        matchCands
- 903 |        splitCands
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _))
- 
- File "src/core/coverage.ml", lines 907-927, characters 2-12:
- 907 | ..match (srec1, srec2) with
- 908 |   | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) ->
- 909 |      pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands
- 910 | 
- 911 |   | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) ->
- ...
- 924 |        (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1))))
- 925 |        (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2))))
- 926 |        (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2)
- 927 |        mC sC
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _))
- 
- File "src/core/coverage.ml", lines 952-1004, characters 2-31:
-  952 | ..match ((mO, mt), (mO_p, mtp)) with
-  953 |   | LF.((CObj cPsi, _), (CObj cPsi', _)) ->
-  954 |      pre_match_dctx cD cD_p cPsi cPsi' mC sC
-  955 |   | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) ->
-  956 |      match ((clobj, cltyp), (clobj', cltyp')) with
- ...
- 1001 |             (mobj cD_p) (loc', mO_p)
- 1002 |             (mtyp cD_p) mtp
- 1003 |         in
- 1004 |         Error.raise_violation s
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _))
- 
- File "src/core/coverage.ml", lines 1092-1104, characters 5-10:
- 1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1095 |      let t2 = LF.MDot (mO, t) in
- 1096 |      let t2' = LF.MDot (mO', t') in
- ...
- 1101 |        (pS, (tau2, t2))
- 1102 |        (pS', (tau2', t2'))
- 1103 |        mC1
- 1104 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1091-1104, characters 5-10:
- 1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1092 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1095 |      let t2 = LF.MDot (mO, t) in
- ...
- 1101 |        (pS, (tau2, t2))
- 1102 |        (pS', (tau2', t2'))
- 1103 |        mC1
- 1104 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1110-1122, characters 5-10:
- 1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1113 |      let t2 = LF.MDot (mO, t) in
- 1114 |      let t2' = LF.MDot (mO', t') in
- ...
- 1119 |        (pS, (tau2, t2))
- 1120 |        (pS', (tau2', t2'))
- 1121 |        mC1
- 1122 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1109-1122, characters 5-10:
- 1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1110 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
- 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
- 1113 |      let t2 = LF.MDot (mO, t) in
- ...
- 1119 |        (pS, (tau2, t2))
- 1120 |        (pS', (tau2', t2'))
- 1121 |        mC1
- 1122 |        sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1128-1134, characters 5-84:
- 1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1129 |      let tau1 = LF.CTyp w in
- 1130 |      let tau1' = LF.CTyp w' in
- 1131 |      let t2 = LF.MDot (mO, t) in
- 1132 |      let t2' = LF.MDot (mO', t')in
- 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
- 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1127-1134, characters 5-84:
- 1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1128 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1129 |      let tau1 = LF.CTyp w in
- 1130 |      let tau1' = LF.CTyp w' in
- 1131 |      let t2 = LF.MDot (mO, t) in
- 1132 |      let t2' = LF.MDot (mO', t')in
- 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
- 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1139-1147, characters 5-51:
- 1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
- 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
- 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
- 1143 |      let t2 = LF.MDot (mO, t) in
- 1144 |      let t2' = LF.MDot (mO', t') in
- 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
- 1146 |      match_spines (cD, cG) (cD_p, cG_p)
- 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1138-1147, characters 5-51:
- 1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
- 1139 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
- 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
- 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
- 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
- 1143 |      let t2 = LF.MDot (mO, t) in
- 1144 |      let t2' = LF.MDot (mO', t') in
- 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
- 1146 |      match_spines (cD, cG) (cD_p, cG_p)
- 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/coverage.ml", lines 1186-1224, characters 2-8:
- 1186 | ..match Whnf.whnfTyp sA with
- 1187 |   | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) ->
- 1188 |      (* cPsi' |- Pi x:A.B <= typ
- 1189 |         cPsi  |- s <= cPsi'
- 1190 |         cPsi  |- tN <= [s]tA
- ...
- 1221 |          Some LF.Nil
- 1222 |        with
- 1223 |        | U.Failure _ -> None
- 1224 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/coverage.ml", lines 1343-1349, characters 2-29:
- 1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *)
- 1344 |   (* We call expand_head_sigma here because it might be *projections*
- 1345 |      of the bound variable that are relevant to the matching.
- 1346 |    *)
- 1347 |   expand_head_sigma (LF.BVar i, tA)
- 1348 |   |> List.map (fun (tH, tA) -> (tH, tA, 0))
- 1349 |   |> genAllObj (cD, cPsi, tP)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", line 1484, characters 17-61:
- 1484 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) ->
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD', ((Null|CtxVar _), _, (_, _)), _)
- 
- File "src/core/coverage.ml", lines 1468-1493, characters 2-14:
- 1468 | ..match tA with
- 1469 |   | LF.Atom _ ->
- 1470 |      genPVar cov_problem @ genBVars cov_problem
- 1471 |   | LF.Sigma trec ->
- 1472 |      Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types"
- ...
- 1490 |        in
- 1491 |        (cD', cg', ms)
- 1492 |        end
- 1493 |        cg_list
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/coverage.ml", line 1544, characters 17-60:
- 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD', ((Null|CtxVar _), _, (_, _)), _)
- 
- File "src/core/coverage.ml", lines 1541-1552, characters 5-16:
- 1541 | .....let LF.TypDecl (x, _) = tdecl in
- 1542 |      let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in
- 1543 |      List.map
- 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
- 1545 |        ( cD'
- ...
- 1549 |        , t
- 1550 |        )
- 1551 |        end
- 1552 |        cov_goals
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 1512-1552, characters 2-16:
- 1512 | ..match tA with
- 1513 |   | LF.Atom (_, a, tS) ->
- 1514 |      let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *)
- 1515 |      dprintf
- 1516 |        begin fun p ->
- ...
- 1549 |        , t
- 1550 |        )
- 1551 |        end
- 1552 |        cov_goals
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/coverage.ml", lines 1582-1700, characters 5-8:
- 1582 | .....begin match mc with
- 1583 |      | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) ->
- 1584 |         let cT = LF.ClTyp (sT, cPsi) in
- 1585 |         let cT_p = LF.ClTyp (sT_p, cPsi_p) in
- 1586 |         let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in
- ...
- 1697 |                   NotSolvable
- 1698 |                end
- 1699 |         end
- 1700 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _)))
- 
- File "src/core/coverage.ml", lines 1725-1730, characters 5-11:
- 1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in
- 1726 |      (* let MetaPatt (cPhi, _, sB') = patt in *)
- 1727 |      (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *)
- 1728 |      (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *)
- 1729 |      let result = pre_match cD cD_p covG patt matchL' splitL' in
- 1730 |      result
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 1719-1741, characters 2-94:
- 1719 | ..match splitL with
- 1720 |   | [] -> (matchL, [])
- 1721 |   | Split (CovGoal (cPsi, tR, sA), patt) :: splits ->
- 1722 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
- 1723 |      let tA = Whnf.normTyp sA in
- ...
- 1738 |      pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL'
- 1739 |   | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits ->
- 1740 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
- 1741 |      (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Split ((CovCtx _|CovPatt (_, _, _)), _)::_
- 
- File "src/core/coverage.ml", lines 1973-2000, characters 5-6:
- 1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) =
- 1974 |        Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s')
- 1975 |      in
- 1976 |      (* bp : Context substitution associated with declaration is off by 1 *)
- 1977 |      let (ss', cPsi') = Subord.thin' cD'' a cPsi in
- ...
- 1997 |      in
- 1998 |      ( LF.Dec (cD'', mdec)
- 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
- 2000 |      )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _))
- 
- File "src/core/coverage.ml", lines 1964-2000, characters 2-6:
- 1964 | ..match decls with
- 1965 |   | LF.Empty -> (cD', S.LF.id)
- 1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
- 1967 |      let x = NameGen.renumber names x in
- 1968 |      let names = x :: names in
- ...
- 1997 |      in
- 1998 |      ( LF.Dec (cD'', mdec)
- 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
- 2000 |      )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (decls, TypDeclOpt _)
- 
- File "src/core/coverage.ml", line 1963, characters 28-52:
- 1963 | let rec decTomdec names cD' (LF.CtxOffset k as cpsi) (d, decls) =
-                                    ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
- 
- File "src/core/coverage.ml", line 2096, characters 17-48:
- 2096 | let genCtx names (LF.Dec (cD', LF.Decl _) as cD) cpsi =
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt { _ })
- 
- File "src/core/coverage.ml", line 2123, characters 23-82:
- 2123 | let genContextGoals cD (x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) =
-                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (x, CTyp None, _, _)
- 
- File "src/core/coverage.ml", lines 2144-2178, characters 5-87:
- 2144 | .....let LF.TypDecl (x, tA) = decl in
- 2145 |      let s = LF.SVar (2, 0, S.LF.id) in
- 2146 |      let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in
- 2147 |      let name = Whnf.newMTypName mT in
- 2148 |      let cD' =
- ...
- 2175 |      in
- 2176 |      let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in
- 2177 |      let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in
- 2178 |      [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)]
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/coverage.ml", lines 2186-2239, characters 2-8:
- 2186 | ..match cT with
- 2187 |   | LF.ClTyp (clTyp, cPsi) ->
- 2188 |      begin match clTyp with
- 2189 |      | LF.MTyp tA ->
- 2190 |         dprintf
- ...
- 2236 |            , Atomic
- 2237 |            )
- 2238 |         end
- 2239 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp _
- 
- File "src/core/coverage.ml", lines 2249-2250, characters 11-60:
- 2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in
- 2250 |            genContextGoals cD' (x, cU, plicity, inductivity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/coverage.ml", lines 2242-2278, characters 2-58:
- 2242 | ..match (cv_list, cD) with
- 2243 |   | ([], _) -> NoCandidate
- 2244 |   | ([LF.CtxOffset j], LF.Dec (cD', d)) ->
- 2245 |      if j = k
- 2246 |      then
- ...
- 2275 |          SomeCtxCands ctx_goals'
- 2276 |        end
- 2277 |      else
- 2278 |        best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxOffset j::[], Empty)
- 
- File "src/core/coverage.ml", lines 2308-2309, characters 25-35:
- 2308 | .........................let LF.Root (_, tH, _, _) = tR in
- 2309 |                          LF.PObj tH
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/coverage.ml", lines 2302-2309, characters 22-35:
- 2302 | ......................match cT with
- 2303 |                       (* gonna be a ClTyp because we're in the CovGoal branch *)
- 2304 |                       | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR
- 2305 |                       | LF.ClTyp (LF.PTyp _, _) ->
- 2306 |                          (* ensure that PTyp is added as a PObj to the
- 2307 |                             msub; otherwise normalization WILL crash. *)
- 2308 |                          let LF.Root (_, tH, _, _) = tR in
- 2309 |                          LF.PObj tH
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (STyp (_, _), _)
- 
- File "src/core/coverage.ml", lines 2294-2331, characters 17-50:
- 2294 | .................match cg with
- 2295 |                  | CovGoal (cPsi', tR, sA') ->
- 2296 |                     dprintf
- 2297 |                       begin fun p ->
- 2298 |                       p.fmt "[best_cand] generated covgoal @[%a@]"
- ...
- 2328 |                         , Whnf.cnormClTyp (sT, LF.MShift k)
- 2329 |                         )
- 2330 |                     in
- 2331 |                     TermCandidate (cD'', cg', ms0).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovPatt (_, _, _))
- 
- File "src/core/coverage.ml", lines 2335-2348, characters 11-17:
- 2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with
- 2336 |            | NoCandidate -> SomeTermCands (dep0, cov_goals0)
- 2337 |            | SomeTermCands (dep, cov_goals) ->
- 2338 |               begin match dep, dep0 with
- 2339 |               | Dependent, Atomic -> SomeTermCands (dep, cov_goals)
- ...
- 2345 |                  then SomeTermCands (dep, cov_goals)
- 2346 |                  else SomeTermCands (dep0, cov_goals0)
- 2347 |                *)
- 2348 |               end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- SomeCtxCands _
- 
- File "src/core/coverage.ml", lines 2282-2356, characters 2-55:
- 2282 | ..match (mv_list, cD) with
- 2283 |   | ([], _) -> NoCandidate
- 2284 |   | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) ->
- 2285 |      if k = j
- 2286 |      then
- ...
- 2353 |             best_cand (cD', mvlist') (k + 1) (md :: cD_tail)
- 2354 |        end
- 2355 |      else
- 2356 |        best_cand (cD', mv_list) (k + 1) (md :: cD_tail)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Offset j::mvlist', Dec (cD', DeclOpt _))
- 
- File "src/core/coverage.ml", lines 2430-2438, characters 7-13:
- 2430 | .......match cl with
- 2431 |        | LF.PTyp _ ->
- 2432 |           let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in
- 2433 |           LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id)))
- 2434 |        | LF.MTyp _ ->
- 2435 |           LF.MObj
- 2436 |             (ConvSigma.etaExpandMMVstr
- 2437 |                Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names)
- 2438 |             )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/coverage.ml", line 2581, characters 16-42:
- 2581 |       begin fun (CovGoal (cPsi', tR, sA')) ->
-                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/coverage.ml", lines 2630-2632, characters 10-46:
- 2630 | ..........match tC with
- 2631 |           | MTyp _ -> fun sA -> MTyp (TClo sA)
- 2632 |           | PTyp _ -> fun sA -> PTyp (TClo sA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/coverage.ml", lines 2626-2667, characters 5-8:
- 2626 | .....begin match mT with
- 2627 |      | LF.(ClTyp (tC, cPsi)) ->
- 2628 |         let f =
- 2629 |           let open LF in
- 2630 |           match tC with
- ...
- 2664 |              , t
- 2665 |              )
- 2666 |              end
- 2667 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp None
- 
- File "src/core/coverage.ml", lines 2714-2762, characters 2-55:
- 2714 | ..function
- 2715 |   | [] -> vlist
- 2716 |   | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl ->
- 2717 |      let (pvlist, cvlist, mvlist) = vlist in
- 2718 |      if List.mem u mvlist
- ...
- 2759 |      let (pvlist, cvlist, mvlist) = vlist in
- 2760 |      if List.mem x pvlist
- 2761 |      then mvInSplit cD vlist sl
- 2762 |      else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- SplitCtx ((Null|DDec (_, _)), _)::_
- 
- File "src/core/coverage.ml", line 2773, characters 30-44:
- 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
-                                      ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Inst {instantiation={ _ }; constraints={ _ }; _ }
- 
- File "src/core/coverage.ml", line 2773, characters 16-29:
- 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
-                        ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Inst {instantiation={ _ }; constraints={ _ }; _ }
- 
- File "src/core/coverage.ml", line 2784, characters 33-50:
- 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
-                                         ^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
- 
- File "src/core/coverage.ml", line 2784, characters 16-32:
- 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
-                        ^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
- 
- File "src/core/coverage.ml", line 2867, characters 55-73:
- 2867 |             Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals)
-                                                               ^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxCandidate (_, _, _)
- 
- File "src/core/coverage.ml", lines 2903-2908, characters 2-33:
- 2903 | ..function
- 2904 |   | Comp.PatNil -> Comp.PatNil
- 2905 |   | Comp.PatApp (loc, pat, pS) ->
- 2906 |      let pat' = subst_pattern (pat_r, pv) pat in
- 2907 |      let pS' = subst_pattern_spine (pat_r, pv) pS in
- 2908 |      Comp.PatApp (loc, pat', pS')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- 
- File "src/core/coverage.ml", line 2979, characters 32-45:
- 2979 | let best_pv_cand names (cD, cG) (x :: pvlist) =
-                                        ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/coverage.ml", lines 3002-3013, characters 2-40:
- 3002 | ..match sl with
- 3003 |   | [] -> pvlist
- 3004 |   | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist
- 3005 |   | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist
- 3006 |   | SplitCtx _ :: sl -> pvInSplitCand sl pvlist
- ...
- 3010 |      );
- 3011 |      if List.mem x pvlist
- 3012 |      then pvInSplitCand sl pvlist
- 3013 |      else pvInSplitCand sl (x :: pvlist)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Split ((CovCtx _|CovPatt (_, _, _)), _)::_
- 
- File "src/core/coverage.ml", lines 3223-3231, characters 2-27:
- 3223 | ..let CovPatt (cG', pat', ttau') = covGoal in
- 3224 |   dprintf
- 3225 |     begin fun p ->
- 3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
- 3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
- 3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
- 3229 |     end;
- 3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
- 3231 |   Cand (cD_p, cG_p, ml, sl)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _))
- 
- File "src/core/coverage.ml", line 3222, characters 33-66:
- 3222 | let gen_candidate loc cD covGoal (cD_p, GenPatt (cG_p, pat, ttau)) =
-                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _)))
- 
- File "src/core/coverage.ml", lines 3399-3434, characters 2-50:
- 3399 | ..function
- 3400 |   | LF.Empty -> false
- 3401 |   | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) ->
- 3402 |      begin
- 3403 |        try
- ...
- 3431 |           print_string "Unable to prove given type is empty\n"; check_emptiness cD'
- 3432 |      end
- 3433 | 
- 3434 |   | LF.Dec (cD', LF.Decl _) -> check_emptiness cD'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cD', DeclOpt _)
- 
- File "src/core/coverage.ml", lines 3437-3447, characters 2-8:
- 3437 | ..function
- 3438 |   | LF.Empty -> false
- 3439 |   | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) ->
- 3440 |      begin
- 3441 |        try
- ...
- 3444 |          | _ -> check_empty_comp names cD cG
- 3445 |        with
- 3446 |        | _ -> check_empty_comp names cD cG
- 3447 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG, CTypDeclOpt _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Interactive.cmx -c -impl src/core/interactive.ml)
- File "src/core/interactive.ml", lines 202-213, characters 10-26:
- 202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
- 203 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
- 204 |           let k = List.length cD_tail in
- 205 |           let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in
- 206 |           let cg' =
- ...
- 210 |               , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id)
- 211 |               )
- 212 |           in
- 213 |           (cD'', cg', ms0)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
- 
- File "src/core/interactive.ml", line 183, characters 18-73:
- 183 | let genCGoals cD' (LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail =
-                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Check.cmx -c -impl src/core/check.ml)
- File "src/core/check.ml", lines 471-475, characters 4-46:
- 471 | ....function
- 472 |     | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS
- 473 |     | I.Lam (_, _, tM) -> fmv_normal cD tM
- 474 |     | I.LFHole _ -> cD
- 475 |     | I.Tuple (_, tuple) -> fmv_tuple cD tuple
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Clo _
- 
- File "src/core/check.ml", lines 490-492, characters 4-55:
- 490 | ....function
- 491 |     | I.Nil -> cD
- 492 |     | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- SClo _
- 
- File "src/core/check.ml", lines 500-503, characters 4-61:
- 500 | ....function
- 501 |     | I.Null -> cD
- 502 |     | I.CtxVar (I.CtxOffset k) -> mark_ind cD k
- 503 |     | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/check.ml", lines 511-514, characters 4-38:
- 511 | ....function
- 512 |     | I.Atom (_, _, tS) -> fmv_spine cD tS
- 513 |     | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA
- 514 |     | I.Sigma trec -> fmv_trec cD trec
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/check.ml", lines 534-538, characters 4-68:
- 534 | ....function
- 535 |     | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi
- 536 |     | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM
- 537 |     | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h
- 538 |     | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, (MUndef|MV _))
- 
- File "src/core/check.ml", lines 553-556, characters 4-43:
- 553 | ....function
- 554 |     | PatNil -> cD
- 555 |     | PatApp (_, pat, pat_spine) ->
- 556 |        fmv_pat_spine (fmv cD pat) pat_spine
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PatObs (_, _, _, _)
- 
- File "src/core/check.ml", lines 561-595, characters 4-10:
- 561 | ....match (t, cD) with
- 562 |     | (I.MShift k, I.Empty) -> cD1'
- 563 |     | (I.MShift k, cD)
- 564 |          when k < 0 ->
- 565 |        Error.raise_violation "Contextual substitution ill-formed"
- ...
- 592 |           else
- 593 |             id_map_ind cD1' ms cD
- 594 |        | _ -> id_map_ind cD1' ms cD
- 595 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MDot (_, _), Dec (cD, DeclOpt _))
- 
- File "src/core/check.ml", line 618, characters 11-38:
- 618 |     |> fun (CTypDecl (u, tau, wf_tag)) ->
-                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/check.ml", lines 747-771, characters 6-12:
- 747 | ......match cPsi0 with
- 748 |       | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *)
- 749 |       | Int.LF.CtxVar psi ->
- 750 |          (* tA is an instance of a schema block *)
- 751 |          let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } =
- ...
- 768 |              Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id)
- 769 |            with
- 770 |            | _ -> checkParamTypeValid' (cPsi0', n + 1)
- 771 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (cPsi0', TypDeclOpt _)
- 
- File "src/core/check.ml", lines 776-796, characters 4-68:
- 776 | ....match (mS, cKt) with
- 777 |     | (MetaNil, (Ctype _, _)) -> ()
- 778 |     | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) ->
- 779 |        if Plicity.(plicity_app <> plicity_pi)
- 780 |        then Error.raise_violation "[checkMetaSpine] plicity mismatch";
- ...
- 793 |                  Location.print_short loc
- 794 |               )
- 795 |        end;
- 796 |        checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaNil, (PiKind (_, _, _), _))
- 
- File "src/core/check.ml", line 822, characters 20-56:
- 822 |   let checkCDecl cD (I.Decl { name = x; typ = ctyp; _ }) =
-                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/check.ml", lines 834-868, characters 4-35:
- 834 | ....function
- 835 |     | TypBase (loc, c, mS) ->
- 836 |        let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in
- 837 |        checkMetaSpine loc cD mS (cK, C.m_id)
- 838 | 
- ...
- 865 |          end;
- 866 |        checkTyp (I.Dec (cD, cdecl)) tau'
- 867 | 
- 868 |     | TypInd tau -> checkTyp cD tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDef (_, _, _)|TypClo (_, _))
- 
- File "src/core/check.ml", line 880, characters 21-39:
- 880 |   let extend_mctx cD (x, (I.Decl d), t) =
-                            ^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (x, DeclOpt { _ }, _)
- 
- File "src/core/check.ml", lines 899-916, characters 12-15:
- 899 | ............begin match e2 with
- 900 |             | Box (_, cM, cU) | AnnBox (_, cM, cU) ->
- 901 |                dprintf
- 902 |                  begin fun p ->
- 903 |                  p.fmt "[useIH] @[<v>check whether compatible IH exists@,\
- ...
- 913 |                | Option.None -> Total.filter cD cG cIH (loc, E)
- 914 |                end
- 915 |             | Hole _ -> Total.drop_arg cIH
- 916 |             end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)|
- Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _))
- 
- File "src/core/check.ml", lines 1114-1276, characters 4-45:
- 1114 | ....function
- 1115 |     | Var (loc, x) as e ->
- 1116 |        let (f,tau', _) = lookup cG x in
- 1117 |        Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id))
- 1118 |          (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e);
- ...
- 1273 | 
- 1274 |     | AnnBox (_, cM, cT) ->
- 1275 |        checkMetaObj cD cM cT C.m_id;
- 1276 |        (None, TypBox (getLoc cM, cT), C.m_id)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)|
- Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _))
- 
- File "src/core/check.ml", lines 1350-1357, characters 7-10:
- 1350 | .......begin match (tau, theta) with
- 1351 |        | (TypArr (_, tau1, tau2), theta) ->
- 1352 |           checkPattern cD cG pat (tau1, theta);
- 1353 |           synPatSpine cD cG pat_spine (tau2, theta)
- 1354 |        | (TypPiBox (_, cdecl, tau), theta) ->
- 1355 |           let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in
- 1356 |           synPatSpine cD cG pat_spine (tau, theta')
- 1357 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
-  TypCross (_, _)|TypClo (_, _)|TypInd _),
- _)
- 
- File "src/core/check.ml", line 1373, characters 53-86:
- 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
-                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (DeclOpt { _ }, _)
- 
- File "src/core/check.ml", line 1373, characters 30-52:
- 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
-                                      ^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
- PatAnn (_, _, _, _))
- 
- File "src/core/check.ml", lines 1665-1667, characters 4-42:
- 1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in
- 1666 |     let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in
- 1667 |     proof mcid cD cG cIH total_decs p ttau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
- 
- File "src/core/check.ml", lines 1678-1743, characters 4-13:
- 1678 | ....match d with
- 1679 |     | Intros hyp ->
- 1680 |        let tau = Whnf.cnormCTyp ttau in
- 1681 |        let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in
- 1682 |        dprintf
- ...
- 1740 |            end;
- 1741 |          proof mcid cD cG cIH total_decs p (tau, Whnf.m_id)
- 1742 |          end
- 1743 |          args
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ImpossibleSplit _
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfrecon.cmx -c -impl src/core/lfrecon.ml)
- File "src/core/lfrecon.ml", lines 253-262, characters 2-29:
- 253 | ..function
- 254 |   | Apx.LF.BVar _ -> "BVar"
- 255 |   | Apx.LF.Const _ -> "Const"
- 256 |   | Apx.LF.MVar _ -> "MVar"
- 257 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
- 258 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
- 259 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
- 260 |   | Apx.LF.FVar _ -> "FVar"
- 261 |   | Apx.LF.FMVar _ -> "FMVar"
- 262 |   | Apx.LF.FPVar _ -> "FPVar"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Hole
- 
- File "src/core/lfrecon.ml", lines 275-276, characters 5-19:
- 275 | .....let (None, d) = Context.dctxToHat cPsi in
- 276 |      Int.LF.Shift d
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Some _, _)
- 
- File "src/core/lfrecon.ml", lines 311-333, characters 8-80:
- 311 | ........let CTyp s_cid = mmvar1.typ in
- 312 |         if d = d'
- 313 |         then
- 314 |           begin
- 315 |             begin match c_var with
- ...
- 330 |             true
- 331 |           end
- 332 |         else
- 333 |           Error.raise_not_implemented "[unify_phat] ctx_var with a full context"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (_, _)
- 
- File "src/core/lfrecon.ml", lines 358-359, characters 9-42:
- 358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in
- 359 |          Store.Cid.Schema.get_schema s_cid
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=CTyp None; _ })
- 
- File "src/core/lfrecon.ml", lines 352-366, characters 2-92:
- 352 | ..match ctxvar with
- 353 |   | Some (Int.LF.CtxOffset _ as phi) ->
- 354 |      Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi)
- 355 |   | Some (Int.LF.CtxName n) ->
- 356 |      begin
- ...
- 363 | 
- 364 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
- 365 |      Store.Cid.Schema.get_schema s_cid
- 366 |   | None -> Error.raise_violation "No context variable for which we could retrieve a schema"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (CInst ({typ=CTyp None; _ }, _))
- 
- File "src/core/lfrecon.ml", lines 372-376, characters 2-44:
- 372 | ..function
- 373 |   | Int.LF.Atom _ -> m
- 374 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) ->
- 375 |      dprint (fun () -> "eta FMV - add Lam ");
- 376 |      Apx.LF.Lam (loc, x, addPrefix loc m tA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 385-389, characters 4-62:
- 385 | ....function
- 386 |     | Int.LF.Atom _ -> (k, s)
- 387 |     | Int.LF.PiTyp (_, tA) ->
- 388 |        let (k', s') = go (k + 1) s tA in
- 389 |        (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/lfrecon.ml", lines 391-395, characters 2-18:
- 391 | ..match tA, s with
- 392 |   | Int.LF.Atom _, _ -> (k, s)
- 393 |   | Int.LF.PiTyp _, None ->
- 394 |      let (k', s') = go k Apx.LF.Id tA in
- 395 |      (k', Some s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiTyp (_, _), Some _)
- 
- File "src/core/lfrecon.ml", line 399, characters 20-40:
- 399 | let etaExpandMV loc (Apx.LF.MVar (x, s)) tA =
-                           ^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
- FPVar (_, _))
- 
- File "src/core/lfrecon.ml", lines 406-410, characters 4-52:
- 406 | ....function
- 407 |     | Int.LF.Atom _ -> (k, tS)
- 408 |     | Int.LF.PiTyp (_, tA') ->
- 409 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in
- 410 |        etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/lfrecon.ml", lines 414-417, characters 4-54:
- 414 | ....match tA with
- 415 |     | Int.LF.Atom _ -> tM
- 416 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
- 417 |        Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 422-424, characters 4-24:
- 422 | ....match h with
- 423 |     | Int.LF.BVar x -> Int.LF.BVar (x + k - 1)
- 424 |     | Int.LF.FVar _ -> h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 457-461, characters 4-55:
- 457 | ....function
- 458 |     | Int.LF.Atom _ -> (k, tS)
- 459 |     | Int.LF.PiTyp (_, tA') ->
- 460 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
- 461 |        etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Sigma _|TClo _)
- 
- File "src/core/lfrecon.ml", lines 464-468, characters 4-57:
- 464 | ....match tA with
- 465 |     | Int.LF.Atom _ -> tM
- 466 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
- 467 |        dprint (fun () -> "eta - add Lam ");
- 468 |        Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 613-614, characters 2-33:
- 613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
- 614 |   getProjIndex loc cD cPsi recA k
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 617-630, characters 2-19:
- 617 | ..match h with
- 618 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
- 619 | 
- 620 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
- 621 |      let tp =
- ...
- 627 |      let j = getProjIndexFromType loc cD cPsi tp p in
- 628 |      dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d    j = %d@\n" k j);
- 629 |      let k' = ConvSigma.map conv_list k - j + 1 in
- 630 |      Apx.LF.BVar k'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Proj
-   ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
-    FPVar (_, _)),
-   _)
- 
- File "src/core/lfrecon.ml", lines 637-643, characters 7-41:
- 637 | .......function
- 638 |        | Apx.LF.Id -> Apx.LF.Id
- 639 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
- 640 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
- 641 |           let s' = go s in
- 642 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
- 643 |           Apx.LF.Dot (Apx.LF.Head h', s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dot (Obj _, _)
- 
- File "src/core/lfrecon.ml", lines 679-691, characters 2-38:
- 679 | ..match s with
- 680 |   | Apx.LF.Id -> s
- 681 | 
- 682 |   | Apx.LF.EmptySub -> s
- 683 | 
- ...
- 688 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
- 689 | 
- 690 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
- 691 |      flattenVarTuple tM (flattenSub s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)
- 
- File "src/core/lfrecon.ml", lines 697-698, characters 2-77:
- 697 | ..function
- 698 |   | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Root (_, BVar k, App (_, _))
- 
- File "src/core/lfrecon.ml", lines 827-829, characters 5-60:
- 827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
- 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
- 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 822-829, characters 2-60:
- 822 | ..function
- 823 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
- 824 |   | Apx.LF.Proj (h, nj) ->
- 825 |      let (tp, h') = synHead cD loc cPsi h in
- 826 |      let j = getProjIndexFromType loc cD cPsi tp nj in
- 827 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
- 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
- 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _))
- 
- File "src/core/lfrecon.ml", lines 858-867, characters 5-8:
- 858 | .....begin match synHead cD loc cPsi h with
- 859 |      | (Int.LF.TypDecl (x, tA), h') ->
- 860 |         let tA' =
- 861 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
- 862 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
- 863 |         in
- 864 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
- 865 |         , Int.LF.Dot (Int.LF.Head h', s')
- 866 |         )
- 867 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypDeclOpt _, _)
- 
- File "src/core/lfrecon.ml", lines 884-890, characters 2-66:
- 884 | ..function
- 885 |   | Apx.LF.Typ -> Int.LF.Typ
- 886 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) ->
- 887 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
- 888 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
- 889 |      let tK = elKind cD cPsi' k in
- 890 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiKind ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 909-925, characters 2-25:
- 909 | ..function
- 910 |   | Apx.LF.Atom (loc, a, s) ->
- 911 |      let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in
- 912 |      let s' = mkShift recT cPsi in
- 913 |      (* let s' = S.LF.id in *)
- ...
- 922 | 
- 923 |   | Apx.LF.Sigma typRec ->
- 924 |      let typRec' = elTypRec recT cD cPsi typRec in
- 925 |      Int.LF.Sigma typRec'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/lfrecon.ml", lines 977-1023, characters 2-34:
-  977 | ..match (m, sA) with
-  978 |   | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) ->
-  979 |      (* cPsi' = cPsi, x:tA *)
-  980 |      let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in
-  981 |      let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in
- ...
- 1020 |   | (Apx.LF.LFHole (loc, m_name), tA) ->
- 1021 |      let id = Holes.allocate () in
- 1022 |      let name = HoleId.name_of_option m_name in
- 1023 |      Int.LF.LFHole (loc, id, name)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12:
- 1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 1082 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
- 1083 |          begin
- 1084 |            try
- 1085 |              Unify.unifyTyp cD cPsi sQ sP;
- ...
- 1088 |            | Unify.Failure msg ->
- 1089 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1090 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1091 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12:
- 1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in
- 1214 |          dprintf
- 1215 |            begin fun p ->
- 1216 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
- 1217 |              Name.pp u
- ...
- 1277 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
- 1278 |            |_ ->
- 1279 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
- 1280 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12:
- 1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in
- 1477 |          let d = Context.length cD - Context.length cD_d in
- 1478 |          let (tA, cPhi) =
- 1479 |            if d = 0
- 1480 |            then (tA, cPhi)
- ...
- 1497 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
- 1498 |            | _ ->
- 1499 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
- 1500 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12:
- 1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) =
- 1572 |            Store.FCVar.get p
- 1573 |          in
- 1574 |          let d = Context.length cD - Context.length cD_d in
- 1575 |          let (tA, cPhi) =
- ...
- 1604 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1605 |            | _ ->
- 1606 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1607 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d,
- Decl
-   {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13:
- 1808 | ..........begin match S.LF.bvarSub k s'' with
- 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
- 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
- 1811 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
- 1812 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit)
- 1813 |           end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-   FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10:
- 1806 | .......begin match h with
- 1807 |        | Int.LF.BVar k ->
- 1808 |           begin match S.LF.bvarSub k s'' with
- 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
- 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
- ...
- 1814 |        | Int.LF.PVar (p, r) ->
- 1815 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit)
- 1816 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
- 1817 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8:
- 1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
- 1858 |        try
- 1859 |          Context.ctxSigmaDec cPsi x
- 1860 |        with
- 1861 |        | _ ->
- ...
- 1876 |        with
- 1877 |        | Unify.Failure msg ->
- 1878 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1879 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8:
- 1882 | .....begin
- 1883 |        match Whnf.mctxPDec cD p with
- 1884 |        | (_, Int.LF.Sigma recA, cPsi') ->
- 1885 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
- 1886 |           let k = getProjIndex loc cD cPsi recA proj in
- ...
- 1907 |           end
- 1908 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
- 1909 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
- 1910 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, TClo _, _)
- 
- File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15:
- 1941 | ............begin match S.LF.bvarSub y s'' with
- 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
- 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
- 1944 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
- 1945 |                Int.LF.Root
- ...
- 1948 |                  , tS
- 1949 |                  , Plicity.explicit
- 1950 |                  )
- 1951 |             end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Head
-   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-   FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12:
- 1939 | .........begin match h with
- 1940 |          | Int.LF.BVar y ->
- 1941 |             begin match S.LF.bvarSub y s'' with
- 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
- 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
- ...
- 1956 |               , tS
- 1957 |               , Plicity.explicit
- 1958 |               )
- 1959 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
- FPVar _|HClo (_, _, _)|HMClo (_, _))
- 
- File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25:
- 1044 | ..match r with
- 1045 |   | Apx.LF.Ann (_loc, m, a) ->
- 1046 |      elTerm' recT cD cPsi m sP
- 1047 | 
- 1048 |   | Apx.LF.LFHole (location, m_name) ->
- ...
- 1977 | 
- 1978 |   | Apx.LF.Root (loc, h, _) ->
- 1979 |      dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h));
- 1980 |      throw loc CompTypAnn
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|Tuple (_, _))
- 
- File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65:
- 2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 2103 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
- 2104 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82:
- 2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
- 2160 |      let k = getProjIndex loc cD cPsi recA proj in
- 2161 |      let sA =
- 2162 |        try
- 2163 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k
- ...
- 2166 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
- 2167 |      in
- 2168 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
- 2169 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
- 
- File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14:
- 2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) =
- 2277 |              Store.FCVar.get s_name
- 2278 |            in
- 2279 |            svar_le (cl0, cl);
- 2280 |            let d = Context.length cD - Context.length cD_d in
- ...
- 2307 |              with
- 2308 |              | Unify.Failure msg ->
- 2309 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
- 2310 |            end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
- 
- File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40:
- 2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
- 2515 |          dprint (fun () -> "[elHead] done");
- 2516 |          (Int.LF.BVar x, (tA', S.LF.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59:
- 2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
- 2575 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
- 2576 |          (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (offset, ClTyp ((PTyp _|STyp (_, _)), _))
- 
- File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41:
- 2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
- 2584 |      let s' = elSub loc recT cD cPsi s cl cPhi in
- 2585 |      (Int.LF.PVar (offset, s'), (tA, s'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (offset, ClTyp ((MTyp _|STyp (_, _)), _))
- 
- File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36:
- 2643 | ....match (sA, recT) with
- 2644 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) ->
- 2645 |        (* cPsi' |- tA <= typ
- 2646 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
- 2647 |         *
- ...
- 2671 |        in
- 2672 | 
- 2673 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
- 2674 |        (Int.LF.App (tN, spine'), sP)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((PiTyp ((TypDeclOpt _, _, _), _), _), _)
- 
- File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25:
- 2705 | ....function
- 2706 |     | Int.LF.Atom _ -> 0
- 2707 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
- 2708 |     | Int.LF.Sigma _ -> 0........................................................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32:
- 2725 | ....match (spine, Whnf.whnfTyp sA) with
- 2726 |     | (Apx.LF.Nil, sP) ->
- 2727 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
- 2728 | 
- 2729 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) ->
- 2730 |        let tM = elTerm recT cD cPsi m (tA, s) in
- 2731 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
- 2732 |        (Int.LF.App (tM, tS), sP)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _))
- 
- File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30:
- 2741 | ....match (sK, recT) with
- 2742 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) ->
- 2743 |        (* let sshift = mkShift recT cPsi in *)
- 2744 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
- 2745 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
- ...
- 2757 |            Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive
- 2758 |        in
- 2759 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
- 2760 |        Int.LF.App (tN, spine')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ((PiKind ((TypDeclOpt _, _, _), _), _), _)
- 
- File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32:
- 2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 2835 |      (* cPsi |- tA : type
- 2836 |       * cPsi |- s' : cPsi'
- 2837 |       *)
- 2838 |      let ss = S.LF.invert s' in
- ...
- 2860 |      in
- 2861 | 
- 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
- 2863 |      (Int.LF.App (tN', tS), tB')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32:
- 2824 | ..match (spine, sP) with
- 2825 |   | (Apx.LF.Nil, _) ->
- 2826 |      let ss = S.LF.invert s' in
- 2827 |      let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
- 2828 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
- ...
- 2860 |      in
- 2861 | 
- 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
- 2863 |      (Int.LF.App (tN', tS), tB')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (App (Root (loc, BVar x, App (_, _)), _), _)
- 
- File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8:
- 2943 | .....begin match instantiation.contents with
- 2944 |      | None ->
- 2945 |         begin
- 2946 |           try
- 2947 |             let tA = Store.FVar.get x in
- ...
- 2995 |           | _ ->
- 2996 |              throw loc (UnboundName x)
- 2997 |         end
- 2998 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (IHead _|ISub _|ICtx _)
- 
- File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8:
- 2939 | ..function
- 2940 |   | [] -> ()
- 2941 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
- 2942 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
- 2943 |      begin match instantiation.contents with
- ...
- 2995 |           | _ ->
- 2996 |              throw loc (UnboundName x)
- 2997 |         end
- 2998 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Root (loc, FVar x, spine),
- Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::
- _
- 
- File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99:
- 3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
- 3021 |          lookup_fcvar loc u
- 3022 |        in
- 3023 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3024 |        let s'' = elSub loc cPsi s cPhi in
- 3025 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98:
- 3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) =
- 3028 |          lookup_fcvar loc x
- 3029 |        in
- 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3031 |        let s'' = elSub loc cPsi s cPhi in
- 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
- 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
- 
- File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98:
- 3017 | ....match tM, Int.LF.(v.typ) with
- 3018 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
- 3019 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
- 3020 |        let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
- 3021 |          lookup_fcvar loc u
- ...
- 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3031 |        let s'' = elSub loc cPsi s cPhi in
- 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
- 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Reconstruct.cmx -c -impl src/core/reconstruct.ml)
- File "src/core/reconstruct.ml", lines 55-179, characters 20-41:
-  55 | ....................function
-  56 |   | NotImplemented f ->
-  57 |       Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]"
-  58 |         f ()
-  59 |   | MCtxIllformed cD ->
- ...
- 176 |         @,  @[%a@]\
- 177 |         @]"
- 178 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC_p
- 179 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- IllegalSubstMatch
- 
- File "src/core/reconstruct.ml", lines 217-218, characters 2-45:
- 217 | ..function
- 218 |   | Int.LF.Decl d -> Name.mk_some_name d.name
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/reconstruct.ml", lines 258-267, characters 4-26:
- 258 | ....match tau, n with
- 259 |     | _, 0 -> 0
- 260 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n ->
- 261 |       Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__)
- 262 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n ->
- 263 |       1 + skip tau n (* implicits are free *)
- 264 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n ->
- 265 |       1 + skip tau (n - 1) (* explicits pi-types cost 1 *)
- 266 |     | I.TypArr (_, _, tau), n ->
- 267 |       1 + skip tau (n - 1)..............................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypPiBox (_, DeclOpt _, _), 1)
- 
- File "src/core/reconstruct.ml", lines 292-298, characters 9-92:
- 292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in
- 293 |          if Id.cid_schema_equal s_cid s_cid'
- 294 |          then Int.LF.CtxVar (Int.LF.CtxName psi)
- 295 |          else
- 296 |            let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in
- 297 |            let c_var' = Int.LF.CtxName psi in
- 298 |            Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl {typ=CTyp None; _ })
- 
- File "src/core/reconstruct.ml", lines 343-361, characters 7-10:
- 343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in
- 344 |        begin
- 345 |          let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in
- 346 |          Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi);
- 347 |          match Context.ctxVar cPsi with
- ...
- 358 |                   }
- 359 |               )
- 360 |          | _ -> ()
- 361 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTyp None
- 
- File "src/core/reconstruct.ml", lines 396-400, characters 2-23:
- 396 | ..match cG, k with
- 397 |   | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 ->
- 398 |      Whnf.cnormCTyp (tau, Whnf.m_id)
- 399 |   | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k ->
- 400 |      lookup cG' (k - 1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dec (cG', CTypDeclOpt _), _)
- 
- File "src/core/reconstruct.ml", lines 410-416, characters 2-32:
- 410 | ..function
- 411 |   | Apx.LF.Empty -> Int.LF.Empty
- 412 |   | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) ->
- 413 |      let ctx' = elTypDeclCtx cD ctx in
- 414 |      let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in
- 415 |      let typDecl' = Int.LF.TypDecl (name, tA) in
- 416 |      Int.LF.Dec (ctx', typDecl')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (ctx, TypDeclOpt _)
- 
- File "src/core/reconstruct.ml", line 459, characters 20-52:
- 459 | let elCDecl recT cD (Apx.LF.Decl (u, ctyp, plicity)) =
-                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt _
- 
- File "src/core/reconstruct.ml", lines 519-557, characters 4-26:
- 519 | ....function
- 520 |     | (Int.LF.Typ, _s) ->
- 521 |        Int.LF.Nil
- 522 | 
- 523 |     | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) ->
- ...
- 554 |            (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s))
- 555 |          end;
- 556 |        let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in
- 557 |        Int.LF.App (tR, tS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind ((TypDeclOpt _, _, _), _), _)
- 
- File "src/core/reconstruct.ml", lines 563-575, characters 2-8:
- 563 | ..function
- 564 |   | Int.LF.Atom (_, a, _) ->
- 565 |      mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind
- 566 | 
- 567 |   | Int.LF.Sigma trec ->
- ...
- 572 |      Int.LF.PiTyp
- 573 |        ( (tdecl', depend, plicity)
- 574 |        , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA
- 575 |        )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TClo _
- 
- File "src/core/reconstruct.ml", lines 578-580, characters 2-41:
- 578 | ..function
- 579 |   | Int.LF.TypDecl (x, tA) ->
- 580 |      Int.LF.TypDecl (x, mgTyp cD cPsi tA)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypDeclOpt _
- 
- File "src/core/reconstruct.ml", lines 637-640, characters 5-18:
- 637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
- 638 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
- 639 |      in
- 640 |      Int.LF.PObj h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Root (_, h, (App (_, _)|SClo (_, _)), _)
- 
- File "src/core/reconstruct.ml", lines 647-650, characters 5-18:
- 647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
- 648 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
- 649 |      in
- 650 |      Int.LF.PObj h
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Root (_, h, (App (_, _)|SClo (_, _)), _)
- 
- File "src/core/reconstruct.ml", lines 711-727, characters 2-104:
- 711 | ..match (s, cKt) with
- 712 |   | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) ->
- 713 |      Int.Comp.MetaNil
- 714 | 
- 715 |   | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) ->
- ...
- 724 | 
- 725 |   | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) ->
- 726 |      let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in
- 727 |      Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (MetaApp (_, _), (PiKind (_, DeclOpt _, _), _))
- 
- File "src/core/reconstruct.ml", lines 798-803, characters 4-65:
- 798 | ....function
- 799 |     | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil
- 800 |     | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) ->
- 801 |        let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in
- 802 |        let mS = genMetaSpine (cK, t') in
- 803 |        Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PiKind (loc', DeclOpt _, _), _)
- 
- File "src/core/reconstruct.ml", lines 830-842, characters 2-49:
- 830 | ..match cPsi with
- 831 |   | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) ->
- 832 |      let (n, sW) = Whnf.mctxCDec cD psi_var in
- 833 |      let v =
- 834 |        let open Int.LF in
- ...
- 839 |   | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) ->
- 840 |      let cPsi' = mgCtx cD' (cD, cPsi) in
- 841 |      let tA' = mgTyp cD' cPsi' tA in
- 842 |      Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/reconstruct.ml", lines 921-939, characters 7-54:
- 921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in
- 922 |        dprintf
- 923 |          begin fun p ->
- 924 |          p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\
- 925 |                 @,mC    = @[%a@]\
- ...
- 936 |            (mT, Whnf.m_id)
- 937 |        with
- 938 |        | Unify.Failure msg ->
- 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
- TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
- 
- File "src/core/reconstruct.ml", lines 916-939, characters 4-54:
- 916 | ....match caseT with
- 917 |     | DataObj -> () (* not dependent pattern matching; nothing to do *)
- 918 |     | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) ->
- 919 |        let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in
- 920 |        (* tau_p' _has_ to be a box type if caseT is an IndexObj  *)
- ...
- 936 |            (mT, Whnf.m_id)
- 937 |        with
- 938 |        | Unify.Failure msg ->
- 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- IndexObj
-   (PatAnn
-      (_,
-      (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)|
-      PatAnn (_, _, _, _)), _, _),
-   _)
- 
- File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22:
- 1369 | .......match id with
- 1370 |        | None -> true
- 1371 |        | Some Apx.LF.Id -> true
- 1372 |        | Some Apx.LF.EmptySub ->
- 1373 |           let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in
- 1374 |           match cPhi, cPsi with
- 1375 |           | Int.LF.Null, Int.LF.Null -> true
- 1376 |           | _ -> false
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Some (Dot (_, _)|SVar (_, _)|FSVar (_, _))
- 
- File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9:
- 1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in
- 1394 |       let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in
- 1395 |       let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in
- 1396 |       let s0' = Substitution.LF.comp s0 s' in
- 1397 |       begin match s0' with
- ...
- 1413 |          else
- 1414 |            throw loc IllegalSubstMatch
- 1415 |       | _ -> throw loc IllegalSubstMatch
- 1416 |       end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _))
- 
- File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8:
- 1421 | .....begin
- 1422 |        match cpsi with
- 1423 |        | Apx.LF.CtxVar (ctxvar) ->
- 1424 |           let c_var = Lfrecon.elCtxVar ctxvar in
- 1425 |           let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in
- ...
- 1439 |                  end
- 1440 |                |> throw loc
- 1441 |           end
- 1442 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Null|CtxHole|DDec (_, _))
- 
- File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6:
- 1194 | ..match i with
- 1195 |   | Apx.Comp.Var (loc, offset) ->
- 1196 |      let tau = lookup cG offset in
- 1197 |      dprintf
- 1198 |        begin fun p ->
- ...
- 1455 |      , ( Int.Comp.TypCross (loc, ttaus')
- 1456 |        , C.m_id
- 1457 |        )
- 1458 |      )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Box
-   (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))
- 
- File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8:
- 1524 | ..match (pat, ttau) with
- 1525 |   | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) ->
- 1526 |      let tau' = Whnf.cnormCTyp (tau, theta) in
- 1527 |      dprintf
- 1528 |        begin fun p ->
- ...
- 1597 |        | Unify.Failure msg ->
- 1598 |           dprint (fun () -> "Unify Error: " ^ msg);
- 1599 |           raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau')))
- 1600 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatFVar (_, _), _)
- 
- File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57:
- 1603 | ..function
- 1604 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
- 1605 |      let tau' = elCompTyp cD tau in
- 1606 |      let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in
- 1607 |      (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id))
- ...
- 1610 |      let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in
- 1611 |      dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c));
- 1612 |      let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in
- 1613 |      (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _))
- 
- File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8:
- 1690 | .....begin match ttau with
- 1691 |      | (Int.Comp.TypCobase (_, _, _), _) ->
- 1692 |         let { Store.Cid.CompDest.Entry.name
- 1693 |             ; mctx = cD'
- 1694 |             ; obs_type = tau0
- ...
- 1730 |         let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in
- 1731 |         (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2)
- 1732 |      (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *)
- 1733 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _)
- 
- File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68:
- 1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in
- 1750 |      let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in
- 1751 |      let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in
- 1752 |      let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in
- 1753 |      let ttau' = (tau', Whnf.m_id) in
- 1754 |      let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in
- 1755 |      (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *)
- 1756 |      (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _))
- 
- File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13:
- 1784 | ..........begin match mT with
- 1785 |           | Int.LF.(MTyp (Atom _ | Sigma _ as tA))->
- 1786 |              let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in
- 1787 |              let tP' = mgTyp cD cPsi' tA in
- 1788 |              (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi'))
- ...
- 1798 |                 fixParamTyp in check.ml, and it is only used for
- 1799 |                 coverage checking. *)
- 1800 |              Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible"
- 1801 |           end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MTyp (TClo _)
- 
- File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5:
- 2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' =
- 2085 |     elHypotheses h
- 2086 |   in
- 2087 |   dprintf
- 2088 |     begin fun p ->
- ...
- 2103 |     ( loc
- 2104 |     , h'
- 2105 |     , elProof cD cG label p ttau
- 2106 |     )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
- 
- File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29:
- 2288 | ...........match k, tA' with
- 2289 |            | Some k, Int.LF.Sigma tRec ->
- 2290 |               (* Compute the type of the kth projection of tRec. *)
- 2291 |               Int.LF.getType h (tRec, LF.id) k
- 2292 |               |> Whnf.normTyp
- ...
- 2298 |                  A projected case #n.k is required.
- 2299 |                *)
- 2300 |               assert false
- 2301 |            | None, tA' -> tA'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _))
- 
- File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56:
- 2339 | .......let Int.LF.MTyp tP = cU in
- 2340 |        let (cD', (cPsi', tR_p, tA_p), t) =
- 2341 |          match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with
- 2342 |          | None -> assert false
- 2343 |          (* FIXME: throw an appropriate error
- ...
- 2417 |          cD_b |- [t o t']tau <= type
- 2418 |         *)
- 2419 |        in
- 2420 |        I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PTyp _|STyp (_, _))
- 
- File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57:
- 2428 | .......let Int.LF.MTyp tA = cU in
- 2429 |        let (cD', (cPsi', tM, sA), t) =
- 2430 |          match Coverage.genBVar (cD, cPsi, tA) 1 with
- 2431 |          | [x] -> x
- 2432 |          | _ ->
- ...
- 2460 |        let l' = `bvar in
- 2461 |        let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in
- 2462 |        let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in
- 2463 |        I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (PTyp _|STyp (_, _))
- 
- File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44:
- 2545 | .....let Some w = w in
- 2546 |      let ctx_branches = List.map (make_ctx_branch w) bs in
- 2547 |      I.ContextSplit (i, tau_i, ctx_branches)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17:
- 2562 | .....let (cD', cG', Int.LF.Empty, tau', _) =
- 2563 |        Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau)
- 2564 |      in
- 2565 |      let hyp =
- 2566 |        elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id)
- 2567 |      in
- 2568 |      I.Intros hyp
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD', cG', Dec (_, WfRec (_, _, _)), _, _)
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Logic.cmx -c -impl src/core/logic.ml)
- File "src/core/logic.ml", lines 190-203, characters 4-36:
- 190 | ....match tN with
- 191 |     | LF.Lam (l, n, tN') ->
- 192 |        begin
- 193 |          incr lR;
- 194 |          let tM = LF.Lam (l, n, shiftNormal tN' k) in
- ...
- 200 |     | LF.Clo (tN, s) ->
- 201 |        LF.Clo (shiftNormal tN k, s)
- 202 |     | LF.Tuple (l, tP) ->
- 203 |        LF.Tuple (l, shiftTuple tP k)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- LFHole (_, _, _)
- 
- File "src/core/logic.ml", lines 241-251, characters 4-8:
- 241 | ....match tA with
- 242 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tA') ->
- 243 |        typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR)
- 244 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
- 245 |        typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR)))
- ...
- 248 |        { tHead = (Shift.shiftAtom tA (-cS, -dS, dR))
- 249 |        ; eVars = eV
- 250 |        ; subGoals = cG
- 251 |        }
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, Explicit), _)
- 
- File "src/core/logic.ml", lines 297-306, characters 4-30:
- 297 | ....match tA with
- 298 |     | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') ->
- 299 |        All (tdec, typToGoal tA' (cS, dS, dR + 1))
- 300 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) ->
- 301 |        Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1))
- 302 |     | LF.Atom _ ->
- 303 |        Atom (Shift.shiftAtom tA (-cS, -dS, dR))
- 304 |     | LF.TClo (tA, s) ->
- 305 |        dprintf begin fun p -> p.fmt "[typToGoal] TClo" end;
- 306 |        raise NotImplementedYet
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, Explicit), _)
- 
- File "src/core/logic.ml", lines 309-315, characters 4-47:
- 309 | ....match tM with
- 310 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tM') ->
- 311 |        Exists (tD, typToRes tM' (cS, dS, dR + 1))
- 312 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
- 313 |        And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1))
- 314 |     | LF.Atom _ ->
- 315 |        Head (Shift.shiftAtom tM (-cS, -dS, dR))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, Explicit), _)
- 
- File "src/core/logic.ml", lines 326-348, characters 4-34:
- 326 | ....match tau with
- 327 |     | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) ->
- 328 |        (* Invariant: tA will always be atomic in our implementation *)
- 329 |        Box (cPsi, Atom tA, Some M)
- 330 |        (* possibly needs to have PiBox variables shifted;
- ...
- 345 |        let typ_dec = Comp.CTypDecl (name, tau1 , true) in
- 346 |        Implies ((cr1, typ_dec), cg2)
- 347 |     | Comp.TypBase (_, comp_cid, s) ->
- 348 |        Atomic (comp_cid, msToAs s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypBox (_, CTyp _)
- 
- File "src/core/logic.ml", lines 351-358, characters 4-47:
- 351 | ....match tau with
- 352 |     | Comp.TypBox (_) | Comp.TypBase(_) ->
- 353 |        Base tau
- 354 |     | Comp.TypArr (_, tau1, tau2) ->
- 355 |        CAnd (comptypToCompGoal tau1, comptypToCompRes tau2)
- 356 |     | Comp.TypPiBox (_, typ_dec, tau') ->
- 357 |        CExists (typ_dec, comptypToCompRes tau')
- 358 |     | Comp.TypInd tau' -> comptypToCompRes tau'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
- 
- File "src/core/logic.ml", lines 394-402, characters 4-30:
- 394 | ....match box with
- 395 |     | Box (cPsi, Atom tA, Some M) ->
- 396 |        let loc = Location.ghost in
- 397 |        let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in
- 398 |        Comp.TypBox (loc, ctyp)
- 399 |     | Box (cPsi, Atom tA, Some P) ->
- 400 |        let loc = Location.ghost in
- 401 |        let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in
- 402 |        Comp.TypBox (loc, ctyp)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Box (_, Atom _, None)
- 
- File "src/core/logic.ml", lines 412-416, characters 4-34:
- 412 | ....match atomic with
- 413 |     | Atomic (cid, aS) ->
- 414 |        let loc = Location.ghost in
- 415 |        let mS = asToMs aS in
- 416 |        Comp.TypBase (loc, cid, mS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Box (_, _, _)|Implies ((_, _), _)|Forall (_, _))
- 
- File "src/core/logic.ml", lines 434-443, characters 4-10:
- 434 | ....match tA with
- 435 |     | LF.Atom _ ->
- 436 |        let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in
- 437 |        LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit)
- 438 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) ->
- 439 |        LF.Lam
- 440 |          ( Location.ghost
- 441 |          , x
- 442 |          , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s)
- 443 |          )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- PiTyp ((TypDeclOpt _, _, _), _)
- 
- File "src/core/logic.ml", lines 462-470, characters 4-68:
- 462 | ....match eV with
- 463 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
- 464 |        let (s', fS') = dctxToSub cD cPsi (eV', s) fS in
- 465 |        let tM' = etaExpand cD cPsi (tA, s') in
- 466 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
- 467 |     | LF.Null -> (s, fS)
- 468 |     | LF.CtxVar _ ->
- 469 |        invalid_arg
- 470 |          "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _."
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (eV', TypDeclOpt _)
- 
- File "src/core/logic.ml", lines 475-481, characters 4-28:
- 475 | ....match eV with
- 476 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
- 477 |        let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in
- 478 |        let tM' = etaExpand cD cPsi (tA, s') in
- 479 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
- 480 |     | LF.Null -> (s, fS)
- 481 |     | LF.CtxVar _ -> (s, fS)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DDec (eV', TypDeclOpt _)
- 
- File "src/core/logic.ml", lines 500-501, characters 6-52:
- 500 | ......match lst with
- 501 |       | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 510-513, characters 6-20:
- 510 | ......match dctx with
- 511 |       | LF.DDec (dctx', _) -> find_ctxvar_offset dctx'
- 512 |       | LF.CtxVar (LF.CtxOffset k) -> k
- 513 |       | LF.Null -> 0
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CtxVar (CtxName _|CInst _)
- 
- File "src/core/logic.ml", lines 697-709, characters 9-47:
- 697 | .........(match mtyp with
- 698 |          | LF.ClTyp (LF.MTyp _, _) ->
- 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
- 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
- 701 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
- ...
- 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
- 707 |               ((x, (loc, mfront)) :: xs)
- 708 |          | LF.CTyp cid_opt ->
- 709 |             comptypToMQuery' (tau', i-1) ms xs)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (STyp (_, _), _)
- 
- File "src/core/logic.ml", lines 696-709, characters 9-47:
- 696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in
- 697 |          (match mtyp with
- 698 |          | LF.ClTyp (LF.MTyp _, _) ->
- 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
- 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
- ...
- 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
- 707 |               ((x, (loc, mfront)) :: xs)
- 708 |          | LF.CTyp cid_opt ->
- 709 |             comptypToMQuery' (tau', i-1) ms xs)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt { _ }
- 
- File "src/core/logic.ml", lines 1084-1094, characters 4-72:
- 1084 | ....match r with
- 1085 |     | Head tH ->
- 1086 |        fmt_ppr_typ cD cPsi ppf (tH, s)
- 1087 |     | And (g, r') ->
- 1088 |        fprintf ppf "%a -> %a"
- ...
- 1091 |     | Exists (LF.TypDecl (_, _tA) as tD, r') ->
- 1092 |        fprintf ppf "(∃%a. %a)"
- 1093 |          (fmt_ppr_decl cD cPsi) (tD, s)
- 1094 |          (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Exists (TypDeclOpt _, _)
- 
- File "src/core/logic.ml", lines 1305-1332, characters 4-19:
- 1305 | ....match s with
- 1306 |     | LF.Shift _ -> true
- 1307 |     | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') ->
- 1308 |        if uninstantiated hd then false
- 1309 |        else check_sub s'
- ...
- 1329 |        if uninstantiated hd then false
- 1330 |        else check_sub s'
- 1331 |     | LF.Dot (_, s') ->
- 1332 |        check_sub s'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/logic.ml", lines 1337-1339, characters 6-48:
- 1337 | ......match cD with
- 1338 |       | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity
- 1339 |       | LF.Dec (cD', _) -> get_plicity cD' (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/logic.ml", lines 1394-1412, characters 4-30:
- 1394 | ....match g with
- 1395 |     | Atom tA ->
- 1396 |        matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth)
- 1397 | 
- 1398 |     | Impl ((r, (LF.TypDecl (x, _) as tD)), g') ->
- ...
- 1409 |           So we just prove the conclusion in an extended context. *)
- 1410 |        gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s)
- 1411 |          (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM)))
- 1412 |          (currDepth, maxDepth)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Impl ((r, TypDeclOpt _), _)
- 
- File "src/core/logic.ml", lines 1444-1446, characters 17-29:
- 1444 | .................match cltyp with
- 1445 |          | LF.MTyp tau -> tau
- 1446 |          | LF.PTyp tau -> tau
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 1439-1483, characters 4-96:
- 1439 | ....match cD with
- 1440 |     | LF.Empty -> raise NoSolution
- 1441 |     | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) ->
- 1442 |        solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
- 1443 |     | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) ->
- ...
- 1480 |            end
- 1481 |        with
- 1482 |        | U.Failure _ ->
- 1483 |      solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, DeclOpt _)
- 
- File "src/core/logic.ml", lines 1496-1600, characters 4-76:
- 1496 | ....match s with
- 1497 |     | LF.Shift _ ->
- 1498 | dprintf begin fun p ->
- 1499 |             p.fmt "[trivially_prove] s_all = %a"
- 1500 |               (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all
- ...
- 1597 |          with
- 1598 |          | U.Failure _ | NoSolution -> raise NoSolution)
- 1599 |     | LF.Dot (_, s') ->
- 1600 |        trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
- 
- File "src/core/logic.ml", lines 2260-2263, characters 4-25:
- 2260 | ....match cG with
- 2261 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name
- 2262 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) ->
- 2263 |        get_name (k-1) cG'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG', CTypDeclOpt _)
- 
- File "src/core/logic.ml", lines 2337-2340, characters 4-21:
- 2337 | ....match cdecl with
- 2338 |     | Comp.CTypDecl (_, tau, _) ->
- 2339 |        let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
- 2340 |        (cc, k, Boxed)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/logic.ml", lines 2416-2417, characters 9-57:
- 2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
- 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Full (Full (_, ({ _ }, _, _)), ({ _ }, _, _))
- 
- File "src/core/logic.ml", lines 2407-2418, characters 6-33:
- 2407 | ......match (cP, cG) with
- 2408 |       | (Emp, LF.Dec(cG', cdecl)) ->
- 2409 |          let cc = decToCC cdecl 1 in
- 2410 |          let cP_ret' = shift_cPool cP_ret 1 in
- 2411 |          update cP cG' (prependToCPool cc cP_ret') (k+1)
- ...
- 2415 |            if pos' = k then unbox cc else cc in
- 2416 |          let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
- 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
- 2418 |       | (Emp, LF.Empty) -> cP_ret
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Full (cP', cc), Empty)
- 
- File "src/core/logic.ml", lines 2470-2476, characters 6-36:
- 2470 | ......match tA with
- 2471 |       | LF.Atom (l, cid, sp) ->
- 2472 |          LF.Atom (l, cid, remove_sp sp)
- 2473 |       | LF.PiTyp ((td, depend, plicity), tA') ->
- 2474 |          LF.PiTyp ((td, depend, plicity), remove_typ tA)
- 2475 |       | LF.TClo (tA', s) ->
- 2476 |          LF.TClo (remove_typ tA', s)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Sigma _
- 
- File "src/core/logic.ml", lines 2495-2508, characters 6-49:
- 2495 | ......match tau with
- 2496 |       | Comp.TypBase (l, cid, mS) ->
- 2497 |          Comp.TypBase (l, cid, remove_mS mS)
- 2498 |       | Comp.TypBox (l, mT) ->
- 2499 |          (match mT with
- ...
- 2505 |       | Comp.TypArr (l, tau1, tau2) ->
- 2506 |          Comp.TypArr (l, remove_tau tau1, remove_tau tau2)
- 2507 |       | Comp.TypPiBox (l, cdec, tau') ->
- 2508 |          Comp.TypPiBox (l, cdec, remove_tau tau')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _)
- 
- File "src/core/logic.ml", lines 2731-2741, characters 9-52:
- 2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
- 2732 |          let mmvar' =
- 2733 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
- 2734 |              mmvar.LF.inductivity in
- 2735 |          let norm = LF.Root (noLoc,
- ...
- 2738 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
- 2739 |          let x = Comp.M ((noLoc, mf), mT) in
- 2740 |          let (xs, sub) = gen_new_ih_args lst' ys in
- 2741 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/logic.ml", lines 2752-2762, characters 9-52:
- 2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
- 2753 |          let mmvar' =
- 2754 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
- 2755 |              mmvar.LF.inductivity in
- 2756 |          let norm = LF.Root (noLoc, LF.MMVar
- ...
- 2759 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
- 2760 |          let x = Comp.M ((noLoc, mf), mT) in
- 2761 |          let (xs, sub) = gen_new_ih_args lst' ys in
- 2762 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((PTyp _|STyp (_, _)), _)
- 
- File "src/core/logic.ml", lines 2771-2779, characters 9-58:
- 2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in
- 2772 |          let mmvar' =
- 2773 |            Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
- 2774 |              mmvar.LF.inductivity in
- 2775 |          let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in
- 2776 |          let mf = LF.ClObj (dctx_hat, LF.PObj hd) in
- 2777 |          let x = Comp.M ((noLoc, mf), mT) in
- 2778 |          let (xs, sub) = gen_new_ih_args lst' ys in
- 2779 |          (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp ((MTyp _|STyp (_, _)), _)
- 
- File "src/core/logic.ml", lines 2842-2843, characters 11-44:
- 2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in
- 2843 |            (loc, LF.ClObj (dh, LF.PObj hd'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/logic.ml", lines 2920-2921, characters 6-42:
- 2920 | ......match i with
- 2921 |       | Comp.Var(l, k) -> Comp.Var(l, k+1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))|
- LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)|
- Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)|
- Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)|
- AnnBox (_, (_, _), _))
- 
- File "src/core/logic.ml", lines 2977-2978, characters 6-37:
- 2977 | ......match cltyp with
- 2978 |       | LF.MTyp tA | LF.PTyp tA -> tA
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 2998-3001, characters 6-58:
- 2998 | ......match cG_a with
- 2999 |       | [] -> false
- 3000 |       | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' ->
- 3001 |          (Name.equal name name2) || (old_split name cG_a')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (CTypDeclOpt _, _, _, _, _, _)::_
- 
- File "src/core/logic.ml", lines 3005-3009, characters 6-37:
- 3005 | ......match cG_a with
- 3006 |       | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a'
- 3007 |            when Name.equal name name2 ->
- 3008 |          (con, thm, bool)
- 3009 |       | x :: xs -> find_split name xs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3013-3065, characters 6-30:
- 3013 | ......match (cG, cPool) with
- 3014 |       | (LF.Dec(cG',
- 3015 |                 ((Comp.CTypDecl (name, Comp.TypBox
- 3016 |                                          (_, LF.ClTyp (cltyp, cPsi)), _wf))
- 3017 |                  as cdecl)),
- ...
- 3062 |       | (LF.Dec (cG', _), Full (cPool', _)) ->
- 3063 |          update (cG', cPool', ret)
- 3064 | 
- 3065 |       | (LF.Empty, Emp) -> ret
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Dec (cG', _), Emp)
- 
- File "src/core/logic.ml", lines 3084-3087, characters 6-38:
- 3084 | ......match cD_a with
- 3085 |       | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a'
- 3086 |            when Name.equal d.name n -> x
- 3087 |       | _ :: cD_a' -> retrieve n cD_a'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3103-3108, characters 21-41:
- 3103 | .....................match cltyp with
- 3104 |            | LF.MTyp tA ->
- 3105 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
- 3106 |                                 LF.Nil, Plicity.explicit))
- 3107 |            | LF.PTyp tA ->
- 3108 |               LF.PObj (LF.PVar (1, S.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3094-3118, characters 9-31:
- 3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
- 3095 |            retrieve name cD_a in
- 3096 |          let (con', bool') =
- 3097 |            if bool then
- 3098 |               try
- ...
- 3115 |          let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in
- 3116 |          let x = (tdecl', Some i, con', 1, thm, bool') in
- 3117 |          let ret' = shift_cD_a ret in
- 3118 |          update cD' (x :: ret')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (DeclOpt { _ }, _, _, _, _, _)
- 
- File "src/core/logic.ml", lines 3126-3131, characters 21-41:
- 3126 | .....................match cltyp with
- 3127 |            | LF.MTyp tA ->
- 3128 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
- 3129 |                                 LF.Nil, Plicity.explicit))
- 3130 |            | LF.PTyp tA ->
- 3131 |               LF.PObj (LF.PVar (1, S.id))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3090-3157, characters 6-23:
- 3090 | ......match cD with
- 3091 |       | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp)
- 3092 |                                ; plicity = Plicity.Explicit; _ }) as tdecl))
- 3093 |            when is_in name cD_a ->
- 3094 |          let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
- ...
- 3154 |          let x = (tdecl', None, con, 1, None, bool) in
- 3155 |          let ret' = shift_cD_a ret in
- 3156 |          update cD' (x :: ret')
- 3157 |       | LF.Empty -> ret
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (_, DeclOpt _)
- 
- File "src/core/logic.ml", lines 3243-3251, characters 6-44:
- 3243 | ......match cG_a with
- 3244 |       | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a'
- 3245 |            when Name.equal name n ->
- 3246 |          (tau, i, thm_var,
- 3247 |           (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false)
- 3248 |           :: cG_a', k)
- 3249 |       | x :: cG_a' ->
- 3250 |          let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in
- 3251 |          (tau, i, thm_var, x :: cG_a'', pos)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3256-3264, characters 6-39:
- 3256 | ......match cD_a with
- 3257 |       | (LF.Decl d, Option.Some i, no, k, thm_var, true)
- 3258 |         :: cD_a' when Name.equal name d.name ->
- 3259 |          let tau = Comp.TypBox(noLoc, d.typ) in
- 3260 |          (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false)
- 3261 |                      :: cD_a')
- 3262 |       | x :: cD_a' ->
- 3263 |          let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in
- 3264 |          (tau, i, thm_var, x :: cD_a'')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3330-3332, characters 9-42:
- 3330 | .........let (Some n) = find_mvar k cD_a in
- 3331 |          let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in
- 3332 |          (tau, i, thm_var, cD_a', cG_a, 0).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 3358-3365, characters 8-50:
- 3358 | ........match cG_a with
- 3359 |         | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool)
- 3360 |           :: cG_a' when Name.equal name name2 ->
- 3361 |            (cdecl, con, thm, bool, cG_a')
- 3362 |         | x :: xs ->
- 3363 |            let (tdecl, num, thm_var, bool, cG_a') =
- 3364 |              remove xs in
- 3365 |            (tdecl, num, thm_var, bool, x :: cG_a')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 3374-3399, characters 7-25:
- 3374 | .......(match cltyp with
- 3375 |        | LF.MTyp tA ->
- 3376 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in
- 3377 |           let norm =
- 3378 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
- ...
- 3396 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
- 3397 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
- 3398 |                       :: (shift_cD_a cD_a) in
- 3399 |           (cD_a', cG_a'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3403-3428, characters 7-25:
- 3403 | .......(match cltyp with
- 3404 |        | LF.MTyp _ ->
- 3405 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in
- 3406 |           let norm =
- 3407 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
- ...
- 3425 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
- 3426 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
- 3427 |                       :: (shift_cD_a cD_a) in
- 3428 |           (cD_a', cG_a'))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3489-3525, characters 7-31:
- 3489 | .......(match cltyp with
- 3490 |         | LF.MTyp _ ->
- 3491 |           let norm =
- 3492 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
- 3493 |                      LF.Nil, plicity) in
- ...
- 3522 |             | false -> None
- 3523 |           in
- 3524 |           (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true)
- 3525 |           :: (shift_cD_a cD_a))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- STyp (_, _)
- 
- File "src/core/logic.ml", lines 3646-3651, characters 4-46:
- 3646 | ....match cG with
- 3647 |     | LF.Empty -> cPool
- 3648 |     | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) ->
- 3649 |        let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
- 3650 |        let cc = (clause, (lengthCPool cPool) + 1, Boxed) in
- 3651 |        gen_cPool cG' (prependToCPool cc cPool)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Dec (cG', CTypDeclOpt _)
- 
- File "src/core/logic.ml", lines 3898-3900, characters 6-46:
- 3898 | ......match cD with
- 3899 |       | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name
- 3900 |       | LF.Dec (cD', _) -> find_name cD' (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/logic.ml", lines 4037-4047, characters 22-64:
- 4037 | ......................match mobj with
- 4038 |         | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
- 4039 |           | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) ->
- 4040 |            mmvar.LF.instantiation :=
- 4041 |              Some (LF.INorm (LF.Root (noLoc,
- ...
- 4044 |         | LF.PObj LF.MPVar ((mmvar, _), _)
- 4045 |           | LF.PObj LF.MMVar ((mmvar, _), _) ->
- 4046 |            mmvar.LF.instantiation :=
- 4047 |              Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0)))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MObj
-   (Root
-      (_,
-      (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
-      FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _))
- 
- File "src/core/logic.ml", lines 4051-4057, characters 6-26:
- 4051 | ......match ih_args with
- 4052 |       | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs ->
- 4053 |          if Solver.uninstantiated hd then mobj else grab xs
- 4054 |       | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _))
- 4055 |         :: xs->
- 4056 |          if Solver.uninstantiated hd then mobj else grab xs
- 4057 |       | _ :: xs -> grab xs
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- 
- File "src/core/logic.ml", lines 4060-4064, characters 14-56:
- 4060 | ..............match mobj with
- 4061 |       | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
- 4062 |       | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _))
- 4063 |       | LF.PObj LF.MPVar ((mmvar, _), _)
- 4064 |       | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- MObj
-   (Root
-      (_,
-      (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|
-      FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)|
-      HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _))), _,
-      _))
- 
- File "src/core/logic.ml", lines 4079-4090, characters 6-88:
- 4079 | ......let Some cid = thm_cid in
- 4080 |       let i = Comp.Const(noLoc, cid) in
- 4081 |       let sc' = (fun e -> sc (Comp.Case (noLoc,
- 4082 |                                        Comp.PragmaNotCase,
- 4083 |                                        Whnf.cnormExp (fS i, LF.MShift 0),
- ...
- 4087 |                                                      pattern,
- 4088 |                                                      LF.MShift 0,
- 4089 |                                                      e)]))) in
- 4090 |       find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 4126-4128, characters 21-40:
- 4126 | .....................match (currDepth, maxDepth) with
- 4127 |         | (Some k, None) -> (k, 0)
- 4128 |         | (Some k1, Some k2) -> (k1, k2)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (None, _)
- 
- File "src/core/logic.ml", lines 4290-4311, characters 9-83:
- 4290 | .........let Some cid = thm_cid in
- 4291 |          let i = arg_builder (Comp.Const(noLoc, cid)) in
- 4292 |          let (ms', fS) =
- 4293 |            C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in
- 4294 |          let ms'' = rev_ms ms' 0 in
- ...
- 4308 |          with
- 4309 |          | U.Failure _ | DepthReached _ | End_Of_Search ->
- 4310 |          focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
- 4311 |            (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 4595-4597, characters 6-57:
- 4595 | ......match cG with
- 4596 |       | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau
- 4597 |       | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Empty
- 
- File "src/core/logic.ml", lines 4895-4905, characters 10-31:
- 4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool,
- 4896 |                 ms_b, pat, td_b, cid)] = blist in
- 4897 | 
- 4898 |           invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b
- 4899 |             (normCompGoal (cg, ms)) ms_b
- ...
- 4902 |                              [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat,
- 4903 |                                           ms_b, e)])))
- 4904 |             (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 4905 |             (ind, thm, td, cid)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid)::
- (_, _, _, _, _, _, _, _, _, _, _, _)::_
- 
- File "src/core/logic.ml", lines 4976-5015, characters 7-35:
- 4976 | .......let Atom tA = g' in
- 4977 |        let cltyp = LF.MTyp tA in
- 4978 |        let sc' =
- 4979 |          (fun (cPsi', tM) ->
- 4980 |            let dctx_hat = Context.dctxToHat cPsi' in
- ...
- 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5014 |                  (ind, thm, td, thm_cid);
- 5015 |                raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Impl ((_, _), _)|All (_, _))
- 
- File "src/core/logic.ml", lines 4975-5015, characters 7-35:
- 4975 | .......let Box(cPsi',g',_) = cg' in
- 4976 |        let Atom tA = g' in
- 4977 |        let cltyp = LF.MTyp tA in
- 4978 |        let sc' =
- 4979 |          (fun (cPsi', tM) ->
- ...
- 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5014 |                  (ind, thm, td, thm_cid);
- 5015 |                raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
- 
- File "src/core/logic.ml", lines 5024-5029, characters 11-51:
- 5024 | ...........let LF.Root (_,hd,_,_) = tM in
- 5025 |            let dctx_hat = Context.dctxToHat cPsi' in
- 5026 |            let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in
- 5027 |            let meta_obj = (noLoc, mfront) in
- 5028 |            let meta_typ = LF.ClTyp (cltyp, cPsi') in
- 5029 |            sc (Comp.Box(noLoc, meta_obj, meta_typ)).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
- 
- File "src/core/logic.ml", lines 5020-5060, characters 7-34:
- 5020 | .......let Atom tA = g' in
- 5021 |        let cltyp = LF.PTyp tA in
- 5022 |        let sc' =
- 5023 |          (fun (cPsi', tM) ->
- 5024 |            let LF.Root (_,hd,_,_) = tM in
- ...
- 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5059 |                 (ind, thm, td, thm_cid);
- 5060 |               raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Impl ((_, _), _)|All (_, _))
- 
- File "src/core/logic.ml", lines 5019-5060, characters 7-34:
- 5019 | .......let Box(_,g',_) = cg' in
- 5020 |        let Atom tA = g' in
- 5021 |        let cltyp = LF.PTyp tA in
- 5022 |        let sc' =
- 5023 |          (fun (cPsi', tM) ->
- ...
- 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5059 |                 (ind, thm, td, thm_cid);
- 5060 |               raise End_Of_Search)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
- 
- File "src/core/logic.ml", lines 4969-5085, characters 4-30:
- 4969 | ....match cg with
- 4970 |     | Box (cPsi, g, Some M) ->
- 4971 |        (* We apply the msub here in case there are FREE MVARS that
- 4972 |           appear from unify   *)
- 4973 |        let ms = Whnf.cnormMSub ms in
- ...
- 5082 |            split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
- 5083 |              (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
- 5084 |              (ind, thm, td, thm_cid);
- 5085 |            raise End_Of_Search
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Box (_, _, None)
- 
- File "src/core/logic.ml", lines 5223-5246, characters 7-36:
- 5223 | .......let Some cid = thm_cid in
- 5224 |        let cIH_all' = Total.shift cIH_all in
- 5225 |        let cIH'' = Total.shift cIH' in
- 5226 |        let i = Comp.Const(noLoc, cid) in
- 5227 |        (try
- ...
- 5243 |        | End_Of_Search | DepthReached _ ->
- 5244 |           blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
- 5245 |             (cDepth, mDepth, currSplitDepth, maxSplitDepth)
- 5246 |             (ind, thm, td, thm_cid))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5263-5286, characters 7-32:
- 5263 | .......let Some cid = thm_cid in
- 5264 |        let i = Comp.Const(noLoc, cid) in
- 5265 |        let cIH'' = Total.shift cIH' in
- 5266 |        let cIH_all' = Total.shift cIH_all in
- 5267 |        let exp = Whnf.cnormExp (fS i, LF.MShift 0) in
- ...
- 5283 |        in
- 5284 |        blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc'
- 5285 |          (cDepth, mDepth, currSplitDepth, maxSplitDepth)
- 5286 |          (ind, thm, td, thm_cid)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5393-5394, characters 6-46:
- 5393 | ......match cp with
- 5394 |       | (_cc, _k, Boxed) -> (_cc, _k, Unboxed)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_cc, _k, Unboxed)
- 
- File "src/core/logic.ml", lines 5441-5458, characters 10-49:
- 5441 | ..........match r with
- 5442 |           | LF.ClTyp (LF.MTyp _, cPsi) ->
- 5443 |              let tM =
- 5444 |                LF.Root
- 5445 |                  ( noLoc
- ...
- 5455 |              LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)),
- 5456 |                        LF.PObj hd)
- 5457 |           | LF.CTyp _ ->
- 5458 |              LF.CObj (LF.CtxVar (LF.CtxOffset 1))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- ClTyp (STyp (_, _), _)
- 
- File "src/core/logic.ml", lines 5549-5554, characters 7-37:
- 5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in
- 5550 |        let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in
- 5551 |        let cIH' = Total.shift cIH in
- 5552 |        uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc'
- 5553 |          (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1)
- 5554 |          (ind, thm, td, thm_cid) blur
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- CTypDeclOpt _
- 
- File "src/core/logic.ml", lines 5587-5590, characters 24-19:
- 5587 | ........................match sp with
- 5588 |       | 0 -> Some 0  (* No splitting.    *)
- 5589 |       | 1 -> None    (* Only inversions. *)
- 5590 |       | 2 -> Some 1........................
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- 3
- 
- File "src/core/logic.ml", lines 5795-5798, characters 9-40:
- 5795 | .........let Some iterm = !(mmvar.LF.instantiation) in
- 5796 |          (match iterm with
- 5797 |          | LF.IHead hd -> hd
- 5798 |          | _ -> raise NotImplementedYet)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5800-5803, characters 9-40:
- 5800 | .........let Some iterm = !(mmvar.LF.instantiation) in
- 5801 |          (match iterm with
- 5802 |          | LF.IHead hd -> hd
- 5803 |          | _ -> raise NotImplementedYet)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5805-5808, characters 9-40:
- 5805 | .........let Some iterm = !(mmvar.LF.instantiation) in
- 5806 |          (match iterm with
- 5807 |          | LF.IHead hd -> hd
- 5808 |          | _ -> raise NotImplementedYet)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5834-5835, characters 11-16:
- 5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in
- 5835 |            iterm
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5837-5838, characters 11-16:
- 5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in
- 5838 |            iterm
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5840-5841, characters 11-16:
- 5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in
- 5841 |            iterm
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- None
- 
- File "src/core/logic.ml", lines 5847-5849, characters 9-33:
- 5847 | .........(match remove_head_mvars hd with
- 5848 |          | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p)
- 5849 |          | LF.INorm norm -> norm)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (ISub _|ICtx _)
- 
- File "src/core/logic.ml", lines 6066-6076, characters 8-33:
- 6066 | ........match tau with
- 6067 |         | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n
- 6068 |         | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1)
- 6069 |         | Comp.TypInd (_) -> Option.some n
- 6070 |         | Comp.TypBox (_, _) -> Option.none
- ...
- 6073 |            let ind = ind_index tau1 n in
- 6074 |            match ind with
- 6075 |            | Option.None -> ind_index tau2 (n + 1)
- 6076 |            | Option.Some _ -> ind
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
- (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Load.cmx -c -impl src/core/load.ml)
- File "src/core/load.ml", line 63, characters 33-47:
- 63 |             Parser.Parsing.(only signature_file)
-                                       ^^^^^^^^^^^^^^
- Error: This expression has type
-          "Synprs.signature_file Parser.Parsing.t" =
-            "Parser.Parsing.state ->
-            Parser.Parsing.state * (Synprs.signature_file, exn) result"
-        but an expression was expected of type
-          "Parser.Parsing.state -> Parser.Parsing.state * ('a, exn) result"
-        The layout of Synprs.signature_file is any
-          because the .cmi file for Synprs.signature_file is missing.
-        But the layout of Synprs.signature_file must be a sublayout of value.
-        No .cmi file found containing Synprs.signature_file.
-        Hint: Adding "synprs" to your dependencies might help.
[ERROR] The compilation of beluga.1.1.2 failed at "dune build -p beluga -j 255 @install".

#=== ERROR while compiling beluga.1.1.2 =======================================#
# context              2.4.0~alpha2 | linux/x86_64 | ocaml-variants.5.2.0+flambda2 | file:///home/opam/opam-repository
# path                 ~/.opam/5.2.0+flambda2/.opam-switch/build/beluga.1.1.2
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p beluga -j 255 @install
# exit-code            1
# env-file             ~/.opam/log/beluga-8-31b25c.env
# output-file          ~/.opam/log/beluga-8-31b25c.out
### output ###
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/support/.support.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/byte/support__List1.cmo -c -impl src/support/list1.ml)
# File "src/support/list1.ml", line 1, characters 33-40:
# 1 | type +'a t = T of 'a * 'a list [@unboxed]
#                                      ^^^^^^^
# Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/support/.support.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/byte/support__List2.cmo -c -impl src/support/list2.ml)
# File "src/support/list2.ml", line 1, characters 37-44:
# 1 | type 'a t = T of 'a * 'a * 'a list [@unboxed]
#                                          ^^^^^^^
# Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/support/.support.objs/byte -I src/support/.support.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/native/support__List1.cmx -c -impl src/support/list1.ml)
# File "src/support/list1.ml", line 1, characters 33-40:
# 1 | type +'a t = T of 'a * 'a list [@unboxed]
#                                      ^^^^^^^
# Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/support/.support.objs/byte -I src/support/.support.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -intf-suffix .ml -no-alias-deps -open Support__ -o src/support/.support.objs/native/support__List2.cmx -c -impl src/support/list2.ml)
# File "src/support/list2.ml", line 1, characters 37-44:
# 1 | type 'a t = T of 'a * 'a * 'a list [@unboxed]
#                                          ^^^^^^^
# Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/syntax/syncom/.syncom.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/support/.support.objs/byte -intf-suffix .ml -no-alias-deps -open Syncom__ -o src/syntax/syncom/.syncom.objs/byte/syncom__Error.cmo -c -impl src/syntax/syncom/error.pp.ml)
# File "src/syntax/syncom/error.ml", line 519, characters 2-27:
# 519 |   Printexc.register_printer (fun exn ->
#         ^^^^^^^^^^^^^^^^^^^^^^^^^
# Alert unsafe_multidomain: Stdlib.Printexc.register_printer
# Use [Printexc.Safe.register_printer].
# 
# File "src/syntax/syncom/error.ml", line 526, characters 2-41:
# 526 |   Printexc.set_uncaught_exception_handler (fun exn backtrace ->
#         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Alert unsafe_multidomain: Stdlib.Printexc.set_uncaught_exception_handler
# Use [Printexc.Safe.set_uncaught_exception_handler].
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/syntax/synint/.synint.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/syntax/syncom/.syncom.objs/byte -no-alias-deps -o src/syntax/synint/.synint.objs/byte/synint.cmo -c -impl src/syntax/synint/synint.ml)
# File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60:
# 629 | ....function
# 630 |     | PatNil -> PatNil
# 631 |     | PatApp (loc, p, pS) ->
# 632 |        PatApp (loc, strip_pattern p, strip_pattern_spine pS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -open Syncom__ -o src/syntax/syncom/.syncom.objs/native/syncom__Error.cmx -c -impl src/syntax/syncom/error.pp.ml)
# File "src/syntax/syncom/error.ml", line 519, characters 2-27:
# 519 |   Printexc.register_printer (fun exn ->
#         ^^^^^^^^^^^^^^^^^^^^^^^^^
# Alert unsafe_multidomain: Stdlib.Printexc.register_printer
# Use [Printexc.Safe.register_printer].
# 
# File "src/syntax/syncom/error.ml", line 526, characters 2-41:
# 526 |   Printexc.set_uncaught_exception_handler (fun exn backtrace ->
#         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Alert unsafe_multidomain: Stdlib.Printexc.set_uncaught_exception_handler
# Use [Printexc.Safe.set_uncaught_exception_handler].
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/syntax/synext/.synext.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/syntax/syncom/.syncom.objs/byte -intf-suffix .ml -no-alias-deps -open Synext__ -o src/syntax/synext/.synext.objs/byte/synext__Synext_precedence.cmo -c -impl src/syntax/synext/synext_precedence.ml)
# File "src/syntax/synext/synext_precedence.ml", line 253, characters 38-45:
# 253 |   type precedence = Static of Int.t [@unboxed]
#                                             ^^^^^^^
# Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -intf-suffix .ml -no-alias-deps -o src/syntax/synint/.synint.objs/native/synint.cmx -c -impl src/syntax/synint/synint.ml)
# File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60:
# 629 | ....function
# 630 |     | PatNil -> PatNil
# 631 |     | PatApp (loc, p, pS) ->
# 632 |        PatApp (loc, strip_pattern p, strip_pattern_spine pS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Order.cmo -c -impl src/core/order.ml)
# File "src/core/order.ml", lines 26-34, characters 2-23:
# 26 | ..function
# 27 |   | I.Arg x -> Some [x]
# 28 |   | I.Lex xs ->
# 29 |      let f =
# 30 |        function
# 31 |        | I.Arg x -> Some x
# 32 |        | _ -> None (* We don't support nested lexicographic orders. *)
# 33 |      in
# 34 |      List.traverse f xs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Simul _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Erase.cmo -c -impl src/core/erase.ml)
# File "src/core/erase.ml", lines 6-19, characters 2-33:
#  6 | ..match (tau, n) with
#  7 |   | (_, 0) -> 0
#  8 |   | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1)
#  9 |   | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) ->
# 10 |     (* We count [Inductive] as 1 instead of throwing an error because
# ...
# 16 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) ->
# 17 |     1 + numeric_order_arg tau (n - 1)
# 18 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) ->
# 19 |     numeric_order_arg tau (n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypPiBox (_, DeclOpt _, _), 1)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Subord.cmo -c -impl src/core/subord.ml)
# File "src/core/subord.ml", lines 98-101, characters 7-43:
#  98 | .......function
#  99 |        | Atom _ -> [tA]
# 100 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
# 101 |           extract_neg tA1 @ extract_pos tA2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/subord.ml", lines 103-106, characters 7-43:
# 103 | .......function
# 104 |        | Atom _ -> []
# 105 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
# 106 |           extract_pos tA1 @ extract_neg tA2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/subord.ml", lines 85-112, characters 2-47:
#  85 | ..match tA with
#  86 |   | Atom (_, a, _) ->
#  87 |      Store.Cid.Typ.freeze a;
#  88 |      if List.exists
#  89 |           begin fun type_in_basis ->
# ...
# 109 |         If we keep this, then we might not strengthen enough... -bp*)
# 110 |      List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1)
# 111 |      @ relevant tA2 basis
# 112 |   | Sigma typRec -> relevantTypRec typRec basis
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/subord.ml", lines 159-161, characters 9-71:
# 159 | .........match psi with
# 160 |          | CtxOffset _ -> Context.lookupCtxVarSchema cD psi
# 161 |          | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CInst ({typ=CTyp None; _ }, _)
# 
# File "src/core/subord.ml", lines 155-187, characters 4-10:
# 155 | ....match cPsi with
# 156 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
# 157 |     | CtxVar psi ->
# 158 |        let schema =
# 159 |          match psi with
# ...
# 184 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
# 185 |           let thin_s_inv = Substitution.LF.invert thin_s in
# 186 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
# 187 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/subord.ml", line 189, characters 8-45:
# 189 |   inner (match tP with Atom (_, a, _) -> [a]) cPsi
#               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
# 
# File "src/core/subord.ml", lines 215-216, characters 16-21:
# 215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in
# 216 |                 s_cid
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=CTyp None; _ })
# 
# File "src/core/subord.ml", lines 205-238, characters 4-10:
# 205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with
# 206 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
# 207 |     | CtxVar psi ->
# 208 |        begin
# 209 |          try
# ...
# 235 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
# 236 |           let thin_s_inv = Substitution.LF.invert thin_s in
# 237 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
# 238 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/subord.ml", lines 249-251, characters 11-24:
# 249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in
# 250 |            p.fmt "[thin'] CtxName psi = %a FOUND"
# 251 |              Name.pp psi
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=ClTyp (_, _); _ })
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Context.cmo -c -impl src/core/context.ml)
# File "src/core/context.ml", lines 90-104, characters 4-24:
#  90 | ....function
#  91 |     | (DDec (_, TypDecl (x, tA')), 1) ->
#  92 |        TypDecl (x, TClo (tA', Shift k))
#  93 | 
#  94 |     | (DDec (cPsi', TypDecl _), k') ->
# ...
# 101 |        ctxDec' (cPsi', k'-1)
# 102 | 
# 103 |     | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) ->
# 104 |        ctxDec' (cPsi, k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxVar
#    (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)),
# _)
# 
# File "src/core/context.ml", lines 124-134, characters 4-24:
# 124 | ....function
# 125 |     | (DDec (_, TypDecl (x, Sigma tArec)), 1) ->
# 126 |        TypDecl (x, Sigma (sigmaShift tArec (Shift k)))
# 127 | 
# 128 |     | (DDec (cPsi', TypDecl (_, Sigma _)), k') ->
# ...
# 131 |     | (DDec (cPsi', TypDecl _), k') ->
# 132 |        ctxDec' (cPsi', k' - 1)
# 133 |     | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) ->
# 134 |        ctxDec' (cPhi, k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (DDec (cPsi', TypDeclOpt _), _)
# 
# File "src/core/context.ml", lines 361-364, characters 2-49:
# 361 | ..match (cPsi, k) with
# 362 |   | (DDec (_, TypDecl (x, _)), 1) -> x
# 363 |   | (DDec (_, TypDeclOpt x), 1) -> x
# 364 |   | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Null|CtxVar _), _)
# 
# File "src/core/context.ml", lines 367-371, characters 2-27:
# 367 | ..match (cD, k) with
# 368 |   | (Dec (_, Decl { name = u; _ }), 1) -> u
# 369 |   | (Dec (_, DeclOpt { name = u; _ }), 1) -> u
# 370 |   | (Dec (cD, _), k) ->
# 371 |      getNameMCtx cD (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Empty, _)
# 
# File "src/core/context.ml", lines 374-377, characters 2-45:
# 374 | ..match (cG, k) with
# 375 |   | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x
# 376 |   | (Dec (_, Comp.CTypDeclOpt x), 1) -> x
# 377 |   | (Dec (cG, _), k) -> getNameCtx cG (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Empty, _)
# 
# File "src/core/context.ml", lines 401-403, characters 4-58:
# 401 | ....function
# 402 |     | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl)
# 403 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Null
# 
# File "src/core/context.ml", lines 409-411, characters 4-58:
# 409 | ....function
# 410 |     | CtxVar ctx_var -> Null
# 411 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Null
# 
# File "src/core/context.ml", lines 436-439, characters 2-28:
# 436 | ..match (cD, psi_offset) with
# 437 |   | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema
# 438 |   | (Dec (cD, _) , i) ->
# 439 |      lookupSchema cD (i - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Empty, _)
# 
# File "src/core/context.ml", lines 446-453, characters 7-10:
# 446 | .......begin match cvar with
# 447 |        | CtxName phi when Name.(psi = phi) -> (psi, schemaName)
# 448 |        | CtxName _ -> lookup cD (offset + 1)
# 449 |        | CtxOffset n ->
# 450 |           if n - offset = 1
# 451 |           then (psi, schemaName)
# 452 |           else lookup cD (offset + 1)
# 453 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CInst _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -intf-suffix .ml -no-alias-deps -open Synext__ -o src/syntax/synext/.synext.objs/native/synext__Synext_precedence.cmx -c -impl src/syntax/synext/synext_precedence.ml)
# File "src/syntax/synext/synext_precedence.ml", line 253, characters 38-45:
# 253 |   type precedence = Static of Int.t [@unboxed]
#                                             ^^^^^^^
# Warning 53 [misplaced-attribute]: the "unboxed" attribute cannot appear in this context
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Ctxsub.cmo -c -impl src/core/ctxsub.ml)
# File "src/core/ctxsub.ml", lines 46-65, characters 2-36:
# 46 | ..match sA' with
# 47 |   | (PiTyp ((decl, _, _), tA'), s') ->
# 48 |      let (tM , sAmv) =
# 49 |        lowerMVar
# 50 |          (DDec (cPsi, Substitution.LF.decSub decl s'))
# ...
# 62 |          , Nil
# 63 |          , Plicity.explicit
# 64 |          ) ,
# 65 |       ClTyp(MTyp (TClo sA') , cPsi))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _, _)
# 
# File "src/core/ctxsub.ml", lines 88-158, characters 2-89:
#  88 | ..function
#  89 |   | Null ->
#  90 |      (* Substitution.LF.id  --changed 2010-07-26*)
#  91 |      (cD, ctxShift psi, 0)
#  92 | 
# ...
# 155 | 
# 156 |   | DDec (_, TypDecl _) ->
# 157 |      (* For the moment, assume tA atomic. *)
# 158 |      Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (_, TypDeclOpt _)
# 
# File "src/core/ctxsub.ml", lines 174-216, characters 2-11:
# 174 | ..function
# 175 |   | Null ->
# 176 |      (* Substitution.LF.id  --changed 2010-07-26*)
# 177 |      ctxShift cPhi
# 178 | 
# ...
# 213 |      (* dprint (fun () -> "shifted = " ^ subToString shifted);*)
# 214 |      let result = Dot (front, s) in
# 215 |      dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result);
# 216 |      result
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi', TypDeclOpt _)
# 
# File "src/core/ctxsub.ml", lines 250-255, characters 2-59:
# 250 | ..function
# 251 |   | Empty -> MShift (Context.length cD0)
# 252 |   | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) ->
# 253 |      let t = mctxToMMSub cD0 cD' in
# 254 |      let mtyp' = Whnf.cnormMTyp (mtyp, t) in
# 255 |      MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt _)
# 
# File "src/core/ctxsub.ml", lines 261-263, characters 2-35:
# 261 | ..function
# 262 |   | t when n <= 0 -> t
# 263 |   | MDot (_, t') -> drop (n - 1) t'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MShift _
# (However, some guarded clause may match this value.)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Substitution.cmo -c -impl src/core/substitution.ml)
# File "src/core/substitution.ml", lines 105-124, characters 4-44:
# 105 | ....match (n, s) with
# 106 |     | (_, Undefs) -> Undef
# 107 |     | (1, Dot (ft, _s)) -> ft
# 108 |     | (n, Dot (_ft, s)) -> bvarSub (n - 1) s
# 109 |     | (n, Shift k) -> Head (BVar (n + k))
# ...
# 121 |            Free BVar (n + k) ... -bp *)
# 122 |        Head (HClo (n + k, s, sigma))
# 123 |     | (n, MSVar (k, ((s, t), sigma))) ->
# 124 |        Head (HMClo (n + k, ((s, t), sigma)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, (EmptySub|FSVar (_, _)))
# 
# File "src/core/substitution.ml", lines 156-159, characters 12-73:
# 156 | ............function
# 157 |             | (Last u, 1) -> u
# 158 |             | (Cons (u, _), 1) -> u
# 159 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last u, 0)
# 
# File "src/core/substitution.ml", lines 166-169, characters 12-73:
# 166 | ............function
# 167 |             | (Last u, 1) -> u
# 168 |             | (Cons (u, _), 1) -> u
# 169 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last u, 0)
# 
# File "src/core/substitution.ml", lines 147-194, characters 7-10:
# 147 | .......begin match bvarSub n s with
# 148 |        | Head (BVar x) ->
# 149 |           Head (Proj (BVar x, k))
# 150 | 
# 151 |        | Head (PVar _ as h) ->
# ...
# 191 |        | Head (AnnH _ ) -> failwith "Found head that is AnnH"
# 192 |        | Head (MMVar _ ) -> failwith "Found head that is MMVar"
# 193 |        | Head _ -> failwith "Found head that is not a BVar or PVar"
# 194 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/substitution.ml", lines 203-206, characters 12-73:
# 203 | ............function
# 204 |             | (Last u, 1) -> (u, s)
# 205 |             | (Cons (u, _), 1) -> (u, s)
# 206 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last u, 0)
# 
# File "src/core/substitution.ml", lines 197-210, characters 7-10:
# 197 | .......begin match frontSub (Head h) s with
# 198 |        | Head h' ->
# 199 |           Head (Proj (h', k))
# 200 | 
# 201 |        | Obj (Tuple (_, tuple)) ->
# ...
# 207 |           in
# 208 |           (*              Obj (Clo (nth s (tuple, k))) *)
# 209 |           Obj (Pair.fst (nth s (tuple, k)))
# 210 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _)
# 
# File "src/core/substitution.ml", lines 213-214, characters 7-26:
# 213 | .......let Head h' = frontSub (Head h) s in
# 214 |        Head (AnnH (h', a))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undef|Obj _)
# 
# File "src/core/substitution.ml", lines 138-221, characters 4-35:
# 138 | ....match ft with
# 139 |     | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s))
# 140 |     | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s)))
# 141 |     | Head (BVar n) -> bvarSub n s
# 142 |     | Head (FVar _) -> ft
# ...
# 218 |     | Obj u -> Obj (Clo (u, s))
# 219 |     | Undef -> Undef
# 220 |     | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s))
# 221 |     | Head (FPVar (_n, _s' )) -> ft
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head (MPVar _|FMVar _)
# 
# File "src/core/substitution.ml", line 263, characters 13-30:
# 263 |   let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s))
#                    ^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/substitution.ml", lines 292-300, characters 6-33:
# 292 | ......match s with
# 293 |       | EmptySub -> None
# 294 |       | Undefs -> None
# 295 |       | Shift _ -> None
# 296 |       | Dot (Undef, s') -> lookup (n + 1) s' p
# 297 |       | Dot (Head (BVar k), s') ->
# 298 |          if k = p
# 299 |          then Some (Head (BVar n))
# 300 |          else lookup (n + 1) s' p
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dot
#   (Head
#      (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#      FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
#   _)
# 
# File "src/core/substitution.ml", lines 314-324, characters 6-37:
# 314 | ......match s with
# 315 |       | EmptySub ->
# 316 |          invert'' maxoffset Undefs
# 317 |       | Undefs ->
# 318 |          invert'' maxoffset Undefs
# ...
# 321 |       | Dot (Head (BVar k), s') ->
# 322 |          invert' (n + 1) s' (max k maxoffset)
# 323 |       | Dot (_, s') -> (* Is this really necessary? -ac *)
# 324 |          invert' (n + 1) s' maxoffset
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/substitution.ml", lines 335-350, characters 4-65:
# 335 | ....match (s, cPsi) with
# 336 |     | (Shift _ (* 0 *), Null) ->
# 337 |        Null
# 338 |     | (Shift _, CtxVar psi) ->
# 339 |        CtxVar psi
# ...
# 347 |     | (Dot (Undef, t), DDec (cPsi, _)) ->
# 348 |        strengthen t cPsi
# 349 |     | (Shift n, cPsi) ->
# 350 |        strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dot (Head (BVar _k), t), (Null|CtxVar _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Store.cmo -c -impl src/core/store.ml)
# File "src/core/store.ml", lines 212-217, characters 6-45:
# 212 | ......function
# 213 |       | Int.LF.Atom(_, b, _) ->
# 214 |          List.iter (fun a -> addSubord a b) acc ; [b]
# 215 | 
# 216 |       | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) ->
# 217 |          inspect (acc @ (inspect [] tA1)) tA2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/store.ml", lines 222-226, characters 6-56:
# 222 | ......function
# 223 |       | Int.LF.Typ ->
# 224 |          List.iter (fun a -> addSubord a cid_tp) acc
# 225 |       | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) ->
# 226 |          inspectKind cid_tp (acc @ (inspect [] tA1)) tK2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__ConvSigma.cmo -c -impl src/core/convSigma.ml)
# File "src/core/convSigma.ml", lines 20-22, characters 2-54:
# 20 | ..match (conv_list, k) with
# 21 |   | (d :: conv_list', 1) -> d
# 22 |   | (d :: conv_list', _) -> d + map conv_list' (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ([], _)
# 
# File "src/core/convSigma.ml", lines 44-52, characters 2-21:
# 44 | ..match tM with
# 45 |   | LF.Lam (loc, x, tN) ->
# 46 |      let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in
# 47 |      LF.Lam (loc, x, tN')
# 48 |   | LF.Root (loc, h, tS, plicity) ->
# 49 |      let h' = strans_head loc cD cPsi h conv_list in
# 50 |      let tS' = strans_spine cD cPsi (tS, s) conv_list in
# 51 |      LF.Root (loc, h', tS', plicity)
# 52 |   | LF.LFHole _ -> tM
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _|Tuple (_, _))
# 
# File "src/core/convSigma.ml", lines 55-101, characters 2-8:
#  55 | ..match h with
#  56 |   | LF.BVar x -> LF.BVar (map conv_list x)
#  57 | 
#  58 |   | LF.MVar (LF.Offset u, sigma) ->
#  59 |      LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list)
# ...
#  98 |          LF.BVar x'
#  99 |        with
# 100 |        | _ -> LF.Proj (LF.BVar x, j)
# 101 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Proj
#   ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#    HClo (_, _, _)|HMClo (_, _)),
#   _)
# 
# File "src/core/convSigma.ml", lines 112-118, characters 2-26:
# 112 | ..match mf with
# 113 |   | LF.ClObj (phat, LF.MObj tM) ->
# 114 |      LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list ))
# 115 |   | LF.ClObj (phat, LF.PObj h) ->
# 116 |      LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list))
# 117 |   | LF.MV u -> LF.MV u
# 118 |   | LF.MUndef -> LF.MUndef
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/convSigma.ml", lines 121-123, characters 2-55:
# 121 | ..function
# 122 |   | (0, xs) -> n
# 123 |   | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1, [])
# 
# File "src/core/convSigma.ml", lines 163-170, characters 2-59:
# 163 | ..match tA with
# 164 |   | LF.Atom (loc, a, tS ) ->
# 165 |      LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list )
# 166 | 
# 167 |   | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) ->
# 168 |      let tA' = strans_typ cD cPsi (tA, s) conv_list in
# 169 |      let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in
# 170 |      LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/convSigma.ml", lines 384-432, characters 2-24:
# 384 | ..match Whnf.whnfTyp sA with
# 385 |   | LF.Sigma tRec as tA, s ->
# 386 |      (* FIXME: this doesn't do any strengthening !! -je *)
# 387 |      let tH =
# 388 |        mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s)
# ...
# 429 |      let tN =
# 430 |        etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names)
# 431 |      in
# 432 |      LF.Lam (loc, x, tN)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyint.cmo -c -impl src/core/prettyint.ml)
# File "src/core/prettyint.ml", lines 237-294, characters 4-39:
# 237 | ....function
# 238 |     | LF.Atom (_, a, LF.Nil) ->
# 239 |        fprintf ppf "%s"
# 240 |          (R.render_cid_typ a)
# 241 | 
# ...
# 291 |     | LF.TClo (typ, s) ->
# 292 |        fprintf ppf "TClo(%a,@ %a)"
# 293 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
# 294 |          (fmt_ppr_lf_sub cD cPsi lvl) s
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/prettyint.ml", lines 434-545, characters 6-51:
# 434 | ......function
# 435 |       | LF.HClo (h, s, sigma) ->
# 436 |          fprintf ppf "%s[%a[%a]]"
# 437 |            (R.render_bvar cPsi h)
# 438 |            (fmt_ppr_lf_offset cD) s
# ...
# 542 |            (r_paren_if (paren s))
# 543 | 
# 544 |       | LF.Proj (head, k) ->
# 545 |          fmt_head_with ("." ^ string_of_int k) head
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# AnnH (_, _)
# 
# File "src/core/prettyint.ml", lines 769-771, characters 7-52:
# 769 | .......match LF.(v.typ) with
# 770 |        | LF.ClTyp (_, cPsi) ->
# 771 |           fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/prettyint.ml", lines 785-794, characters 7-10:
# 785 | .......begin match !g with
# 786 |        | None ->
# 787 |           fprintf ppf "?%a[%a]"
# 788 |             Name.pp LF.(v.name)
# 789 |             (fmt_ppr_lf_msub cD 0) theta
# 790 | 
# 791 |        | Some (LF.ICtx cPsi) ->
# 792 |           fprintf ppf "%a"
# 793 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
# 794 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/prettyint.ml", lines 878-890, characters 4-38:
# 878 | ....function
# 879 |     | LF.Null -> ()
# 880 | 
# 881 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
# 882 |        fprintf ppf "%a : %a"    (* formerly "., %s : %a"    -jd 2010-06-03 *)
# ...
# 887 |        fprintf ppf "%a, %a : %a"
# 888 |          (ppr_typ_decl_dctx cD) cPsi
# 889 |          Name.pp x
# 890 |          (fmt_ppr_lf_typ cD cPsi 0) tA
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/prettyint.ml", lines 974-1006, characters 4-26:
#  974 | ....function
#  975 |     | LF.Typ ->
#  976 |        fprintf ppf "type"
#  977 | 
#  978 |     | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) ->
# ...
# 1003 |          (l_paren_if cond)
# 1004 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
# 1005 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
# 1006 |          (r_paren_if cond)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# 
# File "src/core/prettyint.ml", lines 1097-1109, characters 4-40:
# 1097 | ....function
# 1098 |     | LF.Queued id ->
# 1099 |        fprintf ppf "@[QUEUED %d@]" id
# 1100 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
# 1101 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
# ...
# 1106 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
# 1107 |          id
# 1108 |          (fmt_ppr_lf_head cD cPsi l0) h1
# 1109 |          (fmt_ppr_lf_head cD cPsi l0) h2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/prettyint.ml", lines 1147-1228, characters 4-39:
# 1147 | ....function
# 1148 |     | Comp.TypBase (_, c, mS)->
# 1149 |        let cond = lvl > 10 in
# 1150 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
# 1151 |          (l_paren_if cond)
# ...
# 1225 |          fprintf ppf "@[%a@]*"
# 1226 |            (fmt_ppr_cmp_typ cD 10) tau
# 1227 |        else
# 1228 |          fmt_ppr_cmp_typ cD lvl ppf tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDef (_, _, _)
# 
# File "src/core/prettyint.ml", lines 1236-1241, characters 4-48:
# 1236 | ....function
# 1237 |     | Comp.PatNil -> fprintf ppf ""
# 1238 |     | Comp.PatApp (_, pat, pat_spine) ->
# 1239 |        fprintf ppf "@[%a@]@ @[%a@]"
# 1240 |          (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat
# 1241 |          (fmt_ppr_pat_spine cD cG lvl) pat_spine
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# 
# File "src/core/prettyint.ml", lines 1245-1248, characters 6-65:
# 1245 | ......match (ms, n) with
# 1246 |       | (_, 0) -> ms
# 1247 |       | (Comp.PatNil, _) -> ms
# 1248 |       | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatObs (_, _, _, _), 1)
# 
# File "src/core/prettyint.ml", lines 1507-1550, characters 4-26:
# 1507 | ....function
# 1508 |     | Comp.FunValue _ -> fprintf ppf " fn "
# 1509 |     | Comp.ThmValue _ -> fprintf ppf " rec "
# 1510 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
# 1511 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
# ...
# 1547 |        fprintf ppf "%s%s%a%s"
# 1548 |          (l_paren_if cond)
# 1549 |          (R.render_cid_comp_const c) print_spine pat_spine
# 1550 |          (r_paren_if cond)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# FnValue (_, _, _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Whnf.cmo -c -impl src/core/whnf.ml)
# File "src/core/whnf.ml", lines 36-39, characters 2-73:
# 36 | ..match cPsi with
# 37 |   | Null -> tA
# 38 |   | DDec (cPsi', decl) ->
# 39 |      raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar _
# 
# File "src/core/whnf.ml", lines 133-148, characters 2-64:
# 133 | ..match sA' with
# 134 |   | (PiTyp ((decl, _, _), tA'), s') ->
# 135 |      let (u', tM) =
# 136 |        lowerMVar'
# 137 |          (DDec (cPsi, LF.decSub decl s'))
# ...
# 145 | 
# 146 |   | (Atom (loc, a, tS), s') ->
# 147 |      let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in
# 148 |      (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity))....................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _, _)
# 
# File "src/core/whnf.ml", lines 152-162, characters 2-25:
# 152 | ..match (u, sA) with
# 153 |   | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ }
# 154 |     , (PiTyp _, _)
# 155 |     ) ->
# 156 |      let (u', tM) = lowerMVar' cPsi sA plicity inductivity in
# ...
# 159 | 
# 160 |   | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s')
# 161 | 
# 162 |   | (_, (Atom _, _)) -> u
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Inst {typ=ClTyp (_, _); _ }, (Sigma _, _))
# 
# File "src/core/whnf.ml", lines 319-329, characters 4-31:
# 319 | ....match s with
# 320 |     | MShift _ -> None
# 321 |     | MDot (MUndef, t') -> lookup (n + 1) t' p
# 322 | 
# 323 |     | MDot (MV k, t')
# ...
# 326 |       | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') ->
# 327 |        if k = p
# 328 |        then Some n
# 329 |        else lookup (n + 1) t' p
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MDot (CObj (CtxVar (CtxName _|CInst _)), _)
# 
# File "src/core/whnf.ml", lines 385-387, characters 7-59:
# 385 | .......match normHead (h, sigma) with
# 386 |      | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity)
# 387 |      | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 404-407, characters 5-8:
# 404 | .....begin match normMMVar mmt with
# 405 |      | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma))))
# 406 |      | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma)
# 407 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 409-413, characters 5-8:
# 409 | .....begin match normMMVar mmt with
# 410 |      (* The order in which we normalize mm, n, s, and sigma seems to matter..*)
# 411 |      | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma)))
# 412 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
# 413 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 415-419, characters 5-8:
# 415 | .....begin match normMMVar mmt with
# 416 |      | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma)))
# 417 |      | Result (IHead h) -> normFt' (normHead (h, s), sigma)
# 418 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
# 419 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 422-425, characters 5-8:
# 422 | .....begin match normMMVar (mm, MShift 0) with
# 423 |      | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma)))
# 424 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
# 425 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 449-451, characters 2-32:
# 449 | ..match ft with
# 450 |   | Head h -> normHead (h, s)
# 451 |   | Obj tM -> Obj (norm (tM, s))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 454-457, characters 2-37:
# 454 | ..match tM with
# 455 |   | INorm n -> INorm (cnorm (n, mt))
# 456 |   | IHead h -> IHead (cnormHead (h, mt))
# 457 |   | ISub s -> ISub (cnormSub (s, mt))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ICtx _
# 
# File "src/core/whnf.ml", lines 463-466, characters 5-8:
# 463 | .....begin match normHead (h, s) with
# 464 |      | Obj tM -> MObj tM
# 465 |      | Head h' -> PObj h'
# 466 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 470-473, characters 2-64:
# 470 | ..match normFt' (ft, LF.id) with
# 471 |   | Head h -> Head (Proj (h, i))
# 472 |   | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i))
# 473 |   | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 476-479, characters 2-50:
# 476 | ..function
# 477 |   | (Last tM, 1) -> tM
# 478 |   | (Cons (tM, _), 1) -> tM
# 479 |   | (Cons (_, rest), k) -> reduceTuple (rest, k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last tM, 0)
# 
# File "src/core/whnf.ml", lines 507-521, characters 2-17:
# 507 | ..function
# 508 |   | (LFHole (l, _, _), _) ->
# 509 |      raise (InvalidLFHole l)
# 510 | 
# 511 |   | (Root (loc, h, sp, plicity), spine) ->
# ...
# 518 |      Lam (loc, n, tM')
# 519 | 
# 520 |   | (Clo sM, tS) ->
# 521 |      reduce sM tS
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _), SClo _)
# 
# File "src/core/whnf.ml", lines 524-526, characters 2-54:
# 524 | ..function
# 525 |   | (Nil, s) -> s
# 526 |   | (App (tN, tS), s) -> App (tN, appendSpine (tS, s))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (SClo _, _)
# 
# File "src/core/whnf.ml", lines 537-543, characters 5-8:
# 537 | .....begin match mmvar.instantiation.contents with
# 538 |      | Some (ISub s) ->
# 539 |         let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in
# 540 |         LF.comp (Shift n) s0
# 541 |      | None ->
# 542 |         MSVar (n, ((mmvar, mt), normSub s'))
# 543 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 562-573, characters 2-37:
# 562 | ..match tA with
# 563 |   | Atom (loc, a, tS) ->
# 564 |      Atom (loc, a, normSpine (tS, sigma))
# 565 | 
# 566 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
# ...
# 570 |      normTyp (tA, LF.comp s sigma)
# 571 | 
# 572 |   | Sigma recA ->
# 573 |      Sigma (normTypRec (recA, sigma))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/whnf.ml", lines 620-629, characters 5-8:
# 620 | .....begin match !u with
# 621 |      | None ->
# 622 |         (Some (CInst (mmvar, mcomp theta t)), k)
# 623 |      | Some (ICtx cPsi) ->
# 624 |         (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *)
# 625 |         begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with
# 626 |         | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *)
# 627 |         | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *)
# 628 |         end
# 629 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 631-641, characters 5-8:
# 631 | .....begin match LF.applyMSub offset t with
# 632 |      | CObj cPsi ->
# 633 |         begin match Context.dctxToHat cPsi with
# 634 |         | (None, i) -> (None, k + i)
# 635 |         | (Some cvar', i) -> (Some cvar', k + i)
# ...
# 638 |      | ClObj _ ->
# 639 |         Error.raise_violation
# 640 |           (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset)
# 641 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MUndef
# 
# File "src/core/whnf.ml", lines 656-659, characters 5-8:
# 656 | .....begin match LF.applyMSub k t with
# 657 |      | MV k' -> Head (MVar (Offset k', s'))
# 658 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
# 659 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, (PObj _|SObj _))
# 
# File "src/core/whnf.ml", lines 662-666, characters 5-8:
# 662 | .....begin match LF.applyMSub k t with
# 663 |      | MV k' -> Head (PVar (k', s'))
# 664 |      | ClObj (_, PObj h) -> normHead (h, s')
# 665 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
# 666 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/whnf.ml", lines 669-672, characters 5-8:
# 669 | .....begin match LF.applyMSub sv t with
# 670 |      | MV sv' -> Head (HClo (k, sv', s'))
# 671 |      | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s')
# 672 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, (MObj _|PObj _))
# 
# File "src/core/whnf.ml", lines 674-677, characters 5-8:
# 674 | .....begin match normMMVar mmt with
# 675 |      | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
# 676 |      | Result (INorm n) -> Obj (cnorm (norm (n, s), t))
# 677 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 679-684, characters 5-8:
# 679 | .....begin match normMMVar mmt with
# 680 |      | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
# 681 |      | Result (IHead h) -> cnormFt' (normHead (h, s), t)
# 682 |      | Result (INorm n) ->
# 683 |         Obj (cnorm (norm (n, s), t))
# 684 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 686-689, characters 5-8:
# 686 | .....begin match normMMVar mmt with
# 687 |      | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t))))
# 688 |      | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t)
# 689 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 691-694, characters 5-8:
# 691 | .....begin match normMMVar (mm, MShift 0) with
# 692 |      | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t)))
# 693 |      | Result (INorm n) -> Obj (norm (n, s))
# 694 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 698-700, characters 2-38:
# 698 | ..function
# 699 |   | (Head h, t) -> cnormHead' (h, t)
# 700 |   | (Obj tM, t) -> Obj (cnorm (tM, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undef, _)
# 
# File "src/core/whnf.ml", lines 713-721, characters 5-8:
# 713 | .....begin match cnormHead' (head, t) with
# 714 |      | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity)
# 715 |      | Obj tM ->
# 716 |         (* in this ends up evaluating to a Root, we want to keep the
# 717 |            plicity that we had here *)
# 718 |         map_plicity
# 719 |           (fun _ -> plicity)
# 720 |           (reduce (tM, LF.id) (cnormSpine (tS, t)))
# 721 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 728-729, characters 2-17:
# 728 | ..match cnormHead' (h, t) with
# 729 |   | Head h' -> h'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undef|Obj _)
# 
# File "src/core/whnf.ml", lines 752-758, characters 5-8:
# 752 | .....begin match LF.applyMSub offset t with
# 753 |      | MV offset' -> SVar (offset', n, cnormSub (s', t))
# 754 |      | ClObj (_, SObj r) ->
# 755 |         LF.comp (LF.comp (Shift n) r) (cnormSub (s', t))
# 756 |      | ClObj _ ->
# 757 |         Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj"
# 758 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|CObj _)
# 
# File "src/core/whnf.ml", lines 764-775, characters 5-56:
# 764 | .....match mmvar.instantiation.contents with
# 765 |      | Some (ISub s) ->
# 766 |         dprintf
# 767 |           begin fun p ->
# 768 |           p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]"
# ...
# 772 |         let s0' = LF.comp (Shift n) s0 in
# 773 |         cnormSub (s0', t)
# 774 |      | None ->
# 775 |         MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 793-803, characters 2-34:
# 793 | ..match tA with
# 794 |   | Atom (loc, a, tS) ->
# 795 |      Atom (loc, a, cnormSpine (tS, t))
# 796 | 
# 797 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
# ...
# 800 |   | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t))
# 801 | 
# 802 |   | Sigma recA ->
# 803 |      Sigma (cnormTypRec (recA, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/whnf.ml", lines 832-837, characters 5-8:
# 832 | .....begin match !u with
# 833 |      | None ->
# 834 |         CtxVar (CInst (mmvar, mcomp theta t))
# 835 |      | Some (ICtx cPhi) ->
# 836 |         cnormDCtx (cPhi, mcomp theta t)
# 837 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 840-843, characters 5-8:
# 840 | .....begin match LF.applyMSub psi t with
# 841 |      | CObj cPsi' -> normDCtx cPsi'
# 842 |      | MV k -> CtxVar (CtxOffset k)
# 843 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|ClObj (_, _))
# 
# File "src/core/whnf.ml", lines 886-889, characters 5-8:
# 886 | .....begin match mmvar.instantiation.contents with
# 887 |      | None -> cPsi
# 888 |      | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta))
# 889 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 960-973, characters 8-11:
# 960 | ........begin match h' with
# 961 |         | BVar i ->
# 962 |            begin match LF.bvarSub i (LF.comp r sigma) with
# 963 |            | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma))
# 964 |            | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id)
# ...
# 970 |            let h' = PVar (p, LF.comp (LF.comp s r) sigma) in
# 971 |            whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
# 972 |         | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id)
# 973 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
# HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/whnf.ml", lines 956-979, characters 5-8:
# 956 | .....begin match u with
# 957 |      (* MPVar instantiation must be a head *)
# 958 |      | Some (IHead h) ->
# 959 |         let h' = cnormHead (h, t) in
# 960 |         begin match h' with
# ...
# 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
# 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
# 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
# 979 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 954-979, characters 5-8:
# 954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in
# 955 |      let u = mmvar.instantiation.contents in
# 956 |      begin match u with
# 957 |      (* MPVar instantiation must be a head *)
# 958 |      | Some (IHead h) ->
# ...
# 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
# 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
# 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
# 979 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 995-1011, characters 8-11:
#  995 | ........begin match whnfTyp (tA, LF.id) with
#  996 |         | (Atom (loc', a, tS'), _ (* id *)) ->
#  997 |            (* meta-variable is of atomic type; tS = Nil *)
#  998 |            let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
#  999 |            (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
# ...
# 1008 |            (* let _ = lowerMMVar cD u in
# 1009 |               whnf (tM, sigma) *)
# 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
# 1011 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Sigma _|TClo _), _)
# 
# File "src/core/whnf.ml", lines 985-1012, characters 5-8:
#  985 | .....begin match u with
#  986 |      (* MMVar instantiation must be normal *)
#  987 |      | Some (INorm tM) ->
#  988 |         (* constraints associated with u must be in solved form *)
#  989 |         let tM' = cnorm (tM, t) in
# ...
# 1009 |               whnf (tM, sigma) *)
# 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
# 1011 |         end
# 1012 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 983-1012, characters 5-8:
#  983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in
#  984 |      let u = mmvar.instantiation.contents in
#  985 |      begin match u with
#  986 |      (* MMVar instantiation must be normal *)
#  987 |      | Some (INorm tM) ->
# ...
# 1009 |               whnf (tM, sigma) *)
# 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
# 1011 |         end
# 1012 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 1041-1053, characters 8-11:
# 1041 | ........begin match whnfTyp (tA, LF.id) with
# 1042 |         | (Atom (loc', a, tS'), _ (* id *)) ->
# 1043 |            (* meta-variable is of atomic type; tS = Nil *)
# 1044 |            let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
# 1045 |            (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id)
# ...
# 1050 |             *)
# 1051 |            ignore (lowerMVar cvar);
# 1052 |            whnf (tM, sigma)
# 1053 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Sigma _|TClo _), _)
# 
# File "src/core/whnf.ml", lines 1036-1053, characters 8-11:
# 1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in
# 1037 |         (* note: we could split this case based on tA;
# 1038 |          *      this would avoid possibly building closures with id
# 1039 |          *)
# 1040 |         let r' = normSub r in
# ...
# 1050 |             *)
# 1051 |            ignore (lowerMVar cvar);
# 1052 |            whnf (tM, sigma)
# 1053 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 1023-1054, characters 5-8:
# 1023 | .....begin match u with
# 1024 |      | Some (INorm tM) ->
# 1025 |         (* constraints associated with u must be in solved form *)
# 1026 |         let r' = normSub r in
# 1027 |         let tM' =
# ...
# 1051 |            ignore (lowerMVar cvar);
# 1052 |            whnf (tM, sigma)
# 1053 |         end
# 1054 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 1073-1082, characters 5-8:
# 1073 | .....begin match LF.bvarSub i sigma with
# 1074 |      | Head (BVar j) ->
# 1075 |         ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity)
# 1076 |         , LF.id
# 1077 |         )
# 1078 |      | Head (PVar (q, s)) ->
# 1079 |         ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity)
# 1080 |         , LF.id
# 1081 |         )
# 1082 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#   FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/whnf.ml", lines 1098-1109, characters 11-14:
# 1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with
# 1099 |            | Head (BVar x) ->
# 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
# 1101 |               , LF.id
# 1102 |               )
# ...
# 1106 |               )
# 1107 |            | Undef ->
# 1108 |               Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i)
# 1109 |            end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Obj _
# 
# File "src/core/whnf.ml", lines 1096-1118, characters 8-11:
# 1096 | ........begin match cnormHead (h, t) with
# 1097 |         | BVar i ->
# 1098 |            begin match LF.bvarSub i (LF.comp r sigma) with
# 1099 |            | Head (BVar x) ->
# 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
# ...
# 1115 |         | MPVar ((q, t'), r') ->
# 1116 |            let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in
# 1117 |            (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
# 1118 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
# HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/whnf.ml", lines 1120-1127, characters 8-9:
# 1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in
# 1121 |         (* constraints associated with q must be in solved form *)
# 1122 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
# 1123 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
# 1124 |         let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in
# 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
# 1126 |         , LF.id
# 1127 |         )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 1093-1128, characters 5-8:
# 1093 | .....begin match mmvar.instantiation.contents with
# 1094 |      | Some (IHead h) ->
# 1095 |         (* constraints associated with q must be in solved form *)
# 1096 |         begin match cnormHead (h, t) with
# 1097 |         | BVar i ->
# ...
# 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
# 1126 |         , LF.id
# 1127 |         )
# 1128 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 1143-1157, characters 2-39:
# 1143 | ..function
# 1144 |   | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l)
# 1145 |   | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1)
# 1146 | 
# 1147 |   | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) ->
# ...
# 1154 |      whnfRedex (sM, (tS, LF.comp s2' s2))
# 1155 | 
# 1156 |   | ((Clo (tM, s), s1), sS) ->
# 1157 |      whnfRedex ((tM, LF.comp s s1), sS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Root (_, _, _, _), _), (App (_, _), _))
# 
# File "src/core/whnf.ml", lines 1180-1191, characters 2-15:
# 1180 | ..function
# 1181 |   | [] -> true
# 1182 |   | ({ contents = Queued _ } :: cnstrs) ->
# 1183 |       constraints_solved cnstrs
# 1184 |   | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) ->
# ...
# 1188 |   | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) ->
# 1189 |      if convHead (h1, LF.id) (h2, LF.id)
# 1190 |      then constraints_solved cnstrs
# 1191 |      else false
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# {contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_
# 
# File "src/core/whnf.ml", lines 1283-1288, characters 2-71:
# 1283 | ..match (spine1, spine2) with
# 1284 |   | ((Nil, _), (Nil, _)) -> true
# 1285 |   | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) ->
# 1286 |      conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2)
# 1287 |   | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s')
# 1288 |   | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Nil, _), (App (_, _), _))
# 
# File "src/core/whnf.ml", lines 1457-1465, characters 2-32:
# 1457 | ..match (cPsi, cPsi') with
# 1458 |   | (_, Empty) -> true
# 1459 |   | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) ->
# 1460 |      if convTyp (tA, LF.id) (tB, LF.id)
# 1461 |      then convSubsetCtx cPsi1 cPsi2
# 1462 |      else
# 1463 |        (* keep tBs around and check that tA is a subordinate of tB,
# 1464 |        i.e. anything in tA cannot influence tB *)
# 1465 |        convSubsetCtx cPsi1 cPsi'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _))
# 
# File "src/core/whnf.ml", lines 1591-1593, characters 4-76:
# 1591 | ....match mO with
# 1592 |     | CObj cPsi -> CObj (normDCtx cPsi)
# 1593 |     | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|MV _)
# 
# File "src/core/whnf.ml", lines 1604-1624, characters 2-49:
# 1604 | ..function
# 1605 |   | Comp.TypBase (loc, c, mS) ->
# 1606 |      Comp.TypBase (loc, c, normMetaSpine mS)
# 1607 |   | Comp.TypCobase (loc, c, mS) ->
# 1608 |      Comp.TypCobase (loc, c, normMetaSpine mS)
# ...
# 1621 |     Comp.TypPiBox
# 1622 |       (loc, (Decl { d with typ = typ' }), tau')
# 1623 | 
# 1624 |   | Comp.TypInd tau -> Comp.TypInd (normCTyp tau)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypPiBox (loc, DeclOpt _, _)
# 
# File "src/core/whnf.ml", lines 1640-1643, characters 2-30:
# 1640 | ..match cdecl with
# 1641 |   | Decl d ->
# 1642 |     let typ' = cnormMTyp (d.typ, t) in
# 1643 |     Decl { d with typ = typ' }
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/whnf.ml", lines 1646-1670, characters 2-60:
# 1646 | ..function
# 1647 |   | (Comp.TypBase (loc, a, mS), t) ->
# 1648 |      let mS' = cnormMetaSpine (mS, t) in
# 1649 |      Comp.TypBase (loc, a, mS')
# 1650 |   | (Comp.TypCobase (loc, a, mS), t) ->
# ...
# 1667 |   | (Comp.TypClo (tT, t'), t) ->
# 1668 |      cnormCTyp (tT, mcomp t' t)
# 1669 | 
# 1670 |   | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _), _)
# 
# File "src/core/whnf.ml", lines 1673-1675, characters 2-47:
# 1673 | ..match cdecl with
# 1674 |   | Comp.CTypDecl(n, typ, wf_t) ->
# 1675 |      Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", lines 1691-1707, characters 2-70:
# 1691 | ..function
# 1692 |   | (Comp.TypBase (loc, c, mS), t) ->
# 1693 |      let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in
# 1694 |      (Comp.TypBase (loc, c, mS'), m_id)
# 1695 |   | (Comp.TypCobase (loc, c, mS), t) ->
# ...
# 1704 | 
# 1705 |   | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t)
# 1706 | 
# 1707 |   | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _), _)
# 
# File "src/core/whnf.ml", lines 1902-1905, characters 2-74:
# 1902 | ..match cG with
# 1903 |   | Empty -> Empty
# 1904 |   | Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
# 1905 |      Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/whnf.ml", lines 1928-1930, characters 2-62:
# 1928 | ..function
# 1929 |   | Comp.CTypDecl (x, tau, flag) ->
# 1930 |      Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", lines 1957-1962, characters 2-41:
# 1957 | ..match cD with
# 1958 |   | Empty -> Empty
# 1959 |   | Dec (cD, Decl d) ->
# 1960 |     let typ' = normMTyp d.typ in
# 1961 |     let cD' = normMCtx cD in
# 1962 |     Dec (cD', Decl { d with typ = typ' })
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD, DeclOpt _)
# 
# File "src/core/whnf.ml", lines 1990-1993, characters 2-60:
# 1990 | ..match (tM1, tM2) with
# 1991 |   | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id)
# 1992 |   | (ISub s1, ISub s2) -> convSub s1 s2
# 1993 |   | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (INorm n1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/whnf.ml", lines 1998-2004, characters 2-25:
# 1998 | ..match (mS, mS') with
# 1999 |   | (Comp.MetaNil, Comp.MetaNil) -> true
# 2000 |   | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) ->
# 2001 |      convMetaObj mO mO'
# 2002 |      && convMetaTyp mT mT'
# 2003 |      && convMetaSpine mS mS'
# 2004 |      && Plicity.(p1 = p2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaNil, MetaApp (_, _, _, _))
# 
# File "src/core/whnf.ml", lines 2071-2075, characters 2-42:
# 2071 | ..match (d1, d2) with
# 2072 |   | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2)
# 2073 |   | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) ->
# 2074 |      Name.(x1 = x2) && Stdlib.(=) w1 w2
# 2075 |      && convCTyp (tau1, m_id) (tau2, m_id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CTypDeclOpt x1, CTypDecl (_, _, _))
# 
# File "src/core/whnf.ml", lines 2095-2105, characters 2-8:
# 2095 | ..match sA with
# 2096 |   | (Atom (loc, _, _) as tP, s) ->
# 2097 |      let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in
# 2098 |      Root (loc, MVar (u, s'), Nil, plicity)
# 2099 | 
# ...
# 2102 |        ( Name.location x
# 2103 |        , x
# 2104 |        , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
# 2105 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/whnf.ml", lines 2120-2130, characters 2-8:
# 2120 | ..match sA with
# 2121 |   | (Atom _ as tP, s) ->
# 2122 |      let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in
# 2123 |      Root (loc, MMVar ((u, m_id), s'), Nil, plicity)
# 2124 | 
# ...
# 2127 |        ( loc
# 2128 |        , x
# 2129 |        , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
# 2130 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/whnf.ml", lines 2135-2141, characters 2-42:
# 2135 | ..match tM with
# 2136 |   | Lam (_, _, tM) -> closed (tM, LF.dot1 s)
# 2137 |   | Root (_, h, tS, _) ->
# 2138 |      closedHead h
# 2139 |      && closedSpine (tS, s)
# 2140 |   | LFHole _ -> false
# 2141 |   | Tuple (_, tup) -> closedTuple (tup, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Clo _
# 
# File "src/core/whnf.ml", lines 2166-2174, characters 2-28:
# 2166 | ..function
# 2167 |   | EmptySub -> true
# 2168 |   | Undefs -> true
# 2169 |   | SVar (_, _, sigma) -> closedSub sigma
# 2170 |   | Shift _ -> true
# 2171 |   | Dot (ft, s) -> closedFront ft && closedSub s
# 2172 |   | MSVar (_, ((v, t), s)) ->
# 2173 |      (* the case for MMVar doesn't also check the substitution -je *)
# 2174 |      is_mmvar_instantiated v.....................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# FSVar (_, _)
# 
# File "src/core/whnf.ml", lines 2185-2190, characters 2-40:
# 2185 | ..match tA with
# 2186 |   | Atom (_, _, tS) -> closedSpine (tS, s)
# 2187 |   | PiTyp ((t_dec, _, _), tA) ->
# 2188 |      closedDecl (t_dec, s)
# 2189 |      && closedTyp (tA, LF.dot1 s)
# 2190 |   | Sigma recA -> closedTypRec (recA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/whnf.ml", lines 2208-2211, characters 5-8:
# 2208 | .....begin match mmvar.instantiation.contents with
# 2209 |      | None -> false
# 2210 |      | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta))
# 2211 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 2241-2244, characters 2-56:
# 2241 | ..function
# 2242 |   | CObj cPsi -> closedDCtx cPsi
# 2243 |   | ClObj (phat, t) ->
# 2244 |      closedDCtx (Context.hatToDCtx phat) && closedMObj t
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|MV _)
# 
# File "src/core/whnf.ml", lines 2255-2264, characters 2-37:
# 2255 | ..function
# 2256 |   | Comp.TypBase (_, _, mS) -> closedMetaSpine mS
# 2257 |   | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS
# 2258 |   | Comp.TypBox (_, cT) -> closedMetaTyp cT
# 2259 |   | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2
# 2260 |   | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs
# 2261 |   | Comp.TypPiBox (_, ctyp_decl, cT) ->
# 2262 |       closedCTyp cT && closedDecl ctyp_decl
# 2263 |   | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *)
# 2264 |   | Comp.TypInd tau -> closedCTyp tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDef (_, _, _)
# 
# File "src/core/whnf.ml", line 2406, characters 37-65:
# 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
#                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", line 2406, characters 8-36:
# 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
#                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", line 2412, characters 32-55:
# 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
#                                        ^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/whnf.ml", line 2412, characters 8-31:
# 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
#                ^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/whnf.ml", lines 2418-2420, characters 2-93:
# 2418 | ..function
# 2419 |   | (Atom _, _) as sA -> (cPsi, whnfTyp sA)
# 2420 |   | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Sigma _|TClo _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Apxnorm.cmo -c -impl src/core/apxnorm.ml)
# File "src/core/apxnorm.ml", lines 44-49, characters 2-33:
# 44 | ..function
# 45 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m')
# 46 |   | Apx.LF.Root (loc, h , spine) ->
# 47 |      let h' = shiftApxHead k h in
# 48 |      let spine' = shiftApxSpine k spine in
# 49 |      Apx.LF.Root(loc, h', spine')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (LFHole (_, _)|Tuple (_, _)|Ann (_, _, _))
# 
# File "src/core/apxnorm.ml", lines 70-80, characters 2-35:
# 70 | ..function
# 71 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
# 72 |   | Apx.LF.Id -> Apx.LF.Id
# 73 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
# 74 |      let h' = shiftApxHead k h in
# ...
# 77 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
# 78 |      let m' = shiftApxTerm k m in
# 79 |      let s' = shiftApxSub k s in
# 80 |      Apx.LF.Dot (Apx.LF.Obj m', s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (SVar (_, _)|FSVar (_, _))
# 
# File "src/core/apxnorm.ml", lines 126-128, characters 4-49:
# 126 | ....match (l_delta, t) with
# 127 |     | (0, t) -> t
# 128 |     | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1, MShift _)
# 
# File "src/core/apxnorm.ml", lines 134-151, characters 6-36:
# 134 | ......match Substitution.LF.applyMSub offset t with
# 135 |       | Int.LF.MV u -> Apx.LF.Offset u
# 136 |       | Int.LF.ClObj (_, clobj) ->
# 137 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
# 138 |          dprintf
# ...
# 148 |            end;
# 149 |          let t' = drop t l_delta in
# 150 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
# 151 |          Apx.LF.MInst (clobj, mtyp')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|CObj _)
# 
# File "src/core/apxnorm.ml", lines 267-276, characters 7-10:
# 267 | .......begin match Substitution.LF.applyMSub offset t with
# 268 |        | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) ->
# 269 |           Apx.LF.CtxVar (Apx.LF.CtxOffset psi0)
# 270 |        | Int.LF.CObj Int.LF.Null ->
# 271 |           Apx.LF.Null
# 272 |        | Int.LF.CObj (Int.LF.DDec _) ->
# 273 |           raise (Error (loc, CtxOverGeneral))
# 274 |        (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *)
# 275 |        | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset')
# 276 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CObj (CtxVar (CtxName _|CInst _))
# 
# File "src/core/apxnorm.ml", lines 288-355, characters 2-27:
# 288 | ..match e with
# 289 |   | Apx.Comp.Fn (loc, f, e) ->
# 290 |      Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt)
# 291 |   | Apx.Comp.Fun (loc, fbr) ->
# 292 |      Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt)
# ...
# 352 | 
# 353 |   | Apx.Comp.Var _
# 354 |     | Apx.Comp.DataConst _
# 355 |     | Apx.Comp.Const _ -> e
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ann (_, _, _)
# 
# File "src/core/apxnorm.ml", lines 388-392, characters 4-63:
# 388 | ....function
# 389 |     | Apx.LF.Empty -> cD''
# 390 |     | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) ->
# 391 |        let cD1'' = append_mctx cD'' delta2' in
# 392 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity })
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (delta2', DeclOpt _)
# 
# File "src/core/apxnorm.ml", lines 421-431, characters 2-27:
# 421 | ..function
# 422 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
# 423 | 
# 424 |   | Apx.LF.Root (_, h, s) ->
# 425 |      let fMVs' = collectApxHead fMVs h in
# ...
# 428 |   | Apx.LF.Tuple (_, tuple) ->
# 429 |      collectApxTuple fMVs tuple
# 430 | 
# 431 |   | Apx.LF.LFHole _ -> fMVs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ann (_, _, _)
# 
# File "src/core/apxnorm.ml", line 502, characters 27-50:
# 502 | and collectApxTypDecl fMVs (Apx.LF.TypDecl (_, a))=
#                                  ^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/apxnorm.ml", lines 530-538, characters 2-44:
# 530 | ..function
# 531 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
# 532 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
# 533 |      let fMVs' = collectApxDCtx fMVs c_psi in
# 534 |      collectApxTyp fMVs' a
# 535 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
# 536 |      let fMVs' = collectApxDCtx fMVs c_psi in
# 537 |      collectApxDCtx fMVs' c_phi
# 538 |   | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt _
# 
# File "src/core/apxnorm.ml", lines 556-563, characters 2-31:
# 556 | ..function
# 557 |   | Apx.LF.Atom (loc, c, tS) ->
# 558 |      collectApxSpine fMVd tS
# 559 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) ->
# 560 |      let fMVd1 = collectApxTyp fMVd tA in
# 561 |      collectApxTyp fMVd1 tB
# 562 |   | Apx.LF.Sigma trec ->
# 563 |      collectApxTypRec fMVd trec
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/apxnorm.ml", lines 573-581, characters 2-45:
# 573 | ..function
# 574 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
# 575 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 576 |      collectApxDCtx fMVd1 cPhi
# 577 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
# 578 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
# 579 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 580 |      collectApxTyp fMVd1 tA
# 581 |   | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt _
# 
# File "src/core/apxnorm.ml", lines 584-603, characters 2-32:
# 584 | ..function
# 585 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
# 586 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
# 587 |      collectApxCompTyp fMVd1 tau2
# 588 |   | Apx.Comp.TypCross (_, taus) ->
# ...
# 600 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 601 |      collectApxDCtx fMVd1 cPhi
# 602 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
# 603 |      collectApxMetaSpine fMVd mS
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypBox (_, (_, CTyp _))
# 
# File "src/core/apxnorm.ml", lines 606-618, characters 2-32:
# 606 | ..function
# 607 |   | Apx.Comp.PatMetaObj (loc, mO) ->
# 608 |      collectApxMetaObj fMVd mO
# 609 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
# 610 |      collectApxPatSpine fMVd pat_spine
# ...
# 615 |      |> List.fold_left collectApxPattern fMVd
# 616 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
# 617 |      let fMVd1 = collectApxCompTyp fMVd tau in
# 618 |      collectApxPattern fMVd1 pat
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatFVar (_, _)
# 
# File "src/core/apxnorm.ml", lines 836-886, characters 2-33:
# 836 | ..function
# 837 |   | Apx.Comp.Fn (loc, f, e) ->
# 838 |      Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e)
# 839 | 
# 840 |   | Apx.Comp.Fun (loc, fbr) ->
# ...
# 883 | 
# 884 |   | Apx.Comp.Var _
# 885 |     | Apx.Comp.DataConst _
# 886 |     | Apx.Comp.Const _ as  i -> i
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ann (_, _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Abstract.cmo -c -impl src/core/abstract.ml)
# File "src/core/abstract.ml", lines 253-257, characters 4-47:
# 253 | ....function
# 254 |     | I.Atom _ -> (k, tS)
# 255 |     | I.PiTyp (_, tA') ->
# 256 |        let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in
# 257 |        etaExpSpine (k + 1) (I.App (tN, tS)) tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/abstract.ml", lines 260-263, characters 4-49:
# 260 | ....match tA with
# 261 |     | I.Atom _ -> tM
# 262 |     | I.PiTyp ((I.TypDecl (x, _), _, _), tA') ->
# 263 |        I.Lam (loc, x, etaExpPrefix loc (tM, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/abstract.ml", lines 267-269, characters 4-19:
# 267 | ....match h with
# 268 |     | I.BVar x -> I.BVar (x + k - 1)
# 269 |     | I.FVar _ -> h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/abstract.ml", lines 317-332, characters 2-17:
# 317 | ..function
# 318 |   | I.Empty -> I.Empty
# 319 | 
# 320 |   | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) ->
# 321 |      begin match raiseType cPsi tA with
# ...
# 329 |      I.Dec (ctxToCtx cQ', I.TypDecl (x, tA))
# 330 | 
# 331 |   | I.Dec (cQ', FDecl (_, Impure)) ->
# 332 |      ctxToCtx cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec
#   (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
# 
# File "src/core/abstract.ml", lines 336-355, characters 2-20:
# 336 | ..function
# 337 |   | I.Empty -> I.Empty
# 338 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
# 339 |      let plicity' = f plicity in
# 340 |      let cQ'' = ctxToMCtx f cQ' in
# ...
# 352 |   | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))->
# 353 |      Error.raise_violation "Free variables in computation-level reconstruction."
# 354 |   | I.Dec (cQ', FDecl (_, Impure)) ->
# 355 |      ctxToMCtx f cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 358-365, characters 2-76:
# 358 | ..function
# 359 |   | I.Empty -> I.Empty
# 360 |   | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) ->
# 361 |      let cQ'' = mctxToCtx cQ' in
# 362 |      I.Dec (cQ'', CtxV (x, w, plicity, inductivity))
# 363 |   | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) ->
# 364 |      let cQ'' = mctxToCtx cQ' in
# 365 |      I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cQ', DeclOpt _)
# 
# File "src/core/abstract.ml", lines 368-384, characters 2-32:
# 368 | ..function
# 369 |   | I.Empty -> I.Empty
# 370 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) ->
# 371 |      let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in
# 372 |      I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive })
# ...
# 381 |      I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity })
# 382 | 
# 383 |   | I.Dec (cQ', FDecl (_, Impure)) ->
# 384 |      ctxToMCtx_pattern names cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (FV _, Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 409-421, characters 2-35:
# 409 | ..function
# 410 |   | (I.Lam (loc, x, tM), s) ->
# 411 |      let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in
# 412 |      (cQ', I.Lam (loc, x, tM'))
# 413 |   | (I.Tuple (loc, tuple), s) ->
# ...
# 418 |      let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in
# 419 |      (cQ'', I.Root (loc, h', tS', plicity))
# 420 |   | (I.LFHole (loc, id, name), s) ->
# 421 |      (cQ, I.LFHole (loc, id, name))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _, _)
# 
# File "src/core/abstract.ml", lines 481-485, characters 7-49:
# 481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in
# 482 |        let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in
# 483 |        if !pat_flag
# 484 |        then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive)
# 485 |        else MetaTyp (mtyp', plicity, inductivity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, DeclOpt { _ })
# 
# File "src/core/abstract.ml", lines 512-517, characters 10-11:
# 512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) =
# 513 |             addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity))
# 514 |           in
# 515 |           ( cQ'
# 516 |           , I.{ v with typ; plicity; inductivity }
# 517 |           )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cQ', LFTyp _)
# 
# File "src/core/abstract.ml", lines 615-652, characters 2-26:
# 615 | ..function
# 616 |   | (I.BVar _ as head, _)
# 617 |     | (I.Const _ as head, _) -> (cQ, head)
# 618 | 
# 619 |   | (I.FVar name, _) ->
# ...
# 649 | 
# 650 |   | (I.Proj (head, j), s) ->
# 651 |      let (cQ', h') = collectHead k cQ phat loc (head, s) in
# 652 |      (cQ', I.Proj (h', j))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)
# 
# File "src/core/abstract.ml", lines 656-671, characters 2-27:
# 656 | ..function
# 657 |   | (I.Atom (loc, a, tS), s) ->
# 658 |      let (cQ', tS') = collectSpine p cQ phat (tS, s) in
# 659 |      (cQ', I.Atom (loc, a, tS'))
# 660 | 
# ...
# 668 | 
# 669 |   | (I.Sigma typRec, s) ->
# 670 |      let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in
# 671 |      (cQ', I.Sigma typRec')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 686-691, characters 2-66:
# 686 | ..function
# 687 |   | (I.Typ, _) -> (cQ, I.Typ)
# 688 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
# 689 |      let (cQ', tA') = collectTyp p cQ phat (tA, s) in
# 690 |      let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in
# 691 |      (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", line 759, characters 22-32:
# 759 | let collectCDecl p cQ (I.Decl d) =
#                             ^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/abstract.ml", lines 784-790, characters 2-8:
# 784 | ..function
# 785 |   | (I.Typ, _) -> I.Typ
# 786 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
# 787 |      I.PiKind
# 788 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
# 789 |        , abstractKind cQ (offset + 1) (tK, LF.dot1 s)
# 790 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 795-803, characters 2-8:
# 795 | ..function
# 796 |   | (I.Atom (loc, a, tS), s (* id *)) ->
# 797 |      I.Atom (loc, a, abstractSpine cQ offset (tS, s))
# 798 | 
# 799 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
# 800 |      I.PiTyp
# 801 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
# 802 |        , abstractTyp cQ (offset + 1) (tB, LF.dot1 s)
# 803 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 818-843, characters 2-8:
# 818 | ..function
# 819 |   | (I.Lam (loc, x, tM), s) ->
# 820 |      I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s))
# 821 | 
# 822 |   | ( I.(Root
# ...
# 840 |        , abstractHead cQ offset tH
# 841 |        , abstractSpine cQ offset (tS, s)
# 842 |        , plicity
# 843 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _)
# 
# File "src/core/abstract.ml", lines 846-851, characters 2-59:
# 846 | ..function
# 847 |   | I.BVar _ as tH -> tH
# 848 |   | I.Const _ as tH -> tH
# 849 |   | I.FVar n -> I.BVar (index_of cQ (FV n) + offset)
# 850 |   | I.AnnH _ ->
# 851 |      Error.raise_not_implemented "[abstractHead] AnnH case"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)|
# HMClo (_, _))
# 
# File "src/core/abstract.ml", lines 855-869, characters 2-85:
# 855 | ..match (s, cPsi) with
# 856 |   | (I.Shift _, I.Null) -> tS
# 857 |   | (I.Shift k, I.DDec _) ->
# 858 |      subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS
# 859 | 
# ...
# 866 |     (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *)
# 867 | 
# 868 |   | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) ->
# 869 |      subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Shift _, CtxVar _)
# 
# File "src/core/abstract.ml", lines 880-894, characters 2-48:
# 880 | ..function
# 881 |   | I.Empty -> I.Empty
# 882 |   | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ
# 883 |   | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) ->
# 884 |      let cQ' = abstractCtx cQ in
# ...
# 891 |   | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) ->
# 892 |      let cQ' = abstractCtx cQ in
# 893 |      let tA' = abstractTyp cQ 0 (tA, LF.id) in
# 894 |      I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA')))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec
#   (_,
#   FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
# 
# File "src/core/abstract.ml", lines 900-906, characters 2-39:
# 900 | ..match cPsi with
# 901 |   | I.Null -> I.Null
# 902 |   | I.CtxVar psi -> cPsi
# 903 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
# 904 |      let cPsi' = abstractDctx cQ cPsi (l - 1) in
# 905 |      let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in
# 906 |      I.DDec (cPsi', I.TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/abstract.ml", lines 930-940, characters 2-20:
# 930 | ..function
# 931 |   | (I.Atom (loc, a, tS), s (* id *)) ->
# 932 |      I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s))
# 933 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
# 934 |      I.PiTyp
# ...
# 937 |        )
# 938 |   | (I.Sigma typRec, s) ->
# 939 |      let typRec' = abstractMVarTypRec cQ offset (typRec, s) in
# 940 |      I.Sigma typRec'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 954-962, characters 2-29:
# 954 | ..function
# 955 |   | (I.Lam (loc, x, tM), s) ->
# 956 |      I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s))
# 957 |   | (I.Tuple (loc, tuple), s) ->
# 958 |      I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s))
# 959 |   | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) ->
# 960 |      I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity)
# 961 |   | (I.LFHole (loc, id, name), s) ->
# 962 |      I.LFHole (loc, id, name)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _, _)
# 
# File "src/core/abstract.ml", lines 1000-1036, characters 2-46:
# 1000 | ..function
# 1001 |   | I.BVar _ as mH -> mH
# 1002 |   | I.Const _ as mH -> mH
# 1003 | 
# 1004 |   | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns)
# ...
# 1033 |      Error.raise_not_implemented "[abstractMVarHead] AnnH case"
# 1034 | 
# 1035 |   | I.Proj (head, k) ->
# 1036 |      I.Proj (abstractMVarHead cQ loff head, k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (FVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/abstract.ml", lines 1091-1097, characters 2-39:
# 1091 | ..function
# 1092 |   | I.Null -> I.Null
# 1093 |   | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv)
# 1094 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
# 1095 |      let cPsi' = abstractMVarDctx cQ loff cPsi in
# 1096 |      let tA' = abstractMVarTyp cQ loff (tA, LF.id) in
# 1097 |      I.DDec (cPsi', I.TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/abstract.ml", line 1110, characters 30-40:
# 1110 | and abstractMVarCdecl cQ loff (I.Decl d) =
#                                      ^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/abstract.ml", lines 1121-1138, characters 2-58:
# 1121 | ..match cQ with
# 1122 |   | I.Empty -> I.Empty
# 1123 |   | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
# 1124 |      let cQ' = abstractMVarCtx cQ (l - 1) in
# 1125 |      I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity))))
# ...
# 1135 |       * is it ever hit on correct code?  -jd 2009-02-12
# 1136 |       * No. This case should not occur in correct code - bp
# 1137 |       *)
# 1138 |      raise (Error (Name.location name, UnknownIdentifier))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (MMV _, Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 1150-1154, characters 2-20:
# 1150 | ..function
# 1151 |   | I.ClObj (phat, tM) ->
# 1152 |      I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM)
# 1153 |   | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi)
# 1154 |   | I.MV k -> I.MV k
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MUndef
# 
# File "src/core/abstract.ml", lines 1167-1179, characters 4-21:
# 1167 | ....function
# 1168 |     | I.Empty -> I.Empty
# 1169 |     | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
# 1170 |        let cQ'' = ctxToMCtx' cQ' in
# 1171 |        I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity })
# ...
# 1176 |        let cQ'' = ctxToMCtx' cQ' in
# 1177 |        I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity })
# 1178 |     | I.Dec (cQ', FDecl (_, Impure)) ->
# 1179 |        ctxToMCtx' cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (FV _, Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 1208-1217, characters 2-8:
# 1208 | ..match cQ with
# 1209 |   | Int.LF.Empty -> (tA', 0)
# 1210 |   | Int.LF.Dec (_, FDecl (s, _)) ->
# 1211 |      let cQ' = abstractCtx cQ in
# 1212 |      let tA2 = abstractTyp cQ' 0 (tA', LF.id) in
# 1213 |      let cPsi = ctxToCtx cQ' in
# 1214 |      begin match raiseType' cPsi tA2 with
# 1215 |      | (None, tA3) -> (tA3, length' cPsi)
# 1216 |      | _ -> raise (Error (Location.ghost, LeftoverVars))
# 1217 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, CtxV _)
# 
# File "src/core/abstract.ml", lines 1246-1287, characters 2-28:
# 1246 | ..function
# 1247 |   | Comp.TypBase (loc, a, ms) ->
# 1248 |      let (cQ', ms') = collect_meta_spine p cQ ms in
# 1249 |      (cQ', Comp.TypBase (loc, a, ms'))
# 1250 |   | Comp.TypCobase (loc, a, ms) ->
# ...
# 1284 | 
# 1285 |   | Comp.TypInd tau ->
# 1286 |      let (cQ', tau') = collectCompTyp p cQ tau in
# 1287 |      (cQ', Comp.TypInd tau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDef (_, _, _)
# 
# File "src/core/abstract.ml", lines 1291-1296, characters 2-54:
# 1291 | ..function
# 1292 |   | I.Empty -> (cQ, I.Empty)
# 1293 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
# 1294 |      let (cQ1, cG') = collectGctx cQ cG in
# 1295 |      let (cQ2, tau') = collectCompTyp 0 cQ1 tau in
# 1296 |      (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/abstract.ml", lines 1463-1489, characters 2-52:
# 1463 | ..function
# 1464 |   | Comp.TypBase (loc, a, cS) ->
# 1465 |      let cS' = abstractMVarMetaSpine cQ offset cS in
# 1466 |      Comp.TypBase (loc, a, cS')
# 1467 |   | Comp.TypCobase (loc, a, cS) ->
# ...
# 1486 |        )
# 1487 | 
# 1488 |   | Comp.TypInd tau ->
# 1489 |      Comp.TypInd (abstractMVarCompTyp cQ offset tau)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _)|TypClo (_, _))
# 
# File "src/core/abstract.ml", lines 1492-1497, characters 2-47:
# 1492 | ..function
# 1493 |   | I.Empty -> I.Empty
# 1494 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
# 1495 |      let cG' = abstractMVarGctx cQ offset cG in
# 1496 |      let tau' = abstractMVarCompTyp cQ offset tau in
# 1497 |      I.Dec (cG', Comp.CTypDecl (x, tau', flag))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/abstract.ml", lines 1698-1700, characters 4-48:
# 1698 | ....match (p, cD) with
# 1699 |     | (0, _) -> cD
# 1700 |     | (_, I.Dec (cD', decl)) -> drop (p - 1) cD'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1, Empty)
# 
# File "src/core/abstract.ml", lines 1722-1724, characters 8-24:
# 1722 | ........let I.Dec (cD1', decl) = cD1 in
# 1723 |         let cD = subtract cD1' cD2 in
# 1724 |         I.Dec (cD, decl)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/abstract.ml", lines 1785-1789, characters 2-24:
# 1785 | ..function
# 1786 |   | I.Null -> cPsi1
# 1787 |   | I.DDec (cPsi2', dec) ->
# 1788 |      let cPsi1' = appDCtx cPsi1 cPsi2' in
# 1789 |      I.Dec (cPsi1', dec)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Unify.cmo -c -impl src/core/unify.ml)
# File "src/core/unify.ml", line 163, characters 30-55:
# 163 |   let genMMVarstr loc cD cPsi (Atom (_, a, _) as tP, s) =
#                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)
# 
# File "src/core/unify.ml", lines 575-585, characters 6-9:
# 575 | ......begin match applyMSub k ms with
# 576 |       | MUndef ->
# 577 |          (* Psi1, x:tA |- s' <= Psi2 *)
# 578 |          (Whnf.mcomp mt' (MShift 1), cD2)
# 579 | 
# ...
# 582 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
# 583 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
# 584 |          (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity }))
# 585 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 566-590, characters 4-38:
# 566 | ....match (t, cD1) with
# 567 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
# 568 | 
# 569 |    | (MShift k, Dec _) ->
# 570 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
# ...
# 587 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
# 588 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
# 589 |       (* cD1 |- mt' <= cD2 *)
# 590 |       (Whnf.mcomp mt' (MShift 1), cD2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MDot (MV k, mt), Dec (cD1, DeclOpt _))
# 
# File "src/core/unify.ml", lines 810-819, characters 7-10:
# 810 | .......begin match applyMSub u ms with
# 811 |        | MV v ->
# 812 |           Root
# 813 |             ( loc
# 814 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
# 815 |             , Nil
# 816 |             , plicity
# 817 |             )
# 818 |        | MUndef -> raise NotInvertible
# 819 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 822-830, characters 7-46:
# 822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
# 823 |        let d = Context.length cD0 - Context.length cD_d in
# 824 |        let cPsi1 =
# 825 |          if d = 0
# 826 |          then cPsi1
# 827 |          else Whnf.cnormDCtx (cPsi1, MShift d)
# 828 |        in
# 829 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
# 830 |        Root (loc, FMVar (u, s'), Nil, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=CTyp _; _ })
# 
# File "src/core/unify.ml", lines 833-841, characters 7-46:
# 833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in
# 834 |        let d = Context.length cD0 - Context.length cD_d in
# 835 |        let cPsi1 =
# 836 |          if d = 0
# 837 |          then cPsi1
# 838 |          else Whnf.cnormDCtx (cPsi1, MShift d)
# 839 |        in
# 840 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
# 841 |        Root (loc, FPVar (p, s'), Nil, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=CTyp _; _ })
# 
# File "src/core/unify.ml", lines 846-850, characters 7-10:
# 846 | .......begin match applyMSub p ms with
# 847 |        | MV q ->
# 848 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
# 849 |        | MUndef -> raise NotInvertible
# 850 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 747-862, characters 4-62:
# 747 | ....match sM with
# 748 |     | (Lam (loc, x, tM), s) ->
# 749 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
# 750 | 
# 751 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
# ...
# 859 |          )
# 860 | 
# 861 |     | (Tuple (loc, trec), s) ->
# 862 |        Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((LFHole (_, _, _)|Clo _), _)
# 
# File "src/core/unify.ml", lines 888-891, characters 7-10:
# 888 | .......begin match bvarSub k ssubst with
# 889 |        | Undef -> raise NotInvertible
# 890 |        | Head (BVar k') -> BVar k'
# 891 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 894-897, characters 7-10:
# 894 | .......begin match bvarSub k ssubst with
# 895 |        | Head (BVar _ as head) -> head
# 896 |        | Undef -> raise NotInvertible
# 897 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 932-936, characters 7-10:
# 932 | .......begin match applyMSub u ms with
# 933 |        | MV v ->
# 934 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
# 935 |        | MUndef -> raise NotInvertible
# 936 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 940-944, characters 7-10:
# 940 | .......begin match applyMSub p ms with
# 941 |        | MV q ->
# 942 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
# 943 |        | MUndef -> raise NotInvertible
# 944 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 948-952, characters 7-10:
# 948 | .......begin match applyMSub p ms with
# 949 |        | MV q ->
# 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
# 951 |        | MUndef -> raise NotInvertible
# 952 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 886-952, characters 4-10:
# 886 | ....match head with
# 887 |     | BVar k ->
# 888 |        begin match bvarSub k ssubst with
# 889 |        | Undef -> raise NotInvertible
# 890 |        | Head (BVar k') -> BVar k'
# ...
# 949 |        | MV q ->
# 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
# 951 |        | MUndef -> raise NotInvertible
# 952 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Proj
#   ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#    FPVar _|HClo (_, _, _)|HMClo (_, _)),
#   _)
# 
# File "src/core/unify.ml", lines 956-959, characters 4-46:
# 956 | ....function
# 957 |     | Undefs -> raise (Failure "Variable dependency")
# 958 |     | Shift k -> Shift (n + k)
# 959 |     | Dot (ft, ss') -> shiftInvSub (n - 1) ss'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/unify.ml", lines 981-985, characters 9-40:
# 981 | .........match applyMSub s ms with
# 982 |          | MV v ->
# 983 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
# 984 |             (v, cPhi, cPsi')
# 985 |          | MUndef -> raise NotInvertible
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1024-1030, characters 7-10:
# 1024 | .......begin match applyMSub s ms with
# 1025 |        | MV v ->
# 1026 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
# 1027 |           (* applyMSub to ctx_offset ? *)
# 1028 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
# 1029 |        | MUndef -> raise NotInvertible
# 1030 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1033-1034, characters 7-64:
# 1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in
# 1034 |        FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=ClTyp (STyp (Ren, _), _); _ })
# 
# File "src/core/unify.ml", lines 1063-1069, characters 4-74:
# 1063 | ....match (mt, cD1) with
# 1064 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
# 1065 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) ->
# 1066 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
# 1067 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
# 1068 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
# 1069 |        MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MDot (mobj, mt'), Empty)
# 
# File "src/core/unify.ml", lines 1072-1080, characters 4-90:
# 1072 | ....match mobj with
# 1073 |     | MV n ->
# 1074 |        begin match applyMSub n ms with
# 1075 |        | MUndef -> raise NotInvertible
# 1076 |        | ft -> ft
# 1077 |        end
# 1078 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
# 1079 |     | CObj cPsi -> Error.raise_violation "Not implemented"
# 1080 |     | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/unify.ml", lines 1152-1154, characters 7-80:
# 1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
# 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
# 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Shift 1
# 
# File "src/core/unify.ml", lines 1124-1154, characters 4-80:
# 1124 | ....match sM with
# 1125 |     | (LFHole _ as n, _) -> n
# 1126 |     | (Lam (loc, x, tM), s) ->
# 1127 |        dprintf
# 1128 |          begin fun p ->
# ...
# 1151 |     | (Root (loc, head, tS, plicity), s) ->
# 1152 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
# 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
# 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _, _)
# 
# File "src/core/unify.ml", lines 1173-1184, characters 4-9:
# 1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
# 1174 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
# 1175 |     then raise (Failure "Variable occurrence")
# 1176 |     else
# 1177 |       begin
# ...
# 1181 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
# 1182 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
# 1183 |         ((v, mr), r)
# 1184 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1187-1199, characters 4-37:
# 1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
# 1188 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
# 1189 |     then raise (Failure "Variable occurrence")
# 1190 |     else
# 1191 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
# ...
# 1196 |         , Root (loc, MVar (v, idsub), Nil, Plicity.explicit)
# 1197 |         , mmvar.constraints.contents
# 1198 |         );
# 1199 |       (v, comp (comp idsub t) ssubst)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 1202-1211, characters 3-10:
# 1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
# 1203 |    let d = Context.length cD0 - Context.length cD_d in
# 1204 |    let cPsi1 =
# 1205 |      if d = 0
# 1206 |      then cPsi1
# 1207 |      else Whnf.cnormDCtx (cPsi1, MShift d)
# 1208 |    in
# 1209 |    let t' = simplifySub cD0 cPsi t in
# 1210 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
# 1211 |    (u, s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=CTyp _; _ })
# 
# File "src/core/unify.ml", lines 1216-1219, characters 7-14:
# 1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
# 1217 |        let t' = simplifySub cD0 cPsi t in
# 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
# 1219 |        (v, s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, CTyp _)
# 
# File "src/core/unify.ml", lines 1214-1220, characters 4-63:
# 1214 | ....match applyMSub u ms with
# 1215 |     | MV v ->
# 1216 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
# 1217 |        let t' = simplifySub cD0 cPsi t in
# 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
# 1219 |        (v, s')
# 1220 |     | MUndef -> raise (Failure "[Prune] Bound MVar dependency")
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1246-1254, characters 7-10:
# 1246 | .......begin match bvarSub k ssubst with
# 1247 |        | Undef ->
# 1248 |           let s =
# 1249 |             Format.asprintf "[Prune] Bound variable dependency : head = %a"
# 1250 |               (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head
# 1251 |           in
# 1252 |           raise (Failure s)
# 1253 |        | Head (BVar _ as h') -> h'
# 1254 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1223-1258, characters 4-11:
# 1223 | ....match head with
# 1224 |     | MMVar ((i, mt), t) ->
# 1225 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
# 1226 |     | MVar (Inst i, t) ->
# 1227 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
# ...
# 1255 | 
# 1256 |     | Const _
# 1257 |       | FVar _ ->
# 1258 |        head
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (AnnH (_, _)|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1293-1317, characters 4-57:
# 1293 | ....match (s, cPsi1) with
# 1294 |     | (EmptySub, Null) -> EmptySub
# 1295 |     | (Undefs, Null) -> EmptySub
# 1296 |     | (Shift n, DDec _) ->
# 1297 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
# ...
# 1314 | 
# 1315 |     | (Dot _, _)
# 1316 |       | (EmptySub, _)
# 1317 |       -> Error.raise_violation "Badly typed substitution"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undefs, (CtxVar _|DDec (_, _)))
# 
# File "src/core/unify.ml", lines 1321-1323, characters 4-70:
# 1321 | ....match ft with
# 1322 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
# 1323 |     | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/unify.ml", lines 1354-1357, characters 9-59:
# 1354 | .........function
# 1355 |          | Undefs -> (EmptySub, Null)
# 1356 |          | Shift k -> (id, CtxVar psi)
# 1357 |          | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/unify.ml", lines 1370-1374, characters 9-40:
# 1370 | .........match applyMSub s mt with
# 1371 |          | MV v ->
# 1372 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
# 1373 |             cPsi'
# 1374 |          | MUndef -> raise NotInvertible
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1387-1390, characters 7-18:
# 1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
# 1388 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
# 1389 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
# 1390 |        (id, cPsi1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|PTyp _), _)
# 
# File "src/core/unify.ml", lines 1398-1400, characters 7-18:
# 1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in
# 1399 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
# 1400 |        (id, cPsi1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
# 
# File "src/core/unify.ml", lines 1407-1426, characters 7-10:
# 1407 | .......begin match bvarSub n ssubst with
# 1408 |        | Undef ->
# 1409 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
# 1410 |           (comp s1' shift, cPsi1')
# 1411 | 
# ...
# 1423 |           in
# 1424 |           (* cPsi1' |- s1_i <= cPsi' *)
# 1425 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
# 1426 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1431-1448, characters 7-10:
# 1431 | .......begin match bvarSub n ssubst with
# 1432 |        | Undef ->
# 1433 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
# 1434 |           (comp s1' shift, cPsi1')
# 1435 | 
# ...
# 1445 |           in
# 1446 |           (* cPsi1' |- s1_i <= cPsi' *)
# 1447 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
# 1448 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1343-1471, characters 4-31:
# 1343 | ....match (s, cPsi1) with
# 1344 |     | (Shift n, DDec _) ->
# 1345 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
# 1346 |     | (Shift _, Null)
# 1347 |       | (EmptySub, Null)
# ...
# 1468 | 
# 1469 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
# 1470 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
# 1471 |        (comp s1' shift, cPsi1')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub, (CtxVar _|DDec (_, _)))
# 
# File "src/core/unify.ml", lines 1474-1487, characters 4-21:
# 1474 | ....match sA with
# 1475 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
# 1476 |     | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) ->
# 1477 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
# 1478 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
# ...
# 1484 | 
# 1485 |     | (Sigma typ_rec, s) ->
# 1486 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
# 1487 |        Sigma typ_rec'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TClo _, _)
# 
# File "src/core/unify.ml", lines 1504-1507, characters 7-10:
# 1504 | .......begin match applyMSub psi ms with
# 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
# 1506 |        | MV k -> CtxVar (CtxOffset k)
# 1507 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|ClObj (_, _))
# 
# File "src/core/unify.ml", lines 1510-1514, characters 7-10:
# 1510 | .......begin match mmvar.instantiation.contents with
# 1511 |        | None -> cPsi
# 1512 |        | Some (ICtx cPhi) ->
# 1513 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
# 1514 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/unify.ml", lines 1501-1529, characters 4-37:
# 1501 | ....match cPsi with
# 1502 |     | Null -> Null
# 1503 |     | CtxVar (CtxOffset psi) ->
# 1504 |        begin match applyMSub psi ms with
# 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
# ...
# 1526 |            (ms, Substitution.LF.id)
# 1527 |            rOccur
# 1528 |        in
# 1529 |        DDec (cPsi', TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/unify.ml", lines 1574-1583, characters 7-10:
# 1574 | .......begin match bvarSub k ssubst with
# 1575 |        | Undef ->
# 1576 |           (* Psi1, x:tA |- s' <= Psi2 *)
# 1577 |           (comp s' shift, cPsi2)
# 1578 | 
# 1579 |        | Head (BVar _) ->
# 1580 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
# 1581 |                   A = [s']([s']^-1 A) *)
# 1582 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
# 1583 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1590-1599, characters 7-10:
# 1590 | .......begin match bvarSub k ssubst with
# 1591 |        | Undef ->
# 1592 |           (* Psi1, x:tA |- s' <= Psi2 *)
# 1593 |           (comp s' shift, cPsi2)
# 1594 | 
# 1595 |        | Head (BVar _) ->
# 1596 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
# 1597 |                   A = [s']([s']^-1 A) *)
# 1598 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
# 1599 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1551-1604, characters 4-29:
# 1551 | ....match (t, cPsi1) with
# 1552 |     | (EmptySub, Null)
# 1553 |       | (Undefs, Null)
# 1554 |       | (Shift _, Null) ->
# 1555 |        (id, Null)
# ...
# 1601 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
# 1602 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
# 1603 |        (* sP1 |- s' <= cPsi2 *)
# 1604 |        (comp s' shift, cPsi2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub, (CtxVar _|DDec (_, _)))
# 
# File "src/core/unify.ml", lines 1646-1651, characters 4-56:
# 1646 | ....match (sTup1, sTup2) with
# 1647 |     | ((Last tM, s1), (Last tN, s2)) ->
# 1648 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
# 1649 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
# 1650 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
# 1651 |         unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Last tM, s1), (Cons (_, _), _))
# 
# File "src/core/unify.ml", lines 1654-1680, characters 4-9:
# 1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1655 |     if isId t1'
# 1656 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
# 1657 |     else
# 1658 |       begin
# ...
# 1677 |            (* This might actually need to add a constraint, in which case
# 1678 |            "NotInvertible" seems the wrong kind of exception... *)
# 1679 |            Error.raise_violation "Unification violation"
# 1680 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1694-1705, characters 9-35:
# 1694 | .........match Whnf.whnfTyp sA with
# 1695 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
# 1696 |             (* cPsi' |- Pi x:A.B <= typ
# 1697 |                cPsi  |- s <= cPsi'
# 1698 |                cPsi  |- tN <= [s]tA
# ...
# 1702 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
# 1703 |             LF.App (tN, tS)
# 1704 | 
# 1705 |          | (LF.Atom _, _) -> LF.Nil
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/unify.ml", lines 1683-1710, characters 4-15:
# 1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1684 |     match sM2 with
# 1685 |     | Root (loc, Const c, _, plicity) ->
# 1686 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
# 1687 |        dprintf
# ...
# 1707 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
# 1708 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
# 1709 |        Some tM1
# 1710 |     | _ -> None
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1716-1729, characters 6-32:
# 1716 | ......match Whnf.whnfTyp sA with
# 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
# 1718 |          (* cPsi' |- Pi x:A.B <= typ
# 1719 |             cPsi  |- s <= cPsi'
# 1720 |             cPsi  |- tN <= [s]tA
# ...
# 1726 |          in
# 1727 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
# 1728 |          LF.App (tN, tS)
# 1729 |       | (LF.Atom _, _) -> LF.Nil
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/unify.ml", lines 1714-1762, characters 4-15:
# 1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
# 1715 |     let rec genSpine cD1 cPsi1 sA =
# 1716 |       match Whnf.whnfTyp sA with
# 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
# 1718 |          (* cPsi' |- Pi x:A.B <= typ
# ...
# 1759 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
# 1760 |        Some tM1
# 1761 | 
# 1762 |     | _ -> None
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 1766-1769, characters 4-79:
# 1766 | ....match tm with
# 1767 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
# 1768 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
# 1769 |     | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ISub s, (MTyp _|PTyp _))
# 
# File "src/core/unify.ml", lines 1772-1796, characters 4-9:
# 1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
# 1773 |     if isId t1' && isMId mt1
# 1774 |     then
# 1775 |       begin
# 1776 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
# ...
# 1793 |         (* with | NotInvertible -> Error.raise_violation "Unification violation" *)
# 1794 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
# 1795 |            the wrong kind of exception... *)
# 1796 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1810-1882, characters 4-76:
# 1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1811 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
# 1812 |     (* cD |- mtt1 : cD0 and  cD ; cPsi |- t1' : cPsi1 *)
# 1813 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
# 1814 |     let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *)
# ...
# 1879 |       p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a"
# 1880 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
# 1881 |       end;
# 1882 |     instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1885-1918, characters 4-102:
# 1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
# 1886 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
# 1887 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
# 1888 |          then cD ; cPsi1 |- s' <= cPsi' *)
# 1889 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
# ...
# 1915 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
# 1916 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
# 1917 |      *)
# 1918 |     instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1934-1975, characters 7-12:
# 1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
# 1935 |        dprnt "(000) MVar-MVar";
# 1936 |        (* by invariant of whnf:
# 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
# 1938 |           r1 and r2 are uninstantiated  (None)
# ...
# 1972 |          begin
# 1973 |            let id = next_constraint_id () in
# 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
# 1975 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 1933-1975, characters 7-12:
# 1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
# 1934 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
# 1935 |        dprnt "(000) MVar-MVar";
# 1936 |        (* by invariant of whnf:
# 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
# ...
# 1972 |          begin
# 1973 |            let id = next_constraint_id () in
# 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
# 1975 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 2439-2452, characters 4-52:
# 2439 | ....match (spine1, spine2) with
# 2440 |     | ((Nil, _), (Nil, _)) -> ()
# 2441 | 
# 2442 |     | ((SClo (tS1, s1'), s1), sS) ->
# 2443 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
# ...
# 2449 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
# 2450 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
# 2451 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
# 2452 |        unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Nil, _), (App (_, _), _))
# 
# File "src/core/unify.ml", lines 2659-2710, characters 7-61:
# 2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
# 2660 |        if mmvar1.instantiation == mmvar2.instantiation
# 2661 |        then
# 2662 |          if Option.equal Id.cid_schema_equal schema1 schema2
# 2663 |          then
# ...
# 2707 |          Error.raise_violation
# 2708 |            "Case where both meta-substitutions associated with \
# 2709 |             context variables are not pattern substitutions \
# 2710 |             should not happen and is not implemented for now"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CTyp schema1, ClTyp (_, _))
# 
# File "src/core/unify.ml", lines 2714-2747, characters 7-61:
# 2714 | .......let CTyp s_cid = mmvar.typ in
# 2715 |        if isPatMSub theta
# 2716 |        then
# 2717 |          begin
# 2718 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
# ...
# 2744 |          Error.raise_violation
# 2745 |            "Case where both meta-substitutions associated with \
# 2746 |             context variables are not pattern substitutions \
# 2747 |             should not happen and is not implemented for now"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (_, _)
# 
# File "src/core/unify.ml", lines 2785-2786, characters 4-43:
# 2785 | ....let Decl { typ = cT; _ } = cdecl in
# 2786 |     unifyMObj cD (mO, t) (mO', t') (cT, mt)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/unify.ml", lines 2820-2832, characters 7-53:
# 2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in
# 2821 |        let mOt = Whnf.cnormMetaObj (mO, t) in
# 2822 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
# 2823 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
# 2824 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
# ...
# 2829 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
# 2830 |          end;
# 2831 |        unifyMetaTyp cD (mT, t) (mT', t');
# 2832 |        unifyMetaSpine cD (mS, t) (mS', t') (cK', mt')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ctype _
# 
# File "src/core/unify.ml", lines 2837-2840, characters 4-81:
# 2837 | ....function
# 2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MTyp tA1, (PTyp _|STyp (_, _)))
# 
# File "src/core/unify.ml", line 2836, characters 17-28:
# 2836 |   and unifyClTyp Unification cD cPsi =
#                         ^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Matching
# 
# File "src/core/unify.ml", line 2842, characters 18-29:
# 2842 |   and unifyCLFTyp Unification cD ctyp1 ctyp2 =
#                          ^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Matching
# 
# File "src/core/unify.ml", lines 2938-2941, characters 4-62:
# 2938 | ....match (itM1, itM2) with
# 2939 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
# 2940 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
# 2941 |     | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (INorm tM1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/unify.ml", lines 2950-2962, characters 7-10:
# 2950 | .......begin match !cnstr with
# 2951 |        | Queued id ->
# 2952 |           forceCnstr mflag (nextCnstr ())
# 2953 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
# 2954 |           solveConstraint cnstr;
# ...
# 2959 |           solveConstraint cnstr;
# 2960 |           unifyHead mflag cD cPsi h1 h2;
# 2961 |           forceCnstr mflag (nextCnstr ())
# 2962 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/unify.ml", lines 2994-3029, characters 7-100:
# 2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
# 2995 |        solveConstraint c;
# 2996 |        dprintf
# 2997 |          begin fun p ->
# 2998 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
# ...
# 3026 |         *)
# 3027 |        if solvedCnstrs (!globalCnstrs)
# 3028 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
# 3029 |        else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated"))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Queued _
# 
# File "src/core/unify.ml", lines 3202-3204, characters 8-68:
# 3202 | ........match (m1, m2) with
# 3203 |         | (MObj tM1, MObj tM2) ->  unify Empty cPsi (tM1, id) (tM2,id)
# 3204 |         | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MObj tM1, (PObj _|SObj _))
# 
# File "src/core/unify.ml", lines 3208-3217, characters 4-49:
# 3208 | ....match (m1, m2) with
# 3209 |     | (CObj cPsi, CObj cPhi) ->
# 3210 |        unifyDCtx1
# 3211 |          Unification
# 3212 |          Empty
# 3213 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
# 3214 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
# 3215 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
# 3216 |        (* unify_phat phat1 phat2; *)
# 3217 |        unifyClObj (Context.hatToDCtx phat1) m1 m2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CObj cPsi, (MUndef|ClObj (_, _)|MV _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Opsem.cmo -c -impl src/core/opsem.ml)
# File "src/core/opsem.ml", lines 80-83, characters 2-30:
# 80 | ..match cM' with
# 81 |   | LF.ClObj (phat, LF.MObj tM) -> (loc, cM')
# 82 |   | LF.ClObj (phat, LF.PObj h) -> (loc, cM')
# 83 |   | LF.CObj cPsi -> (loc, cM')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/opsem.ml", lines 121-137, characters 7-17:
# 121 | .......function
# 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
# 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
# 124 |             when Id.cid_comp_dest_equal cid cid' ->
# 125 |           Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *)
# ...
# 134 |           | Value v -> Value v
# 135 |           end
# 136 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) ->
# 137 |           trim br
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _)
# 
# File "src/core/opsem.ml", lines 119-142, characters 5-8:
# 119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in
# 120 |      let rec trim =
# 121 |        function
# 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
# 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
# ...
# 139 |      begin match trim fbr with
# 140 |      | FunBranch fr -> Comp.FunValue fr
# 141 |      | Value v -> v
# 142 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)|
# CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)|
# TupleValue (T (_, _, _)))
# 
# File "src/core/opsem.ml", lines 91-290, characters 2-50:
#  91 | ..match i with
#  92 |   | Comp.Const (_, cid) ->
#  93 |      dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid);
#  94 |      begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with
#  95 |      | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) ->
# ...
# 287 |      eval_branches loc vscrut branches (theta, eta)
# 288 | 
# 289 |   | Comp.Hole (_) ->
# 290 |      Error.raise_violation "Source contains holes"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MApp (_, _, (_, ClObj (_, SObj _)), _, _)
# 
# File "src/core/opsem.ml", lines 321-325, characters 2-36:
# 321 | ..match (cObj, cObj') with
# 322 |   | (LF.MObj tM, LF.MObj tM') ->
# 323 |      Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id)
# 324 |   | (LF.PObj h, LF.PObj h') ->
# 325 |      Unify.unifyH LF.Empty phat h h'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MObj tM, (PObj _|SObj _))
# 
# File "src/core/opsem.ml", lines 437-458, characters 4-10:
# 437 | ....function
# 438 |     | Comp.NilValBranch -> FunBranch (Comp.NilValBranch)
# 439 |     | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) ->
# 440 |        begin try
# 441 |            let eta' = match_pattern (v, eta) (p, theta) in
# ...
# 455 |                eval_branch brs
# 456 |             | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg);
# 457 |                                     eval_branch brs)
# 458 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Interactive.cmo -c -impl src/core/interactive.ml)
# File "src/core/interactive.ml", lines 202-213, characters 10-26:
# 202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
# 203 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
# 204 |           let k = List.length cD_tail in
# 205 |           let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in
# 206 |           let cg' =
# ...
# 210 |               , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id)
# 211 |               )
# 212 |           in
# 213 |           (cD'', cg', ms0)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/interactive.ml", line 183, characters 18-73:
# 183 | let genCGoals cD' (LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail =
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfcheck.cmo -c -impl src/core/lfcheck.ml)
# File "src/core/lfcheck.ml", lines 225-230, characters 2-19:
# 225 | ..function
# 226 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
# 227 |   | DDec (cPsi', TypDecl (n, tA)) ->
# 228 |      let s = (ctxToSub' cPhi cPsi' : sub) in
# 229 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
# 230 |      Dot (Obj u, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi', TypDeclOpt _)
# 
# File "src/core/lfcheck.ml", lines 246-330, characters 2-55:
# 246 | ..match (sM, sA) with
# 247 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *)
# 248 |      check cD
# 249 |        (DDec (cPsi, S.LF.decSub tX s2))
# 250 |        (tM, S.LF.dot1 s1)
# ...
# 327 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
# 328 |      end
# 329 |   | ((Root (loc, _, _, _), _ (* id *)), _ ) ->
# 330 |      raise (Error (loc, CheckError (cD, cPsi, sM, sA)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Clo _, _), _)
# 
# File "src/core/lfcheck.ml", lines 361-370, characters 4-23:
# 361 | ....match (tS, sA) with
# 362 |     | ((Nil, _), sP) -> sP
# 363 | 
# 364 |     | ((SClo (tS, s'), s), sA) ->
# 365 |        syn (tS, S.LF.comp s' s) sA
# 366 | 
# 367 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) ->
# 368 |        check cD cPsi (tM, s1) (tA1, s2);
# 369 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
# 370 |        syn (tS, s1) tB2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfcheck.ml", line 346, characters 16-50:
# 346 | and syn cD cPsi (Root (loc, h, tS, _), s (* id *)) =
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 393-394, characters 5-7:
# 393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
# 394 |      tA
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfcheck.ml", lines 400-409, characters 10-25:
# 400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
# 401 |           dprintf
# 402 |             begin fun p ->
# 403 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
# 404 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
# 405 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
# 406 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
# 407 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
# 408 |             end;
# 409 |           (recA, S.LF.id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfcheck.ml", lines 411-413, characters 10-19:
# 411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
# 412 |           checkSub loc cD cPsi s Subst cPsi';
# 413 |           (recA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 398-414, characters 7-64:
# 398 | .......match tuple_head with
# 399 |        | BVar k' ->
# 400 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
# 401 |           dprintf
# 402 |             begin fun p ->
# ...
# 411 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
# 412 |           checkSub loc cD cPsi s Subst cPsi';
# 413 |           (recA, s)
# 414 |        | FPVar (name, _) -> raise (Error (loc, LeftoverFV name))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
# HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfcheck.ml", lines 446-457, characters 5-17:
# 446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
# 447 |      dprintf
# 448 |        begin fun p ->
# 449 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
# 450 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
# ...
# 454 |          f cPsi'
# 455 |        end;
# 456 |      checkSub loc cD cPsi s Subst cPsi' ;
# 457 |      TClo (tA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 461-474, characters 5-37:
# 461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
# 462 |      dprintf
# 463 |        begin fun p ->
# 464 |        let f = P.fmt_ppr_lf_mctx P.l0 in
# 465 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
# ...
# 471 |      checkMSub loc cD t' mmvar.cD;
# 472 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
# 473 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
# 474 |      TClo (Whnf.cnormTyp (tA, t'), r)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 391-506, characters 2-41:
# 391 | ..match (head, cl) with
# 392 |   | (BVar k', _) ->
# 393 |      let TypDecl (_, tA) = ctxDec cPsi k' in
# 394 |      tA
# 395 | 
# ...
# 503 |      TClo (tA, s)
# 504 | 
# 505 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
# 506 |      raise (Error (loc, LeftoverFV name))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MVar (Inst _, _), Subst)
# (However, some guarded clause may match this value.)
# 
# File "src/core/lfcheck.ml", lines 509-528, characters 2-13:
# 509 | ..match cPsi with
# 510 |   | Null -> true (* we need to succeed because coverage should detect that
# 511 |                       it is not inhabited *)
# 512 | 
# 513 |   | CtxVar ctx_var ->
# ...
# 525 | 
# 526 |   | DDec (rest, TypDecl _) ->
# 527 |      canAppear cD rest head sA loc
# 528 |      || false...........................................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (rest, TypDeclOpt _)
# 
# File "src/core/lfcheck.ml", lines 643-655, characters 2-23:
# 643 | ..match sS1, sK with
# 644 |   | (Nil, _), sK ->
# 645 |     sK
# 646 | 
# 647 |   | (SClo (tS, s'), s), sK ->
# ...
# 652 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
# 653 | 
# 654 |   | (App _, _), (Typ, _) ->
# 655 |     raise SpineMismatch
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfcheck.ml", lines 664-681, characters 2-47:
# 664 | ..match tA with
# 665 |   | Atom (loc, a, tS) ->
# 666 |      let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
# 667 |      begin
# 668 |        try
# ...
# 678 |      checkTyp cD cPsi (tA, s);
# 679 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
# 680 | 
# 681 |   | Sigma arec -> checkTypRec cD cPsi (arec, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfcheck.ml", lines 710-714, characters 2-53:
# 710 | ..function
# 711 |   | Typ -> ()
# 712 |   | PiKind ((TypDecl (x, tA), _, _), kind) ->
# 713 |      checkTyp cD cPsi (tA, S.LF.id);
# 714 |      checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfcheck.ml", lines 724-725, characters 2-47:
# 724 | ..match decl with
# 725 |   | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfcheck.ml", lines 734-754, characters 2-7:
# 734 | ..match cPsi with
# 735 |   | Null -> ()
# 736 |   | DDec (cPsi, tX) ->
# 737 |      checkDCtx cD cPsi;
# 738 |      checkDec cD cPsi (tX, S.LF.id)
# ...
# 751 |          (P.fmt_ppr_lf_mctx P.l0) cD
# 752 |        end;
# 753 |      ignore (Whnf.mctxLookup cD k);
# 754 |      ()
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/lfcheck.ml", lines 962-963, characters 5-47:
# 962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
# 963 |      checkSchema loc cD cPhi schema_name schema
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57:
# 1019 | ..match (sArec, sBrec) with
# 1020 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
# 1021 |      None
# 1022 | 
# 1023 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
# 1024 |      Some (recA, s)
# 1025 | 
# 1026 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
# 1027 |      elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((SigmaLast (_, _), _), (SigmaElem (_, _, _), _))
# 
# File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69:
# 1075 | ..match (cM, cTt) with
# 1076 |   | (CObj cPsi, (CTyp (Some w), _)) ->
# 1077 |      let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in
# 1078 |      checkSchema loc cD cPsi name schema
# 1079 | 
# ...
# 1098 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
# 1099 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
# 1100 |      if Bool.not (Whnf.convMTyp mtyp1 mtyp2)
# 1101 |      then Error.raise_violation ("Contextual substitution ill-typed")
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CObj cPsi, (CTyp None, _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Total.cmo -c -impl src/core/total.ml)
# File "src/core/total.ml", lines 31-45, characters 6-9:
# 31 | ......begin match (x, args) with
# 32 |       | (_, []) ->
# 33 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
# 34 |       | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) ->
# 35 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@"
# ...
# 42 | 
# 43 |       | (Comp.V _, _) ->
# 44 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration."
# 45 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (M (_, _), (E|DC)::_)
# 
# File "src/core/total.ml", lines 138-141, characters 2-56:
# 138 | ..function
# 139 |   | LF.Empty -> LF.Empty
# 140 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
# 141 |      LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/total.ml", lines 155-157, characters 2-40:
# 155 | ..function
# 156 |   | None -> " _ "
# 157 |   | Some (Comp.Arg x) -> string_of_int x
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (Lex _|Simul _)
# 
# File "src/core/total.ml", line 249, characters 30-37:
# 249 |        let xs = List.map (fun (Arg x) -> x) xs in
#                                     ^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lex _|Simul _)
# 
# File "src/core/total.ml", lines 245-258, characters 4-41:
# 245 | ....match dec.order with
# 246 |     | `inductive (Arg x) ->
# 247 |        (dec.name, Some [x], (tau, Whnf.m_id))
# 248 |     | `inductive (Lex xs) ->
# 249 |        let xs = List.map (fun (Arg x) -> x) xs in
# ...
# 255 |     | `not_recursive
# 256 |       | `trust
# 257 |       | `partial ->
# 258 |        (dec.name, None, (tau, Whnf.m_id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# `inductive (Simul _)
# 
# File "src/core/total.ml", line 331, characters 19-54:
# 331 | let gen_var loc cD (LF.Decl { name = x; typ = cU; _ }) =
#                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/total.ml", lines 404-413, characters 2-31:
# 404 | ..function
# 405 |   | [] -> []
# 406 |   | Comp.M (cM, cU) :: args ->
# 407 |      if uninstantiated_arg cM
# 408 |      then Comp.DC :: generalize args
# 409 |      else Comp.M (cM, cU) :: generalize args
# 410 |   | Comp.V x :: args ->
# 411 |      Comp.V x :: generalize args
# 412 |   | Comp.DC :: args ->
# 413 |      Comp.DC :: generalize args
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# E::_
# 
# File "src/core/total.ml", line 445, characters 19-25:
# 445 |   let existsElem b (1, n) (LF.SchElem (some_part, block_part))  =
#                          ^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (0, _)
# 
# File "src/core/total.ml", lines 509-511, characters 6-47:
# 509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in
# 510 |       (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id);
# 511 |        gen_meta_obj (k, Substitution.LF.id) cU)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/total.ml", lines 544-592, characters 2-30:
# 544 | ..function
# 545 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
# 546 |   | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) ->
# 547 |      let cU0 = Whnf.cnormMTyp (cU', theta) in
# 548 |          begin
# ...
# 589 | 
# 590 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
# 591 |      let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in
# 592 |      (Comp.DC :: spine, tau_r)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (2,
# ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
#  TypCross (_, _)|TypClo (_, _)|TypInd _),
# _))
# 
# File "src/core/total.ml", lines 595-619, characters 2-30:
# 595 | ..function
# 596 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
# 597 | 
# 598 |   | (1, (Comp.TypPiBox _, _)) ->
# 599 |      raise Not_compatible (* Error *)
# ...
# 616 | 
# 617 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
# 618 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
# 619 |      (Comp.DC :: spine, tau_r)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1,
# ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
#  TypCross (_, _)|TypClo (_, _)|TypInd _),
# _))
# 
# File "src/core/total.ml", lines 622-713, characters 2-43:
# 622 | ..match cD' with
# 623 |   | LF.Empty -> cIH
# 624 | 
# 625 |   | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) ->
# 626 |      dprintf
# ...
# 710 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j);
# 711 |      let cIH' = mk_all (cIH, j) mf_list in
# 712 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1));
# 713 |      gen_rec_calls cD cIH' (cD', j + 1) mfs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt _)
# 
# File "src/core/total.ml", lines 725-791, characters 2-47:
# 725 | ..match cG0 with
# 726 |   | LF.Empty -> cIH
# 727 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
# 728 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
# 729 | 
# ...
# 788 |           mk_all cIH' mf_list
# 789 |      in
# 790 |      let cIH' = mk_all cIH mf_list in
# 791 |      gen_rec_calls' cD cG cIH' (cG', j + 1) mfs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, CTypDeclOpt _)
# 
# File "src/core/total.ml", lines 860-868, characters 2-69:
# 860 | ..match cPsi with
# 861 |   (* cPsi |- tA *)
# 862 |   | LF.Null -> None
# 863 |   | LF.CtxVar _ -> None
# 864 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
# 865 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
# 866 |      then Some k
# 867 |      else
# 868 |        pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/total.ml", lines 1087-1111, characters 5-8:
# 1087 | .....begin
# 1088 |        match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) ,
# 1089 |                prefix_hat
# 1090 |                (Whnf.cnorm_psihat phat Whnf.m_id)
# 1091 |                (Whnf.cnorm_psihat phat' Whnf.m_id)
# ...
# 1108 |               end ;
# 1109 |             (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k))))  , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k)
# 1110 |             end
# 1111 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Some k', None)
# 
# File "src/core/total.ml", lines 1121-1124, characters 5-87:
# 1121 | .....let LF.Root (_, tH', _, _) =
# 1122 |        Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj)
# 1123 |      in
# 1124 |      (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/total.ml", lines 1134-1140, characters 2-65:
# 1134 | ..match args with
# 1135 |   | [] -> []
# 1136 |   | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi)
# 1137 |   | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi)
# 1138 |   | Comp.M (cM, cU )  :: args ->
# 1139 |      let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in
# 1140 |      Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# E::_
# 
# File "src/core/total.ml", lines 1316-1337, characters 2-40:
# 1316 | ..function
# 1317 |   | Comp.TypBase (loc, c, _) ->
# 1318 |      Bool.not (Id.cid_comp_typ_equal a c)
# 1319 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
# 1320 |         | Sgn.Positivity -> true
# ...
# 1334 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
# 1335 |   | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus
# 1336 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
# 1337 |   | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1340-1360, characters 2-40:
# 1340 | ..function
# 1341 |   | Comp.TypBase (loc, c, _) ->
# 1342 |      Id.cid_comp_typ_equal a c
# 1343 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
# 1344 |         | Sgn.Positivity -> true
# ...
# 1357 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
# 1358 |   | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus
# 1359 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
# 1360 |   | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1364-1372, characters 2-40:
# 1364 | ..function
# 1365 |   | Comp.TypBase _ -> true
# 1366 |   | Comp.TypCobase _ -> true
# 1367 |   | Comp.TypDef _ -> raise Unimplemented
# 1368 |   | Comp.TypBox _ -> true
# 1369 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
# 1370 |   | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus
# 1371 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
# 1372 |   | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1492-1531, characters 2-27:
# 1492 | ..match tau1 with
# 1493 |   | Comp.TypBase (loc, c, mS1) ->
# 1494 |      if Id.cid_comp_typ_equal a c
# 1495 |      then
# 1496 |        begin
# ...
# 1528 |   | Comp.TypBox _
# 1529 |     | Comp.TypClo _
# 1530 |     | Comp.TypCobase _
# 1531 |     | Comp.TypDef _ -> true
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1555-1580, characters 8-48:
# 1555 | ........function
# 1556 |         | Comp.TypBase _
# 1557 |           | Comp.TypCobase _
# 1558 |           | Comp.TypBox _ -> true
# 1559 | 
# ...
# 1577 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
# 1578 | 
# 1579 |         | Comp.TypDef _
# 1580 |           | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfrecon.cmo -c -impl src/core/lfrecon.ml)
# File "src/core/lfrecon.ml", lines 253-262, characters 2-29:
# 253 | ..function
# 254 |   | Apx.LF.BVar _ -> "BVar"
# 255 |   | Apx.LF.Const _ -> "Const"
# 256 |   | Apx.LF.MVar _ -> "MVar"
# 257 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
# 258 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
# 259 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
# 260 |   | Apx.LF.FVar _ -> "FVar"
# 261 |   | Apx.LF.FMVar _ -> "FMVar"
# 262 |   | Apx.LF.FPVar _ -> "FPVar"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Hole
# 
# File "src/core/lfrecon.ml", lines 275-276, characters 5-19:
# 275 | .....let (None, d) = Context.dctxToHat cPsi in
# 276 |      Int.LF.Shift d
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Some _, _)
# 
# File "src/core/lfrecon.ml", lines 311-333, characters 8-80:
# 311 | ........let CTyp s_cid = mmvar1.typ in
# 312 |         if d = d'
# 313 |         then
# 314 |           begin
# 315 |             begin match c_var with
# ...
# 330 |             true
# 331 |           end
# 332 |         else
# 333 |           Error.raise_not_implemented "[unify_phat] ctx_var with a full context"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (_, _)
# 
# File "src/core/lfrecon.ml", lines 358-359, characters 9-42:
# 358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in
# 359 |          Store.Cid.Schema.get_schema s_cid
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=CTyp None; _ })
# 
# File "src/core/lfrecon.ml", lines 352-366, characters 2-92:
# 352 | ..match ctxvar with
# 353 |   | Some (Int.LF.CtxOffset _ as phi) ->
# 354 |      Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi)
# 355 |   | Some (Int.LF.CtxName n) ->
# 356 |      begin
# ...
# 363 | 
# 364 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
# 365 |      Store.Cid.Schema.get_schema s_cid
# 366 |   | None -> Error.raise_violation "No context variable for which we could retrieve a schema"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (CInst ({typ=CTyp None; _ }, _))
# 
# File "src/core/lfrecon.ml", lines 372-376, characters 2-44:
# 372 | ..function
# 373 |   | Int.LF.Atom _ -> m
# 374 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) ->
# 375 |      dprint (fun () -> "eta FMV - add Lam ");
# 376 |      Apx.LF.Lam (loc, x, addPrefix loc m tA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 385-389, characters 4-62:
# 385 | ....function
# 386 |     | Int.LF.Atom _ -> (k, s)
# 387 |     | Int.LF.PiTyp (_, tA) ->
# 388 |        let (k', s') = go (k + 1) s tA in
# 389 |        (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/lfrecon.ml", lines 391-395, characters 2-18:
# 391 | ..match tA, s with
# 392 |   | Int.LF.Atom _, _ -> (k, s)
# 393 |   | Int.LF.PiTyp _, None ->
# 394 |      let (k', s') = go k Apx.LF.Id tA in
# 395 |      (k', Some s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp (_, _), Some _)
# 
# File "src/core/lfrecon.ml", line 399, characters 20-40:
# 399 | let etaExpandMV loc (Apx.LF.MVar (x, s)) tA =
#                           ^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
# FPVar (_, _))
# 
# File "src/core/lfrecon.ml", lines 406-410, characters 4-52:
# 406 | ....function
# 407 |     | Int.LF.Atom _ -> (k, tS)
# 408 |     | Int.LF.PiTyp (_, tA') ->
# 409 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in
# 410 |        etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/lfrecon.ml", lines 414-417, characters 4-54:
# 414 | ....match tA with
# 415 |     | Int.LF.Atom _ -> tM
# 416 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
# 417 |        Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 422-424, characters 4-24:
# 422 | ....match h with
# 423 |     | Int.LF.BVar x -> Int.LF.BVar (x + k - 1)
# 424 |     | Int.LF.FVar _ -> h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 457-461, characters 4-55:
# 457 | ....function
# 458 |     | Int.LF.Atom _ -> (k, tS)
# 459 |     | Int.LF.PiTyp (_, tA') ->
# 460 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
# 461 |        etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/lfrecon.ml", lines 464-468, characters 4-57:
# 464 | ....match tA with
# 465 |     | Int.LF.Atom _ -> tM
# 466 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
# 467 |        dprint (fun () -> "eta - add Lam ");
# 468 |        Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 613-614, characters 2-33:
# 613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
# 614 |   getProjIndex loc cD cPsi recA k
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 617-630, characters 2-19:
# 617 | ..match h with
# 618 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
# 619 | 
# 620 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
# 621 |      let tp =
# ...
# 627 |      let j = getProjIndexFromType loc cD cPsi tp p in
# 628 |      dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d    j = %d@\n" k j);
# 629 |      let k' = ConvSigma.map conv_list k - j + 1 in
# 630 |      Apx.LF.BVar k'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Proj
#   ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
#    FPVar (_, _)),
#   _)
# 
# File "src/core/lfrecon.ml", lines 637-643, characters 7-41:
# 637 | .......function
# 638 |        | Apx.LF.Id -> Apx.LF.Id
# 639 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
# 640 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
# 641 |           let s' = go s in
# 642 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
# 643 |           Apx.LF.Dot (Apx.LF.Head h', s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dot (Obj _, _)
# 
# File "src/core/lfrecon.ml", lines 679-691, characters 2-38:
# 679 | ..match s with
# 680 |   | Apx.LF.Id -> s
# 681 | 
# 682 |   | Apx.LF.EmptySub -> s
# 683 | 
# ...
# 688 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
# 689 | 
# 690 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
# 691 |      flattenVarTuple tM (flattenSub s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)
# 
# File "src/core/lfrecon.ml", lines 697-698, characters 2-77:
# 697 | ..function
# 698 |   | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Root (_, BVar k, App (_, _))
# 
# File "src/core/lfrecon.ml", lines 827-829, characters 5-60:
# 827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
# 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
# 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 822-829, characters 2-60:
# 822 | ..function
# 823 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
# 824 |   | Apx.LF.Proj (h, nj) ->
# 825 |      let (tp, h') = synHead cD loc cPsi h in
# 826 |      let j = getProjIndexFromType loc cD cPsi tp nj in
# 827 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
# 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
# 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _))
# 
# File "src/core/lfrecon.ml", lines 858-867, characters 5-8:
# 858 | .....begin match synHead cD loc cPsi h with
# 859 |      | (Int.LF.TypDecl (x, tA), h') ->
# 860 |         let tA' =
# 861 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
# 862 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
# 863 |         in
# 864 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
# 865 |         , Int.LF.Dot (Int.LF.Head h', s')
# 866 |         )
# 867 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDeclOpt _, _)
# 
# File "src/core/lfrecon.ml", lines 884-890, characters 2-66:
# 884 | ..function
# 885 |   | Apx.LF.Typ -> Int.LF.Typ
# 886 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) ->
# 887 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
# 888 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
# 889 |      let tK = elKind cD cPsi' k in
# 890 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 909-925, characters 2-25:
# 909 | ..function
# 910 |   | Apx.LF.Atom (loc, a, s) ->
# 911 |      let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in
# 912 |      let s' = mkShift recT cPsi in
# 913 |      (* let s' = S.LF.id in *)
# ...
# 922 | 
# 923 |   | Apx.LF.Sigma typRec ->
# 924 |      let typRec' = elTypRec recT cD cPsi typRec in
# 925 |      Int.LF.Sigma typRec'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 977-1023, characters 2-34:
#  977 | ..match (m, sA) with
#  978 |   | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) ->
#  979 |      (* cPsi' = cPsi, x:tA *)
#  980 |      let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in
#  981 |      let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in
# ...
# 1020 |   | (Apx.LF.LFHole (loc, m_name), tA) ->
# 1021 |      let id = Holes.allocate () in
# 1022 |      let name = HoleId.name_of_option m_name in
# 1023 |      Int.LF.LFHole (loc, id, name)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12:
# 1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 1082 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
# 1083 |          begin
# 1084 |            try
# 1085 |              Unify.unifyTyp cD cPsi sQ sP;
# ...
# 1088 |            | Unify.Failure msg ->
# 1089 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1090 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1091 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12:
# 1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in
# 1214 |          dprintf
# 1215 |            begin fun p ->
# 1216 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
# 1217 |              Name.pp u
# ...
# 1277 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
# 1278 |            |_ ->
# 1279 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
# 1280 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12:
# 1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in
# 1477 |          let d = Context.length cD - Context.length cD_d in
# 1478 |          let (tA, cPhi) =
# 1479 |            if d = 0
# 1480 |            then (tA, cPhi)
# ...
# 1497 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
# 1498 |            | _ ->
# 1499 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
# 1500 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12:
# 1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) =
# 1572 |            Store.FCVar.get p
# 1573 |          in
# 1574 |          let d = Context.length cD - Context.length cD_d in
# 1575 |          let (tA, cPhi) =
# ...
# 1604 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1605 |            | _ ->
# 1606 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1607 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d,
# Decl
#   {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13:
# 1808 | ..........begin match S.LF.bvarSub k s'' with
# 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
# 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
# 1811 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
# 1812 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit)
# 1813 |           end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#   FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10:
# 1806 | .......begin match h with
# 1807 |        | Int.LF.BVar k ->
# 1808 |           begin match S.LF.bvarSub k s'' with
# 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
# 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
# ...
# 1814 |        | Int.LF.PVar (p, r) ->
# 1815 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit)
# 1816 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
# 1817 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8:
# 1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
# 1858 |        try
# 1859 |          Context.ctxSigmaDec cPsi x
# 1860 |        with
# 1861 |        | _ ->
# ...
# 1876 |        with
# 1877 |        | Unify.Failure msg ->
# 1878 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1879 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8:
# 1882 | .....begin
# 1883 |        match Whnf.mctxPDec cD p with
# 1884 |        | (_, Int.LF.Sigma recA, cPsi') ->
# 1885 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
# 1886 |           let k = getProjIndex loc cD cPsi recA proj in
# ...
# 1907 |           end
# 1908 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
# 1909 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
# 1910 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, TClo _, _)
# 
# File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15:
# 1941 | ............begin match S.LF.bvarSub y s'' with
# 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
# 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
# 1944 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
# 1945 |                Int.LF.Root
# ...
# 1948 |                  , tS
# 1949 |                  , Plicity.explicit
# 1950 |                  )
# 1951 |             end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#   FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12:
# 1939 | .........begin match h with
# 1940 |          | Int.LF.BVar y ->
# 1941 |             begin match S.LF.bvarSub y s'' with
# 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
# 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
# ...
# 1956 |               , tS
# 1957 |               , Plicity.explicit
# 1958 |               )
# 1959 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25:
# 1044 | ..match r with
# 1045 |   | Apx.LF.Ann (_loc, m, a) ->
# 1046 |      elTerm' recT cD cPsi m sP
# 1047 | 
# 1048 |   | Apx.LF.LFHole (location, m_name) ->
# ...
# 1977 | 
# 1978 |   | Apx.LF.Root (loc, h, _) ->
# 1979 |      dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h));
# 1980 |      throw loc CompTypAnn
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|Tuple (_, _))
# 
# File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65:
# 2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 2103 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
# 2104 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82:
# 2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
# 2160 |      let k = getProjIndex loc cD cPsi recA proj in
# 2161 |      let sA =
# 2162 |        try
# 2163 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k
# ...
# 2166 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
# 2167 |      in
# 2168 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
# 2169 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14:
# 2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) =
# 2277 |              Store.FCVar.get s_name
# 2278 |            in
# 2279 |            svar_le (cl0, cl);
# 2280 |            let d = Context.length cD - Context.length cD_d in
# ...
# 2307 |              with
# 2308 |              | Unify.Failure msg ->
# 2309 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
# 2310 |            end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
# 
# File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40:
# 2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
# 2515 |          dprint (fun () -> "[elHead] done");
# 2516 |          (Int.LF.BVar x, (tA', S.LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59:
# 2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
# 2575 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
# 2576 |          (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (offset, ClTyp ((PTyp _|STyp (_, _)), _))
# 
# File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41:
# 2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
# 2584 |      let s' = elSub loc recT cD cPsi s cl cPhi in
# 2585 |      (Int.LF.PVar (offset, s'), (tA, s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (offset, ClTyp ((MTyp _|STyp (_, _)), _))
# 
# File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36:
# 2643 | ....match (sA, recT) with
# 2644 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) ->
# 2645 |        (* cPsi' |- tA <= typ
# 2646 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
# 2647 |         *
# ...
# 2671 |        in
# 2672 | 
# 2673 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
# 2674 |        (Int.LF.App (tN, spine'), sP)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((PiTyp ((TypDeclOpt _, _, _), _), _), _)
# 
# File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25:
# 2705 | ....function
# 2706 |     | Int.LF.Atom _ -> 0
# 2707 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
# 2708 |     | Int.LF.Sigma _ -> 0........................................................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32:
# 2725 | ....match (spine, Whnf.whnfTyp sA) with
# 2726 |     | (Apx.LF.Nil, sP) ->
# 2727 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
# 2728 | 
# 2729 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) ->
# 2730 |        let tM = elTerm recT cD cPsi m (tA, s) in
# 2731 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
# 2732 |        (Int.LF.App (tM, tS), sP)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30:
# 2741 | ....match (sK, recT) with
# 2742 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) ->
# 2743 |        (* let sshift = mkShift recT cPsi in *)
# 2744 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
# 2745 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
# ...
# 2757 |            Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive
# 2758 |        in
# 2759 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
# 2760 |        Int.LF.App (tN, spine')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((PiKind ((TypDeclOpt _, _, _), _), _), _)
# 
# File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32:
# 2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 2835 |      (* cPsi |- tA : type
# 2836 |       * cPsi |- s' : cPsi'
# 2837 |       *)
# 2838 |      let ss = S.LF.invert s' in
# ...
# 2860 |      in
# 2861 | 
# 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
# 2863 |      (Int.LF.App (tN', tS), tB')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32:
# 2824 | ..match (spine, sP) with
# 2825 |   | (Apx.LF.Nil, _) ->
# 2826 |      let ss = S.LF.invert s' in
# 2827 |      let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
# 2828 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
# ...
# 2860 |      in
# 2861 | 
# 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
# 2863 |      (Int.LF.App (tN', tS), tB')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (App (Root (loc, BVar x, App (_, _)), _), _)
# 
# File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8:
# 2943 | .....begin match instantiation.contents with
# 2944 |      | None ->
# 2945 |         begin
# 2946 |           try
# 2947 |             let tA = Store.FVar.get x in
# ...
# 2995 |           | _ ->
# 2996 |              throw loc (UnboundName x)
# 2997 |         end
# 2998 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (IHead _|ISub _|ICtx _)
# 
# File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8:
# 2939 | ..function
# 2940 |   | [] -> ()
# 2941 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
# 2942 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
# 2943 |      begin match instantiation.contents with
# ...
# 2995 |           | _ ->
# 2996 |              throw loc (UnboundName x)
# 2997 |         end
# 2998 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Root (loc, FVar x, spine),
# Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::
# _
# 
# File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99:
# 3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
# 3021 |          lookup_fcvar loc u
# 3022 |        in
# 3023 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3024 |        let s'' = elSub loc cPsi s cPhi in
# 3025 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98:
# 3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) =
# 3028 |          lookup_fcvar loc x
# 3029 |        in
# 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3031 |        let s'' = elSub loc cPsi s cPhi in
# 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
# 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98:
# 3017 | ....match tM, Int.LF.(v.typ) with
# 3018 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
# 3019 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
# 3020 |        let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
# 3021 |          lookup_fcvar loc u
# ...
# 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3031 |        let s'' = elSub loc cPsi s cPhi in
# 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
# 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Check.cmo -c -impl src/core/check.ml)
# File "src/core/check.ml", lines 471-475, characters 4-46:
# 471 | ....function
# 472 |     | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS
# 473 |     | I.Lam (_, _, tM) -> fmv_normal cD tM
# 474 |     | I.LFHole _ -> cD
# 475 |     | I.Tuple (_, tuple) -> fmv_tuple cD tuple
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Clo _
# 
# File "src/core/check.ml", lines 490-492, characters 4-55:
# 490 | ....function
# 491 |     | I.Nil -> cD
# 492 |     | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# SClo _
# 
# File "src/core/check.ml", lines 500-503, characters 4-61:
# 500 | ....function
# 501 |     | I.Null -> cD
# 502 |     | I.CtxVar (I.CtxOffset k) -> mark_ind cD k
# 503 |     | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/check.ml", lines 511-514, characters 4-38:
# 511 | ....function
# 512 |     | I.Atom (_, _, tS) -> fmv_spine cD tS
# 513 |     | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA
# 514 |     | I.Sigma trec -> fmv_trec cD trec
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/check.ml", lines 534-538, characters 4-68:
# 534 | ....function
# 535 |     | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi
# 536 |     | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM
# 537 |     | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h
# 538 |     | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, (MUndef|MV _))
# 
# File "src/core/check.ml", lines 553-556, characters 4-43:
# 553 | ....function
# 554 |     | PatNil -> cD
# 555 |     | PatApp (_, pat, pat_spine) ->
# 556 |        fmv_pat_spine (fmv cD pat) pat_spine
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# 
# File "src/core/check.ml", lines 561-595, characters 4-10:
# 561 | ....match (t, cD) with
# 562 |     | (I.MShift k, I.Empty) -> cD1'
# 563 |     | (I.MShift k, cD)
# 564 |          when k < 0 ->
# 565 |        Error.raise_violation "Contextual substitution ill-formed"
# ...
# 592 |           else
# 593 |             id_map_ind cD1' ms cD
# 594 |        | _ -> id_map_ind cD1' ms cD
# 595 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MDot (_, _), Dec (cD, DeclOpt _))
# 
# File "src/core/check.ml", line 618, characters 11-38:
# 618 |     |> fun (CTypDecl (u, tau, wf_tag)) ->
#                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/check.ml", lines 747-771, characters 6-12:
# 747 | ......match cPsi0 with
# 748 |       | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *)
# 749 |       | Int.LF.CtxVar psi ->
# 750 |          (* tA is an instance of a schema block *)
# 751 |          let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } =
# ...
# 768 |              Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id)
# 769 |            with
# 770 |            | _ -> checkParamTypeValid' (cPsi0', n + 1)
# 771 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi0', TypDeclOpt _)
# 
# File "src/core/check.ml", lines 776-796, characters 4-68:
# 776 | ....match (mS, cKt) with
# 777 |     | (MetaNil, (Ctype _, _)) -> ()
# 778 |     | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) ->
# 779 |        if Plicity.(plicity_app <> plicity_pi)
# 780 |        then Error.raise_violation "[checkMetaSpine] plicity mismatch";
# ...
# 793 |                  Location.print_short loc
# 794 |               )
# 795 |        end;
# 796 |        checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaNil, (PiKind (_, _, _), _))
# 
# File "src/core/check.ml", line 822, characters 20-56:
# 822 |   let checkCDecl cD (I.Decl { name = x; typ = ctyp; _ }) =
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/check.ml", lines 834-868, characters 4-35:
# 834 | ....function
# 835 |     | TypBase (loc, c, mS) ->
# 836 |        let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in
# 837 |        checkMetaSpine loc cD mS (cK, C.m_id)
# 838 | 
# ...
# 865 |          end;
# 866 |        checkTyp (I.Dec (cD, cdecl)) tau'
# 867 | 
# 868 |     | TypInd tau -> checkTyp cD tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _)|TypClo (_, _))
# 
# File "src/core/check.ml", line 880, characters 21-39:
# 880 |   let extend_mctx cD (x, (I.Decl d), t) =
#                            ^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (x, DeclOpt { _ }, _)
# 
# File "src/core/check.ml", lines 899-916, characters 12-15:
# 899 | ............begin match e2 with
# 900 |             | Box (_, cM, cU) | AnnBox (_, cM, cU) ->
# 901 |                dprintf
# 902 |                  begin fun p ->
# 903 |                  p.fmt "[useIH] @[<v>check whether compatible IH exists@,\
# ...
# 913 |                | Option.None -> Total.filter cD cG cIH (loc, E)
# 914 |                end
# 915 |             | Hole _ -> Total.drop_arg cIH
# 916 |             end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)|
# Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _))
# 
# File "src/core/check.ml", lines 1114-1276, characters 4-45:
# 1114 | ....function
# 1115 |     | Var (loc, x) as e ->
# 1116 |        let (f,tau', _) = lookup cG x in
# 1117 |        Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id))
# 1118 |          (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e);
# ...
# 1273 | 
# 1274 |     | AnnBox (_, cM, cT) ->
# 1275 |        checkMetaObj cD cM cT C.m_id;
# 1276 |        (None, TypBox (getLoc cM, cT), C.m_id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)|
# Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _))
# 
# File "src/core/check.ml", lines 1350-1357, characters 7-10:
# 1350 | .......begin match (tau, theta) with
# 1351 |        | (TypArr (_, tau1, tau2), theta) ->
# 1352 |           checkPattern cD cG pat (tau1, theta);
# 1353 |           synPatSpine cD cG pat_spine (tau2, theta)
# 1354 |        | (TypPiBox (_, cdecl, tau), theta) ->
# 1355 |           let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in
# 1356 |           synPatSpine cD cG pat_spine (tau, theta')
# 1357 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
#  TypCross (_, _)|TypClo (_, _)|TypInd _),
# _)
# 
# File "src/core/check.ml", line 1373, characters 53-86:
# 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
#                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (DeclOpt { _ }, _)
# 
# File "src/core/check.ml", line 1373, characters 30-52:
# 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
#                                      ^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/check.ml", lines 1665-1667, characters 4-42:
# 1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in
# 1666 |     let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in
# 1667 |     proof mcid cD cG cIH total_decs p ttau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
# 
# File "src/core/check.ml", lines 1678-1743, characters 4-13:
# 1678 | ....match d with
# 1679 |     | Intros hyp ->
# 1680 |        let tau = Whnf.cnormCTyp ttau in
# 1681 |        let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in
# 1682 |        dprintf
# ...
# 1740 |            end;
# 1741 |          proof mcid cD cG cIH total_decs p (tau, Whnf.m_id)
# 1742 |          end
# 1743 |          args
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ImpossibleSplit _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Load.cmo -c -impl src/core/load.ml)
# File "src/core/load.ml", line 63, characters 33-47:
# 63 |             Parser.Parsing.(only signature_file)
#                                       ^^^^^^^^^^^^^^
# Error: This expression has type
#          "Synprs.signature_file Parser.Parsing.t" =
#            "Parser.Parsing.state ->
#            Parser.Parsing.state * (Synprs.signature_file, exn) result"
#        but an expression was expected of type
#          "Parser.Parsing.state -> Parser.Parsing.state * ('a, exn) result"
#        The layout of Synprs.signature_file is any
#          because the .cmi file for Synprs.signature_file is missing.
#        But the layout of Synprs.signature_file must be a sublayout of value.
#        No .cmi file found containing Synprs.signature_file.
#        Hint: Adding "synprs" to your dependencies might help.
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Translate.cmo -c -impl src/harpoon/translate.ml)
# File "src/harpoon/translate.ml", lines 25-26, characters 5-58:
# 25 | .....let LF.Dec (cG', Comp.CTypDecl (x, _, _)) = cG' in
# 26 |      (cD', cG', fun e -> Comp.Fn (Location.ghost, x, f e))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG', CTypDeclOpt _)
# 
# File "src/harpoon/translate.ml", lines 29-33, characters 5-6:
# 29 | .....let LF.Dec (cD', LF.Decl { name = x; plicity; _ }) = cD' in
# 30 |      ( cD'
# 31 |      , cG'
# 32 |      , fun e -> Comp.MLam (Location.ghost, x, f e, plicity)
# 33 |      )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt { _ })
# 
# File "src/harpoon/translate.ml", lines 56-68, characters 10-40:
# 56 | ..........match cU with
# 57 |           | (ClTyp ( (MTyp _ | PTyp _), cPsi )) ->
# 58 |              let tM =
# 59 |                Root
# 60 |                  ( Location.ghost
# ...
# 65 |              in
# 66 |              ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, t)), MObj tM)
# 67 |           | CTyp _ ->
# 68 |              CObj (CtxVar (CtxOffset 1))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (STyp (_, _), _)
# 
# File "src/harpoon/translate.ml", lines 131-149, characters 5-8:
# 131 | .....let (cD', cG', LF.Empty, tau', t) =
# 132 |        Check.Comp.unroll cD cG LF.Empty tau
# 133 |      in
# 134 |      (* cD' |- t : cD
# 135 |         is a weakening meta-substitution *)
# ...
# 146 |          P.(fmt_ppr_cmp_gctx cD_orig l0) cG_orig
# 147 |          end;
# 148 |      assert (Whnf.convMCtx cD_orig cD && Whnf.convGCtx (cG_orig, Whnf.m_id) (cG, t));
# 149 |      f e
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD', cG', Dec (_, WfRec (_, _, _)), _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Session.cmo -c -impl src/harpoon/session.ml)
# File "src/harpoon/session.ml", line 276, characters 17-43:
# 276 |             (alt trust_totality_declaration numeric_totality_declaration)))
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: This expression has type
#          "Synprs.signature_totality_declaration Beluga_parser.Parser.Parsing.t"
#            =
#            "Beluga_parser.Parser.Parsing.state ->
#            Beluga_parser.Parser.Parsing.state *
#            (Synprs.signature_totality_declaration, exn) result"
#        but an expression was expected of type
#          "Beluga_parser.Parser.Parsing.state ->
#          Beluga_parser.Parser.Parsing.state * ('a, exn) result"
#        The layout of Synprs.signature_totality_declaration is any
#          because the .cmi file for Synprs.signature_totality_declaration is missing.
#        But the layout of Synprs.signature_totality_declaration must be a sublayout of value.
#        No .cmi file found containing Synprs.signature_totality_declaration.
#        Hint: Adding "synprs" to your dependencies might help.
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Command.cmo -c -impl src/core/command.ml)
# File "src/core/command.ml", line 240, characters 52-67:
# 240 |   let comp_expression_parser = Parser.Parsing.(only comp_expression)
#                                                           ^^^^^^^^^^^^^^^
# Error: This expression has type
#          "Parser.Parsing.state ->
#          Parser.Parsing.state * (Synprs.comp_expression_object, exn) result"
#        but an expression was expected of type
#          "Parser.Parsing.state -> Parser.Parsing.state * ('a, exn) result"
#        The layout of Synprs.comp_expression_object is any
#          because the .cmi file for Synprs.comp_expression_object is missing.
#        But the layout of Synprs.comp_expression_object must be a sublayout of value.
#        No .cmi file found containing Synprs.comp_expression_object.
#        Hint: Adding "synprs" to your dependencies might help.
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Coverage.cmo -c -impl src/core/coverage.ml)
# File "src/core/coverage.ml", line 76, characters 26-46:
# 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
#                                ^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/coverage.ml", lines 75-78, characters 2-5:
# 75 | ..let Some (CTypDecl (_, tau, _)) =
# 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
# 77 |   in
# 78 |   tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (CTypDeclOpt _)
# 
# File "src/core/coverage.ml", line 195, characters 20-45:
# 195 | let gen_str cD cPsi (LF.Atom (_, a, _) as tP) =
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
# 
# File "src/core/coverage.ml", lines 214-218, characters 4-74:
# 214 | ....match tA with
# 215 |     | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit)
# 216 |     | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) ->
# 217 |        let tM = eta (tB0, s) LF.Nil in
# 218 |        LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/coverage.ml", lines 271-281, characters 4-58:
# 271 | ....function
# 272 |     | MetaSub (cPsi, s, LF.STyp (_, cPhi)) ->
# 273 |        fprintf ppf "%a |- %a : %a"
# 274 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
# 275 |          (P.fmt_ppr_lf_sub cD cPsi P.l0) s
# ...
# 278 |        fprintf ppf "%a |- %a : %a"
# 279 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
# 280 |          (P.fmt_ppr_lf_normal cD cPsi P.l0) tR
# 281 |          (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MetaSub (cPsi, s, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 304-308, characters 4-73:
# 304 | ....function
# 305 |     | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi
# 306 |     | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi)
# 307 |     | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA)
# 308 |     | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CovSub (cPsi, s, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 483-484, characters 7-73:
# 483 | .......let Comp.TypBox (_, mT) = tau_sc in
# 484 |        check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
# TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
# 
# File "src/core/coverage.ml", lines 545-546, characters 9-44:
# 545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 543-547, characters 7-10:
# 543 | .......begin
# 544 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
# 545 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# 547 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 580-619, characters 5-8:
# 580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in
# 581 |      dprintf
# 582 |        begin fun p ->
# 583 |        p.fmt "[pre_match_head]  @[<v>pvar - case\
# 584 |               @,pattern:     @[@[%a@]@ |- @[%a@]@]\
# ...
# 616 |             end;
# 617 |           SplitCand
# 618 |             (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *)
# 619 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (BVar _|Const _|MMVar (({instantiation={ _ }; constraints={ _ }; _ }, _), _)|
# MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)|
# FPVar (_, _)|HClo (_, _, _)|
# HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _)))
# 
# File "src/core/coverage.ml", lines 638-639, characters 9-44:
# 638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 636-640, characters 7-10:
# 636 | .......begin
# 637 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
# 638 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# 640 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 695-708, characters 5-59:
# 695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
# 696 |      let covGoal' =
# 697 |        CovGoal
# 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
# 699 |          , tM, (tB, S.LF.dot1 s)
# ...
# 705 |          , tN, (tB', S.LF.dot1 s')
# 706 |          )
# 707 |      in
# 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
# 
# File "src/core/coverage.ml", lines 694-708, characters 5-59:
# 694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
# 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
# 696 |      let covGoal' =
# 697 |        CovGoal
# 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
# ...
# 705 |          , tN, (tB', S.LF.dot1 s')
# 706 |          )
# 707 |      in
# 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
# 
# File "src/core/coverage.ml", lines 692-737, characters 2-8:
# 692 | ..match (tM, tN) with
# 693 |   | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) ->
# 694 |      let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
# 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
# 696 |      let covGoal' =
# ...
# 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
# 735 | 
# 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
# 737 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))
# 
# File "src/core/coverage.ml", lines 684-737, characters 2-8:
# 684 | ..let MetaPatt (cPhi, tN, sA') = patt in
# 685 |   dprintf
# 686 |     begin fun p ->
# 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
# 688 |            @,pattern: @[%a@]@]"
# ...
# 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
# 735 | 
# 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
# 737 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaSub (_, _, _)|GenPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 683-737, characters 2-8:
# 683 | ..let CovGoal (cPsi, tM, sA) = covGoal in
# 684 |   let MetaPatt (cPhi, tN, sA') = patt in
# 685 |   dprintf
# 686 |     begin fun p ->
# 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
# ...
# 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
# 735 | 
# 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
# 737 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 744-758, characters 5-18:
# 744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
# 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
# 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
# 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
# 748 |      let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in
# ...
# 755 |        (cPsi, tS, sB2')
# 756 |        (cPsi', tS', sC2')
# 757 |        matchCands'
# 758 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 743-758, characters 5-18:
# 743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
# 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
# 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
# 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
# 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
# ...
# 755 |        (cPsi, tS, sB2')
# 756 |        (cPsi', tS', sC2')
# 757 |        matchCands'
# 758 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 740-758, characters 2-18:
# 740 | ..match (tS, tS') with
# 741 |   | (LF.Nil, LF.Nil) -> (matchCands, splitCands)
# 742 |   | (LF.App (tM, tS), LF.App (tM', tS')) ->
# 743 |      let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
# 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
# ...
# 755 |        (cPsi, tS, sB2')
# 756 |        (cPsi', tS', sC2')
# 757 |        matchCands'
# 758 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Nil, (App (_, _)|SClo _))
# 
# File "src/core/coverage.ml", lines 793-797, characters 5-63:
# 793 | .....let LF.TypDecl (_, tA1) = tdecl1 in
# 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
# 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
# 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
# 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 792-797, characters 5-63:
# 792 | .....let LF.TypDecl (_, tA0) = tdecl0 in
# 793 |      let LF.TypDecl (_, tA1) = tdecl1 in
# 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
# 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
# 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
# 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 763-816, characters 2-74:
# 763 | ..match ((s0, cPhi0), (s1, cPhi1)) with
# 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
# 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
# 766 |      if n = k
# 767 |      then (matchCands, splitCands)
# ...
# 813 | 
# 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
# 815 | 
# 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Shift _, _),
# (Dot
#    (Head
#       (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|
#       FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
#    _),
# _))
# 
# File "src/core/coverage.ml", lines 762-816, characters 2-74:
# 762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
# 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
# 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
# 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
# 766 |      if n = k
# ...
# 813 | 
# 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
# 815 | 
# 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MetaSub (cPsi1, s1, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 761-816, characters 2-74:
# 761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in
# 762 |   let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
# 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
# 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
# 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
# ...
# 813 | 
# 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
# 815 | 
# 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CovSub (cPsi0, s0, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 819-830, characters 2-57:
# 819 | ..match (f0, f1) with
# 820 |   | (LF.Head h0, LF.Head h1) ->
# 821 |      let tM0 = eta_expand (h0, tA0) in
# 822 |      let tM1 = eta_expand (h1, tA1) in
# 823 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
# ...
# 827 |   | (LF.Obj tM0, LF.Obj tM1) ->
# 828 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
# 829 |      let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in
# 830 |      pre_match cD cD_p covGoal patt matchCands splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Head h0, (Undef|Obj _))
# 
# File "src/core/coverage.ml", lines 839-851, characters 5-18:
# 839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
# 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
# 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
# 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
# 843 |      let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in
# ...
# 848 |        (cPsi, tS, sK1')
# 849 |        (cPsi', tS', sK2')
# 850 |        matchCands'
# 851 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 838-851, characters 5-18:
# 838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
# 839 |      let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
# 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
# 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
# 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
# ...
# 848 |        (cPsi, tS, sK1')
# 849 |        (cPsi', tS', sK2')
# 850 |        matchCands'
# 851 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 834-851, characters 2-18:
# 834 | ..match ((tS1, sK1), (tS2, sK2)) with
# 835 |   | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) ->
# 836 |      (matchCands, splitCands)
# 837 |   | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) ->
# 838 |      let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
# ...
# 848 |        (cPsi, tS, sK1')
# 849 |        (cPsi', tS', sK2')
# 850 |        matchCands'
# 851 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Nil, (Typ, _)), (Nil, (PiKind (_, _), _)))
# 
# File "src/core/coverage.ml", lines 860-903, characters 2-17:
# 860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with
# 861 |   | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) ->
# 862 |      let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
# 863 |      let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in
# 864 |      let tS1' = Whnf.normSpine (tS1, s1) in
# ...
# 900 |        (trec1, s1)
# 901 |        (trec2, s2)
# 902 |        matchCands
# 903 |        splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _))
# 
# File "src/core/coverage.ml", lines 907-927, characters 2-12:
# 907 | ..match (srec1, srec2) with
# 908 |   | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) ->
# 909 |      pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands
# 910 | 
# 911 |   | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) ->
# ...
# 924 |        (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1))))
# 925 |        (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2))))
# 926 |        (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2)
# 927 |        mC sC
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _))
# 
# File "src/core/coverage.ml", lines 952-1004, characters 2-31:
#  952 | ..match ((mO, mt), (mO_p, mtp)) with
#  953 |   | LF.((CObj cPsi, _), (CObj cPsi', _)) ->
#  954 |      pre_match_dctx cD cD_p cPsi cPsi' mC sC
#  955 |   | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) ->
#  956 |      match ((clobj, cltyp), (clobj', cltyp')) with
# ...
# 1001 |             (mobj cD_p) (loc', mO_p)
# 1002 |             (mtyp cD_p) mtp
# 1003 |         in
# 1004 |         Error.raise_violation s
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _))
# 
# File "src/core/coverage.ml", lines 1092-1104, characters 5-10:
# 1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1095 |      let t2 = LF.MDot (mO, t) in
# 1096 |      let t2' = LF.MDot (mO', t') in
# ...
# 1101 |        (pS, (tau2, t2))
# 1102 |        (pS', (tau2', t2'))
# 1103 |        mC1
# 1104 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1091-1104, characters 5-10:
# 1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1092 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1095 |      let t2 = LF.MDot (mO, t) in
# ...
# 1101 |        (pS, (tau2, t2))
# 1102 |        (pS', (tau2', t2'))
# 1103 |        mC1
# 1104 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1110-1122, characters 5-10:
# 1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1113 |      let t2 = LF.MDot (mO, t) in
# 1114 |      let t2' = LF.MDot (mO', t') in
# ...
# 1119 |        (pS, (tau2, t2))
# 1120 |        (pS', (tau2', t2'))
# 1121 |        mC1
# 1122 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1109-1122, characters 5-10:
# 1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1110 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1113 |      let t2 = LF.MDot (mO, t) in
# ...
# 1119 |        (pS, (tau2, t2))
# 1120 |        (pS', (tau2', t2'))
# 1121 |        mC1
# 1122 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1128-1134, characters 5-84:
# 1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1129 |      let tau1 = LF.CTyp w in
# 1130 |      let tau1' = LF.CTyp w' in
# 1131 |      let t2 = LF.MDot (mO, t) in
# 1132 |      let t2' = LF.MDot (mO', t')in
# 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
# 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1127-1134, characters 5-84:
# 1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1128 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1129 |      let tau1 = LF.CTyp w in
# 1130 |      let tau1' = LF.CTyp w' in
# 1131 |      let t2 = LF.MDot (mO, t) in
# 1132 |      let t2' = LF.MDot (mO', t')in
# 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
# 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1139-1147, characters 5-51:
# 1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
# 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
# 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
# 1143 |      let t2 = LF.MDot (mO, t) in
# 1144 |      let t2' = LF.MDot (mO', t') in
# 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
# 1146 |      match_spines (cD, cG) (cD_p, cG_p)
# 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1138-1147, characters 5-51:
# 1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1139 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
# 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
# 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
# 1143 |      let t2 = LF.MDot (mO, t) in
# 1144 |      let t2' = LF.MDot (mO', t') in
# 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
# 1146 |      match_spines (cD, cG) (cD_p, cG_p)
# 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1186-1224, characters 2-8:
# 1186 | ..match Whnf.whnfTyp sA with
# 1187 |   | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) ->
# 1188 |      (* cPsi' |- Pi x:A.B <= typ
# 1189 |         cPsi  |- s <= cPsi'
# 1190 |         cPsi  |- tN <= [s]tA
# ...
# 1221 |          Some LF.Nil
# 1222 |        with
# 1223 |        | U.Failure _ -> None
# 1224 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 1343-1349, characters 2-29:
# 1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *)
# 1344 |   (* We call expand_head_sigma here because it might be *projections*
# 1345 |      of the bound variable that are relevant to the matching.
# 1346 |    *)
# 1347 |   expand_head_sigma (LF.BVar i, tA)
# 1348 |   |> List.map (fun (tH, tA) -> (tH, tA, 0))
# 1349 |   |> genAllObj (cD, cPsi, tP)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", line 1484, characters 17-61:
# 1484 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) ->
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD', ((Null|CtxVar _), _, (_, _)), _)
# 
# File "src/core/coverage.ml", lines 1468-1493, characters 2-14:
# 1468 | ..match tA with
# 1469 |   | LF.Atom _ ->
# 1470 |      genPVar cov_problem @ genBVars cov_problem
# 1471 |   | LF.Sigma trec ->
# 1472 |      Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types"
# ...
# 1490 |        in
# 1491 |        (cD', cg', ms)
# 1492 |        end
# 1493 |        cg_list
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/coverage.ml", line 1544, characters 17-60:
# 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD', ((Null|CtxVar _), _, (_, _)), _)
# 
# File "src/core/coverage.ml", lines 1541-1552, characters 5-16:
# 1541 | .....let LF.TypDecl (x, _) = tdecl in
# 1542 |      let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in
# 1543 |      List.map
# 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
# 1545 |        ( cD'
# ...
# 1549 |        , t
# 1550 |        )
# 1551 |        end
# 1552 |        cov_goals
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 1512-1552, characters 2-16:
# 1512 | ..match tA with
# 1513 |   | LF.Atom (_, a, tS) ->
# 1514 |      let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *)
# 1515 |      dprintf
# 1516 |        begin fun p ->
# ...
# 1549 |        , t
# 1550 |        )
# 1551 |        end
# 1552 |        cov_goals
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/coverage.ml", lines 1582-1700, characters 5-8:
# 1582 | .....begin match mc with
# 1583 |      | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) ->
# 1584 |         let cT = LF.ClTyp (sT, cPsi) in
# 1585 |         let cT_p = LF.ClTyp (sT_p, cPsi_p) in
# 1586 |         let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in
# ...
# 1697 |                   NotSolvable
# 1698 |                end
# 1699 |         end
# 1700 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _)))
# 
# File "src/core/coverage.ml", lines 1725-1730, characters 5-11:
# 1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in
# 1726 |      (* let MetaPatt (cPhi, _, sB') = patt in *)
# 1727 |      (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *)
# 1728 |      (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *)
# 1729 |      let result = pre_match cD cD_p covG patt matchL' splitL' in
# 1730 |      result
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 1719-1741, characters 2-94:
# 1719 | ..match splitL with
# 1720 |   | [] -> (matchL, [])
# 1721 |   | Split (CovGoal (cPsi, tR, sA), patt) :: splits ->
# 1722 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
# 1723 |      let tA = Whnf.normTyp sA in
# ...
# 1738 |      pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL'
# 1739 |   | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits ->
# 1740 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
# 1741 |      (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Split ((CovCtx _|CovPatt (_, _, _)), _)::_
# 
# File "src/core/coverage.ml", lines 1973-2000, characters 5-6:
# 1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) =
# 1974 |        Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s')
# 1975 |      in
# 1976 |      (* bp : Context substitution associated with declaration is off by 1 *)
# 1977 |      let (ss', cPsi') = Subord.thin' cD'' a cPsi in
# ...
# 1997 |      in
# 1998 |      ( LF.Dec (cD'', mdec)
# 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
# 2000 |      )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _))
# 
# File "src/core/coverage.ml", lines 1964-2000, characters 2-6:
# 1964 | ..match decls with
# 1965 |   | LF.Empty -> (cD', S.LF.id)
# 1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
# 1967 |      let x = NameGen.renumber names x in
# 1968 |      let names = x :: names in
# ...
# 1997 |      in
# 1998 |      ( LF.Dec (cD'', mdec)
# 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
# 2000 |      )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (decls, TypDeclOpt _)
# 
# File "src/core/coverage.ml", line 1963, characters 28-52:
# 1963 | let rec decTomdec names cD' (LF.CtxOffset k as cpsi) (d, decls) =
#                                    ^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
# 
# File "src/core/coverage.ml", line 2096, characters 17-48:
# 2096 | let genCtx names (LF.Dec (cD', LF.Decl _) as cD) cpsi =
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt { _ })
# 
# File "src/core/coverage.ml", line 2123, characters 23-82:
# 2123 | let genContextGoals cD (x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) =
#                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (x, CTyp None, _, _)
# 
# File "src/core/coverage.ml", lines 2144-2178, characters 5-87:
# 2144 | .....let LF.TypDecl (x, tA) = decl in
# 2145 |      let s = LF.SVar (2, 0, S.LF.id) in
# 2146 |      let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in
# 2147 |      let name = Whnf.newMTypName mT in
# 2148 |      let cD' =
# ...
# 2175 |      in
# 2176 |      let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in
# 2177 |      let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in
# 2178 |      [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)]
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 2186-2239, characters 2-8:
# 2186 | ..match cT with
# 2187 |   | LF.ClTyp (clTyp, cPsi) ->
# 2188 |      begin match clTyp with
# 2189 |      | LF.MTyp tA ->
# 2190 |         dprintf
# ...
# 2236 |            , Atomic
# 2237 |            )
# 2238 |         end
# 2239 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/coverage.ml", lines 2249-2250, characters 11-60:
# 2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in
# 2250 |            genContextGoals cD' (x, cU, plicity, inductivity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/coverage.ml", lines 2242-2278, characters 2-58:
# 2242 | ..match (cv_list, cD) with
# 2243 |   | ([], _) -> NoCandidate
# 2244 |   | ([LF.CtxOffset j], LF.Dec (cD', d)) ->
# 2245 |      if j = k
# 2246 |      then
# ...
# 2275 |          SomeCtxCands ctx_goals'
# 2276 |        end
# 2277 |      else
# 2278 |        best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxOffset j::[], Empty)
# 
# File "src/core/coverage.ml", lines 2308-2309, characters 25-35:
# 2308 | .........................let LF.Root (_, tH, _, _) = tR in
# 2309 |                          LF.PObj tH
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/coverage.ml", lines 2302-2309, characters 22-35:
# 2302 | ......................match cT with
# 2303 |                       (* gonna be a ClTyp because we're in the CovGoal branch *)
# 2304 |                       | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR
# 2305 |                       | LF.ClTyp (LF.PTyp _, _) ->
# 2306 |                          (* ensure that PTyp is added as a PObj to the
# 2307 |                             msub; otherwise normalization WILL crash. *)
# 2308 |                          let LF.Root (_, tH, _, _) = tR in
# 2309 |                          LF.PObj tH
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (STyp (_, _), _)
# 
# File "src/core/coverage.ml", lines 2294-2331, characters 17-50:
# 2294 | .................match cg with
# 2295 |                  | CovGoal (cPsi', tR, sA') ->
# 2296 |                     dprintf
# 2297 |                       begin fun p ->
# 2298 |                       p.fmt "[best_cand] generated covgoal @[%a@]"
# ...
# 2328 |                         , Whnf.cnormClTyp (sT, LF.MShift k)
# 2329 |                         )
# 2330 |                     in
# 2331 |                     TermCandidate (cD'', cg', ms0).
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovPatt (_, _, _))
# 
# File "src/core/coverage.ml", lines 2335-2348, characters 11-17:
# 2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with
# 2336 |            | NoCandidate -> SomeTermCands (dep0, cov_goals0)
# 2337 |            | SomeTermCands (dep, cov_goals) ->
# 2338 |               begin match dep, dep0 with
# 2339 |               | Dependent, Atomic -> SomeTermCands (dep, cov_goals)
# ...
# 2345 |                  then SomeTermCands (dep, cov_goals)
# 2346 |                  else SomeTermCands (dep0, cov_goals0)
# 2347 |                *)
# 2348 |               end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# SomeCtxCands _
# 
# File "src/core/coverage.ml", lines 2282-2356, characters 2-55:
# 2282 | ..match (mv_list, cD) with
# 2283 |   | ([], _) -> NoCandidate
# 2284 |   | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) ->
# 2285 |      if k = j
# 2286 |      then
# ...
# 2353 |             best_cand (cD', mvlist') (k + 1) (md :: cD_tail)
# 2354 |        end
# 2355 |      else
# 2356 |        best_cand (cD', mv_list) (k + 1) (md :: cD_tail)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Offset j::mvlist', Dec (cD', DeclOpt _))
# 
# File "src/core/coverage.ml", lines 2430-2438, characters 7-13:
# 2430 | .......match cl with
# 2431 |        | LF.PTyp _ ->
# 2432 |           let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in
# 2433 |           LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id)))
# 2434 |        | LF.MTyp _ ->
# 2435 |           LF.MObj
# 2436 |             (ConvSigma.etaExpandMMVstr
# 2437 |                Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names)
# 2438 |             )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/coverage.ml", line 2581, characters 16-42:
# 2581 |       begin fun (CovGoal (cPsi', tR, sA')) ->
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 2630-2632, characters 10-46:
# 2630 | ..........match tC with
# 2631 |           | MTyp _ -> fun sA -> MTyp (TClo sA)
# 2632 |           | PTyp _ -> fun sA -> PTyp (TClo sA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/coverage.ml", lines 2626-2667, characters 5-8:
# 2626 | .....begin match mT with
# 2627 |      | LF.(ClTyp (tC, cPsi)) ->
# 2628 |         let f =
# 2629 |           let open LF in
# 2630 |           match tC with
# ...
# 2664 |              , t
# 2665 |              )
# 2666 |              end
# 2667 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp None
# 
# File "src/core/coverage.ml", lines 2714-2762, characters 2-55:
# 2714 | ..function
# 2715 |   | [] -> vlist
# 2716 |   | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl ->
# 2717 |      let (pvlist, cvlist, mvlist) = vlist in
# 2718 |      if List.mem u mvlist
# ...
# 2759 |      let (pvlist, cvlist, mvlist) = vlist in
# 2760 |      if List.mem x pvlist
# 2761 |      then mvInSplit cD vlist sl
# 2762 |      else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# SplitCtx ((Null|DDec (_, _)), _)::_
# 
# File "src/core/coverage.ml", line 2773, characters 30-44:
# 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
#                                      ^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Inst {instantiation={ _ }; constraints={ _ }; _ }
# 
# File "src/core/coverage.ml", line 2773, characters 16-29:
# 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
#                        ^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Inst {instantiation={ _ }; constraints={ _ }; _ }
# 
# File "src/core/coverage.ml", line 2784, characters 33-50:
# 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
#                                         ^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
# 
# File "src/core/coverage.ml", line 2784, characters 16-32:
# 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
#                        ^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
# 
# File "src/core/coverage.ml", line 2867, characters 55-73:
# 2867 |             Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals)
#                                                               ^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxCandidate (_, _, _)
# 
# File "src/core/coverage.ml", lines 2903-2908, characters 2-33:
# 2903 | ..function
# 2904 |   | Comp.PatNil -> Comp.PatNil
# 2905 |   | Comp.PatApp (loc, pat, pS) ->
# 2906 |      let pat' = subst_pattern (pat_r, pv) pat in
# 2907 |      let pS' = subst_pattern_spine (pat_r, pv) pS in
# 2908 |      Comp.PatApp (loc, pat', pS')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# 
# File "src/core/coverage.ml", line 2979, characters 32-45:
# 2979 | let best_pv_cand names (cD, cG) (x :: pvlist) =
#                                        ^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/coverage.ml", lines 3002-3013, characters 2-40:
# 3002 | ..match sl with
# 3003 |   | [] -> pvlist
# 3004 |   | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist
# 3005 |   | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist
# 3006 |   | SplitCtx _ :: sl -> pvInSplitCand sl pvlist
# ...
# 3010 |      );
# 3011 |      if List.mem x pvlist
# 3012 |      then pvInSplitCand sl pvlist
# 3013 |      else pvInSplitCand sl (x :: pvlist)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Split ((CovCtx _|CovPatt (_, _, _)), _)::_
# 
# File "src/core/coverage.ml", lines 3223-3231, characters 2-27:
# 3223 | ..let CovPatt (cG', pat', ttau') = covGoal in
# 3224 |   dprintf
# 3225 |     begin fun p ->
# 3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
# 3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
# 3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
# 3229 |     end;
# 3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
# 3231 |   Cand (cD_p, cG_p, ml, sl)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _))
# 
# File "src/core/coverage.ml", line 3222, characters 33-66:
# 3222 | let gen_candidate loc cD covGoal (cD_p, GenPatt (cG_p, pat, ttau)) =
#                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _)))
# 
# File "src/core/coverage.ml", lines 3399-3434, characters 2-50:
# 3399 | ..function
# 3400 |   | LF.Empty -> false
# 3401 |   | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) ->
# 3402 |      begin
# 3403 |        try
# ...
# 3431 |           print_string "Unable to prove given type is empty\n"; check_emptiness cD'
# 3432 |      end
# 3433 | 
# 3434 |   | LF.Dec (cD', LF.Decl _) -> check_emptiness cD'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt _)
# 
# File "src/core/coverage.ml", lines 3437-3447, characters 2-8:
# 3437 | ..function
# 3438 |   | LF.Empty -> false
# 3439 |   | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) ->
# 3440 |      begin
# 3441 |        try
# ...
# 3444 |          | _ -> check_empty_comp names cD cG
# 3445 |        with
# 3446 |        | _ -> check_empty_comp names cD cG
# 3447 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Automation.cmo -c -impl src/harpoon/automation.ml)
# File "src/harpoon/automation.ml", lines 107-115, characters 7-10:
# 107 | .......let LF.ClTyp (_, cPsi) as cU = Whnf.cnormMTyp (cU, t) in
# 108 |        let head = MVar (Offset idx, S.LF.id) in
# 109 |        let clobj = MObj (Root (Location.ghost, head, Nil, Plicity.explicit)) in
# 110 |        let psi_hat = Context.dctxToHat cPsi in
# 111 |        Box
# 112 |          ( Location.ghost
# 113 |          , (Location.ghost, ClObj (psi_hat, clobj))
# 114 |          , cU
# 115 |          )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Prover.cmo -c -impl src/harpoon/prover.ml)
# File "src/harpoon/prover.ml", line 241, characters 38-65:
# 241 |     let parser = Parsing.(only (maybe interactive_harpoon_command)) in
#                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: This expression has type
#          "Beluga_parser.Parser.Parsing.state ->
#          Beluga_parser.Parser.Parsing.state *
#          (Synprs.harpoon_repl_command, exn) result"
#        but an expression was expected of type
#          "Beluga_parser.Parser.Parsing.state ->
#          Beluga_parser.Parser.Parsing.state * ('a, exn) result"
#        The layout of Synprs.harpoon_repl_command is any
#          because the .cmi file for Synprs.harpoon_repl_command is missing.
#        But the layout of Synprs.harpoon_repl_command must be a sublayout of value.
#        No .cmi file found containing Synprs.harpoon_repl_command.
#        Hint: Adding "synprs" to your dependencies might help.
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Reconstruct.cmo -c -impl src/core/reconstruct.ml)
# File "src/core/reconstruct.ml", lines 55-179, characters 20-41:
#  55 | ....................function
#  56 |   | NotImplemented f ->
#  57 |       Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]"
#  58 |         f ()
#  59 |   | MCtxIllformed cD ->
# ...
# 176 |         @,  @[%a@]\
# 177 |         @]"
# 178 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC_p
# 179 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# IllegalSubstMatch
# 
# File "src/core/reconstruct.ml", lines 217-218, characters 2-45:
# 217 | ..function
# 218 |   | Int.LF.Decl d -> Name.mk_some_name d.name
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/reconstruct.ml", lines 258-267, characters 4-26:
# 258 | ....match tau, n with
# 259 |     | _, 0 -> 0
# 260 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n ->
# 261 |       Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__)
# 262 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n ->
# 263 |       1 + skip tau n (* implicits are free *)
# 264 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n ->
# 265 |       1 + skip tau (n - 1) (* explicits pi-types cost 1 *)
# 266 |     | I.TypArr (_, _, tau), n ->
# 267 |       1 + skip tau (n - 1)..............................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypPiBox (_, DeclOpt _, _), 1)
# 
# File "src/core/reconstruct.ml", lines 292-298, characters 9-92:
# 292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in
# 293 |          if Id.cid_schema_equal s_cid s_cid'
# 294 |          then Int.LF.CtxVar (Int.LF.CtxName psi)
# 295 |          else
# 296 |            let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in
# 297 |            let c_var' = Int.LF.CtxName psi in
# 298 |            Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=CTyp None; _ })
# 
# File "src/core/reconstruct.ml", lines 343-361, characters 7-10:
# 343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in
# 344 |        begin
# 345 |          let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in
# 346 |          Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi);
# 347 |          match Context.ctxVar cPsi with
# ...
# 358 |                   }
# 359 |               )
# 360 |          | _ -> ()
# 361 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp None
# 
# File "src/core/reconstruct.ml", lines 396-400, characters 2-23:
# 396 | ..match cG, k with
# 397 |   | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 ->
# 398 |      Whnf.cnormCTyp (tau, Whnf.m_id)
# 399 |   | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k ->
# 400 |      lookup cG' (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dec (cG', CTypDeclOpt _), _)
# 
# File "src/core/reconstruct.ml", lines 410-416, characters 2-32:
# 410 | ..function
# 411 |   | Apx.LF.Empty -> Int.LF.Empty
# 412 |   | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) ->
# 413 |      let ctx' = elTypDeclCtx cD ctx in
# 414 |      let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in
# 415 |      let typDecl' = Int.LF.TypDecl (name, tA) in
# 416 |      Int.LF.Dec (ctx', typDecl')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (ctx, TypDeclOpt _)
# 
# File "src/core/reconstruct.ml", line 459, characters 20-52:
# 459 | let elCDecl recT cD (Apx.LF.Decl (u, ctyp, plicity)) =
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt _
# 
# File "src/core/reconstruct.ml", lines 519-557, characters 4-26:
# 519 | ....function
# 520 |     | (Int.LF.Typ, _s) ->
# 521 |        Int.LF.Nil
# 522 | 
# 523 |     | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) ->
# ...
# 554 |            (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s))
# 555 |          end;
# 556 |        let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in
# 557 |        Int.LF.App (tR, tS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/reconstruct.ml", lines 563-575, characters 2-8:
# 563 | ..function
# 564 |   | Int.LF.Atom (_, a, _) ->
# 565 |      mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind
# 566 | 
# 567 |   | Int.LF.Sigma trec ->
# ...
# 572 |      Int.LF.PiTyp
# 573 |        ( (tdecl', depend, plicity)
# 574 |        , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA
# 575 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/reconstruct.ml", lines 578-580, characters 2-41:
# 578 | ..function
# 579 |   | Int.LF.TypDecl (x, tA) ->
# 580 |      Int.LF.TypDecl (x, mgTyp cD cPsi tA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/reconstruct.ml", lines 637-640, characters 5-18:
# 637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
# 638 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
# 639 |      in
# 640 |      Int.LF.PObj h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Root (_, h, (App (_, _)|SClo (_, _)), _)
# 
# File "src/core/reconstruct.ml", lines 647-650, characters 5-18:
# 647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
# 648 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
# 649 |      in
# 650 |      Int.LF.PObj h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Root (_, h, (App (_, _)|SClo (_, _)), _)
# 
# File "src/core/reconstruct.ml", lines 711-727, characters 2-104:
# 711 | ..match (s, cKt) with
# 712 |   | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) ->
# 713 |      Int.Comp.MetaNil
# 714 | 
# 715 |   | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) ->
# ...
# 724 | 
# 725 |   | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) ->
# 726 |      let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in
# 727 |      Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaApp (_, _), (PiKind (_, DeclOpt _, _), _))
# 
# File "src/core/reconstruct.ml", lines 798-803, characters 4-65:
# 798 | ....function
# 799 |     | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil
# 800 |     | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) ->
# 801 |        let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in
# 802 |        let mS = genMetaSpine (cK, t') in
# 803 |        Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind (loc', DeclOpt _, _), _)
# 
# File "src/core/reconstruct.ml", lines 830-842, characters 2-49:
# 830 | ..match cPsi with
# 831 |   | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) ->
# 832 |      let (n, sW) = Whnf.mctxCDec cD psi_var in
# 833 |      let v =
# 834 |        let open Int.LF in
# ...
# 839 |   | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) ->
# 840 |      let cPsi' = mgCtx cD' (cD, cPsi) in
# 841 |      let tA' = mgTyp cD' cPsi' tA in
# 842 |      Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/reconstruct.ml", lines 921-939, characters 7-54:
# 921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in
# 922 |        dprintf
# 923 |          begin fun p ->
# 924 |          p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\
# 925 |                 @,mC    = @[%a@]\
# ...
# 936 |            (mT, Whnf.m_id)
# 937 |        with
# 938 |        | Unify.Failure msg ->
# 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
# TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
# 
# File "src/core/reconstruct.ml", lines 916-939, characters 4-54:
# 916 | ....match caseT with
# 917 |     | DataObj -> () (* not dependent pattern matching; nothing to do *)
# 918 |     | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) ->
# 919 |        let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in
# 920 |        (* tau_p' _has_ to be a box type if caseT is an IndexObj  *)
# ...
# 936 |            (mT, Whnf.m_id)
# 937 |        with
# 938 |        | Unify.Failure msg ->
# 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# IndexObj
#   (PatAnn
#      (_,
#      (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)|
#      PatAnn (_, _, _, _)), _, _),
#   _)
# 
# File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22:
# 1369 | .......match id with
# 1370 |        | None -> true
# 1371 |        | Some Apx.LF.Id -> true
# 1372 |        | Some Apx.LF.EmptySub ->
# 1373 |           let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in
# 1374 |           match cPhi, cPsi with
# 1375 |           | Int.LF.Null, Int.LF.Null -> true
# 1376 |           | _ -> false
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (Dot (_, _)|SVar (_, _)|FSVar (_, _))
# 
# File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9:
# 1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in
# 1394 |       let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in
# 1395 |       let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in
# 1396 |       let s0' = Substitution.LF.comp s0 s' in
# 1397 |       begin match s0' with
# ...
# 1413 |          else
# 1414 |            throw loc IllegalSubstMatch
# 1415 |       | _ -> throw loc IllegalSubstMatch
# 1416 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _))
# 
# File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8:
# 1421 | .....begin
# 1422 |        match cpsi with
# 1423 |        | Apx.LF.CtxVar (ctxvar) ->
# 1424 |           let c_var = Lfrecon.elCtxVar ctxvar in
# 1425 |           let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in
# ...
# 1439 |                  end
# 1440 |                |> throw loc
# 1441 |           end
# 1442 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Null|CtxHole|DDec (_, _))
# 
# File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6:
# 1194 | ..match i with
# 1195 |   | Apx.Comp.Var (loc, offset) ->
# 1196 |      let tau = lookup cG offset in
# 1197 |      dprintf
# 1198 |        begin fun p ->
# ...
# 1455 |      , ( Int.Comp.TypCross (loc, ttaus')
# 1456 |        , C.m_id
# 1457 |        )
# 1458 |      )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Box
#   (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))
# 
# File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8:
# 1524 | ..match (pat, ttau) with
# 1525 |   | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) ->
# 1526 |      let tau' = Whnf.cnormCTyp (tau, theta) in
# 1527 |      dprintf
# 1528 |        begin fun p ->
# ...
# 1597 |        | Unify.Failure msg ->
# 1598 |           dprint (fun () -> "Unify Error: " ^ msg);
# 1599 |           raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau')))
# 1600 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatFVar (_, _), _)
# 
# File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57:
# 1603 | ..function
# 1604 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
# 1605 |      let tau' = elCompTyp cD tau in
# 1606 |      let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in
# 1607 |      (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id))
# ...
# 1610 |      let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in
# 1611 |      dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c));
# 1612 |      let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in
# 1613 |      (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _))
# 
# File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8:
# 1690 | .....begin match ttau with
# 1691 |      | (Int.Comp.TypCobase (_, _, _), _) ->
# 1692 |         let { Store.Cid.CompDest.Entry.name
# 1693 |             ; mctx = cD'
# 1694 |             ; obs_type = tau0
# ...
# 1730 |         let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in
# 1731 |         (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2)
# 1732 |      (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *)
# 1733 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _)
# 
# File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68:
# 1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in
# 1750 |      let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in
# 1751 |      let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in
# 1752 |      let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in
# 1753 |      let ttau' = (tau', Whnf.m_id) in
# 1754 |      let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in
# 1755 |      (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *)
# 1756 |      (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _))
# 
# File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13:
# 1784 | ..........begin match mT with
# 1785 |           | Int.LF.(MTyp (Atom _ | Sigma _ as tA))->
# 1786 |              let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in
# 1787 |              let tP' = mgTyp cD cPsi' tA in
# 1788 |              (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi'))
# ...
# 1798 |                 fixParamTyp in check.ml, and it is only used for
# 1799 |                 coverage checking. *)
# 1800 |              Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible"
# 1801 |           end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MTyp (TClo _)
# 
# File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5:
# 2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' =
# 2085 |     elHypotheses h
# 2086 |   in
# 2087 |   dprintf
# 2088 |     begin fun p ->
# ...
# 2103 |     ( loc
# 2104 |     , h'
# 2105 |     , elProof cD cG label p ttau
# 2106 |     )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
# 
# File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29:
# 2288 | ...........match k, tA' with
# 2289 |            | Some k, Int.LF.Sigma tRec ->
# 2290 |               (* Compute the type of the kth projection of tRec. *)
# 2291 |               Int.LF.getType h (tRec, LF.id) k
# 2292 |               |> Whnf.normTyp
# ...
# 2298 |                  A projected case #n.k is required.
# 2299 |                *)
# 2300 |               assert false
# 2301 |            | None, tA' -> tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _))
# 
# File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56:
# 2339 | .......let Int.LF.MTyp tP = cU in
# 2340 |        let (cD', (cPsi', tR_p, tA_p), t) =
# 2341 |          match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with
# 2342 |          | None -> assert false
# 2343 |          (* FIXME: throw an appropriate error
# ...
# 2417 |          cD_b |- [t o t']tau <= type
# 2418 |         *)
# 2419 |        in
# 2420 |        I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PTyp _|STyp (_, _))
# 
# File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57:
# 2428 | .......let Int.LF.MTyp tA = cU in
# 2429 |        let (cD', (cPsi', tM, sA), t) =
# 2430 |          match Coverage.genBVar (cD, cPsi, tA) 1 with
# 2431 |          | [x] -> x
# 2432 |          | _ ->
# ...
# 2460 |        let l' = `bvar in
# 2461 |        let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in
# 2462 |        let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in
# 2463 |        I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PTyp _|STyp (_, _))
# 
# File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44:
# 2545 | .....let Some w = w in
# 2546 |      let ctx_branches = List.map (make_ctx_branch w) bs in
# 2547 |      I.ContextSplit (i, tau_i, ctx_branches)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17:
# 2562 | .....let (cD', cG', Int.LF.Empty, tau', _) =
# 2563 |        Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau)
# 2564 |      in
# 2565 |      let hyp =
# 2566 |        elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id)
# 2567 |      in
# 2568 |      I.Intros hyp
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD', cG', Dec (_, WfRec (_, _, _)), _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/harpoon/.harpoon.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/dune-build-info -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/linenoise -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Tactic.cmo -c -impl src/harpoon/tactic.ml)
# File "src/harpoon/tactic.ml", lines 227-231, characters 7-55:
# 227 | .......match cG with
# 228 |        | LF.Dec (cG', Comp.CTypDecl (n, tA, _)) when k == 1 ->
# 229 |           LF.Dec (cG', Comp.CTypDecl (n, tA, false))
# 230 |        | LF.Dec (cG', decl) ->
# 231 |           LF.Dec (unmark_inductive_var cG' (k-1), decl)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/harpoon/tactic.ml", lines 453-468, characters 12-72:
# 453 | ............let LF.(MObj (Root (_, h, _, _))) = tM in
# 454 |             match h with
# 455 |             | LF.PVar (n, s) -> `pvar None
# 456 |             | LF.(Proj (PVar (n, s), k)) -> `pvar (Some k)
# 457 |             | LF.Const cid -> `ctor cid
# ...
# 465 |                    P.(fmt_ppr_cmp_pattern cD cG l0) pat
# 466 |                  end;
# 467 |                  Error.raise_violation
# 468 |                  "[make_meta_branch] head neither pvar (proj) nor const"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MObj (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlc.opt -w -40 -g -bin-annot -bin-annot-occurrences -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Logic.cmo -c -impl src/core/logic.ml)
# File "src/core/logic.ml", lines 190-203, characters 4-36:
# 190 | ....match tN with
# 191 |     | LF.Lam (l, n, tN') ->
# 192 |        begin
# 193 |          incr lR;
# 194 |          let tM = LF.Lam (l, n, shiftNormal tN' k) in
# ...
# 200 |     | LF.Clo (tN, s) ->
# 201 |        LF.Clo (shiftNormal tN k, s)
# 202 |     | LF.Tuple (l, tP) ->
# 203 |        LF.Tuple (l, shiftTuple tP k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# LFHole (_, _, _)
# 
# File "src/core/logic.ml", lines 241-251, characters 4-8:
# 241 | ....match tA with
# 242 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tA') ->
# 243 |        typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR)
# 244 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
# 245 |        typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR)))
# ...
# 248 |        { tHead = (Shift.shiftAtom tA (-cS, -dS, dR))
# 249 |        ; eVars = eV
# 250 |        ; subGoals = cG
# 251 |        }
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, Explicit), _)
# 
# File "src/core/logic.ml", lines 297-306, characters 4-30:
# 297 | ....match tA with
# 298 |     | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') ->
# 299 |        All (tdec, typToGoal tA' (cS, dS, dR + 1))
# 300 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) ->
# 301 |        Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1))
# 302 |     | LF.Atom _ ->
# 303 |        Atom (Shift.shiftAtom tA (-cS, -dS, dR))
# 304 |     | LF.TClo (tA, s) ->
# 305 |        dprintf begin fun p -> p.fmt "[typToGoal] TClo" end;
# 306 |        raise NotImplementedYet
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, Explicit), _)
# 
# File "src/core/logic.ml", lines 309-315, characters 4-47:
# 309 | ....match tM with
# 310 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tM') ->
# 311 |        Exists (tD, typToRes tM' (cS, dS, dR + 1))
# 312 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
# 313 |        And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1))
# 314 |     | LF.Atom _ ->
# 315 |        Head (Shift.shiftAtom tM (-cS, -dS, dR))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, Explicit), _)
# 
# File "src/core/logic.ml", lines 326-348, characters 4-34:
# 326 | ....match tau with
# 327 |     | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) ->
# 328 |        (* Invariant: tA will always be atomic in our implementation *)
# 329 |        Box (cPsi, Atom tA, Some M)
# 330 |        (* possibly needs to have PiBox variables shifted;
# ...
# 345 |        let typ_dec = Comp.CTypDecl (name, tau1 , true) in
# 346 |        Implies ((cr1, typ_dec), cg2)
# 347 |     | Comp.TypBase (_, comp_cid, s) ->
# 348 |        Atomic (comp_cid, msToAs s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypBox (_, CTyp _)
# 
# File "src/core/logic.ml", lines 351-358, characters 4-47:
# 351 | ....match tau with
# 352 |     | Comp.TypBox (_) | Comp.TypBase(_) ->
# 353 |        Base tau
# 354 |     | Comp.TypArr (_, tau1, tau2) ->
# 355 |        CAnd (comptypToCompGoal tau1, comptypToCompRes tau2)
# 356 |     | Comp.TypPiBox (_, typ_dec, tau') ->
# 357 |        CExists (typ_dec, comptypToCompRes tau')
# 358 |     | Comp.TypInd tau' -> comptypToCompRes tau'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
# 
# File "src/core/logic.ml", lines 394-402, characters 4-30:
# 394 | ....match box with
# 395 |     | Box (cPsi, Atom tA, Some M) ->
# 396 |        let loc = Location.ghost in
# 397 |        let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in
# 398 |        Comp.TypBox (loc, ctyp)
# 399 |     | Box (cPsi, Atom tA, Some P) ->
# 400 |        let loc = Location.ghost in
# 401 |        let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in
# 402 |        Comp.TypBox (loc, ctyp)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Box (_, Atom _, None)
# 
# File "src/core/logic.ml", lines 412-416, characters 4-34:
# 412 | ....match atomic with
# 413 |     | Atomic (cid, aS) ->
# 414 |        let loc = Location.ghost in
# 415 |        let mS = asToMs aS in
# 416 |        Comp.TypBase (loc, cid, mS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Box (_, _, _)|Implies ((_, _), _)|Forall (_, _))
# 
# File "src/core/logic.ml", lines 434-443, characters 4-10:
# 434 | ....match tA with
# 435 |     | LF.Atom _ ->
# 436 |        let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in
# 437 |        LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit)
# 438 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) ->
# 439 |        LF.Lam
# 440 |          ( Location.ghost
# 441 |          , x
# 442 |          , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s)
# 443 |          )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/logic.ml", lines 462-470, characters 4-68:
# 462 | ....match eV with
# 463 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
# 464 |        let (s', fS') = dctxToSub cD cPsi (eV', s) fS in
# 465 |        let tM' = etaExpand cD cPsi (tA, s') in
# 466 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
# 467 |     | LF.Null -> (s, fS)
# 468 |     | LF.CtxVar _ ->
# 469 |        invalid_arg
# 470 |          "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _."
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (eV', TypDeclOpt _)
# 
# File "src/core/logic.ml", lines 475-481, characters 4-28:
# 475 | ....match eV with
# 476 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
# 477 |        let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in
# 478 |        let tM' = etaExpand cD cPsi (tA, s') in
# 479 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
# 480 |     | LF.Null -> (s, fS)
# 481 |     | LF.CtxVar _ -> (s, fS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (eV', TypDeclOpt _)
# 
# File "src/core/logic.ml", lines 500-501, characters 6-52:
# 500 | ......match lst with
# 501 |       | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 510-513, characters 6-20:
# 510 | ......match dctx with
# 511 |       | LF.DDec (dctx', _) -> find_ctxvar_offset dctx'
# 512 |       | LF.CtxVar (LF.CtxOffset k) -> k
# 513 |       | LF.Null -> 0
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/logic.ml", lines 697-709, characters 9-47:
# 697 | .........(match mtyp with
# 698 |          | LF.ClTyp (LF.MTyp _, _) ->
# 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
# 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
# 701 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
# ...
# 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
# 707 |               ((x, (loc, mfront)) :: xs)
# 708 |          | LF.CTyp cid_opt ->
# 709 |             comptypToMQuery' (tau', i-1) ms xs)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (STyp (_, _), _)
# 
# File "src/core/logic.ml", lines 696-709, characters 9-47:
# 696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in
# 697 |          (match mtyp with
# 698 |          | LF.ClTyp (LF.MTyp _, _) ->
# 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
# 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
# ...
# 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
# 707 |               ((x, (loc, mfront)) :: xs)
# 708 |          | LF.CTyp cid_opt ->
# 709 |             comptypToMQuery' (tau', i-1) ms xs)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/logic.ml", lines 1084-1094, characters 4-72:
# 1084 | ....match r with
# 1085 |     | Head tH ->
# 1086 |        fmt_ppr_typ cD cPsi ppf (tH, s)
# 1087 |     | And (g, r') ->
# 1088 |        fprintf ppf "%a -> %a"
# ...
# 1091 |     | Exists (LF.TypDecl (_, _tA) as tD, r') ->
# 1092 |        fprintf ppf "(∃%a. %a)"
# 1093 |          (fmt_ppr_decl cD cPsi) (tD, s)
# 1094 |          (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Exists (TypDeclOpt _, _)
# 
# File "src/core/logic.ml", lines 1305-1332, characters 4-19:
# 1305 | ....match s with
# 1306 |     | LF.Shift _ -> true
# 1307 |     | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') ->
# 1308 |        if uninstantiated hd then false
# 1309 |        else check_sub s'
# ...
# 1329 |        if uninstantiated hd then false
# 1330 |        else check_sub s'
# 1331 |     | LF.Dot (_, s') ->
# 1332 |        check_sub s'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/logic.ml", lines 1337-1339, characters 6-48:
# 1337 | ......match cD with
# 1338 |       | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity
# 1339 |       | LF.Dec (cD', _) -> get_plicity cD' (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/logic.ml", lines 1394-1412, characters 4-30:
# 1394 | ....match g with
# 1395 |     | Atom tA ->
# 1396 |        matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth)
# 1397 | 
# 1398 |     | Impl ((r, (LF.TypDecl (x, _) as tD)), g') ->
# ...
# 1409 |           So we just prove the conclusion in an extended context. *)
# 1410 |        gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s)
# 1411 |          (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM)))
# 1412 |          (currDepth, maxDepth)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Impl ((r, TypDeclOpt _), _)
# 
# File "src/core/logic.ml", lines 1444-1446, characters 17-29:
# 1444 | .................match cltyp with
# 1445 |          | LF.MTyp tau -> tau
# 1446 |          | LF.PTyp tau -> tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 1439-1483, characters 4-96:
# 1439 | ....match cD with
# 1440 |     | LF.Empty -> raise NoSolution
# 1441 |     | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) ->
# 1442 |        solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
# 1443 |     | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) ->
# ...
# 1480 |            end
# 1481 |        with
# 1482 |        | U.Failure _ ->
# 1483 |      solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, DeclOpt _)
# 
# File "src/core/logic.ml", lines 1496-1600, characters 4-76:
# 1496 | ....match s with
# 1497 |     | LF.Shift _ ->
# 1498 | dprintf begin fun p ->
# 1499 |             p.fmt "[trivially_prove] s_all = %a"
# 1500 |               (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all
# ...
# 1597 |          with
# 1598 |          | U.Failure _ | NoSolution -> raise NoSolution)
# 1599 |     | LF.Dot (_, s') ->
# 1600 |        trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/logic.ml", lines 2260-2263, characters 4-25:
# 2260 | ....match cG with
# 2261 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name
# 2262 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) ->
# 2263 |        get_name (k-1) cG'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG', CTypDeclOpt _)
# 
# File "src/core/logic.ml", lines 2337-2340, characters 4-21:
# 2337 | ....match cdecl with
# 2338 |     | Comp.CTypDecl (_, tau, _) ->
# 2339 |        let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
# 2340 |        (cc, k, Boxed)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/logic.ml", lines 2416-2417, characters 9-57:
# 2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
# 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Full (Full (_, ({ _ }, _, _)), ({ _ }, _, _))
# 
# File "src/core/logic.ml", lines 2407-2418, characters 6-33:
# 2407 | ......match (cP, cG) with
# 2408 |       | (Emp, LF.Dec(cG', cdecl)) ->
# 2409 |          let cc = decToCC cdecl 1 in
# 2410 |          let cP_ret' = shift_cPool cP_ret 1 in
# 2411 |          update cP cG' (prependToCPool cc cP_ret') (k+1)
# ...
# 2415 |            if pos' = k then unbox cc else cc in
# 2416 |          let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
# 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
# 2418 |       | (Emp, LF.Empty) -> cP_ret
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Full (cP', cc), Empty)
# 
# File "src/core/logic.ml", lines 2470-2476, characters 6-36:
# 2470 | ......match tA with
# 2471 |       | LF.Atom (l, cid, sp) ->
# 2472 |          LF.Atom (l, cid, remove_sp sp)
# 2473 |       | LF.PiTyp ((td, depend, plicity), tA') ->
# 2474 |          LF.PiTyp ((td, depend, plicity), remove_typ tA)
# 2475 |       | LF.TClo (tA', s) ->
# 2476 |          LF.TClo (remove_typ tA', s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Sigma _
# 
# File "src/core/logic.ml", lines 2495-2508, characters 6-49:
# 2495 | ......match tau with
# 2496 |       | Comp.TypBase (l, cid, mS) ->
# 2497 |          Comp.TypBase (l, cid, remove_mS mS)
# 2498 |       | Comp.TypBox (l, mT) ->
# 2499 |          (match mT with
# ...
# 2505 |       | Comp.TypArr (l, tau1, tau2) ->
# 2506 |          Comp.TypArr (l, remove_tau tau1, remove_tau tau2)
# 2507 |       | Comp.TypPiBox (l, cdec, tau') ->
# 2508 |          Comp.TypPiBox (l, cdec, remove_tau tau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _)
# 
# File "src/core/logic.ml", lines 2731-2741, characters 9-52:
# 2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
# 2732 |          let mmvar' =
# 2733 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
# 2734 |              mmvar.LF.inductivity in
# 2735 |          let norm = LF.Root (noLoc,
# ...
# 2738 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
# 2739 |          let x = Comp.M ((noLoc, mf), mT) in
# 2740 |          let (xs, sub) = gen_new_ih_args lst' ys in
# 2741 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/logic.ml", lines 2752-2762, characters 9-52:
# 2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
# 2753 |          let mmvar' =
# 2754 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
# 2755 |              mmvar.LF.inductivity in
# 2756 |          let norm = LF.Root (noLoc, LF.MMVar
# ...
# 2759 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
# 2760 |          let x = Comp.M ((noLoc, mf), mT) in
# 2761 |          let (xs, sub) = gen_new_ih_args lst' ys in
# 2762 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/logic.ml", lines 2771-2779, characters 9-58:
# 2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in
# 2772 |          let mmvar' =
# 2773 |            Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
# 2774 |              mmvar.LF.inductivity in
# 2775 |          let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in
# 2776 |          let mf = LF.ClObj (dctx_hat, LF.PObj hd) in
# 2777 |          let x = Comp.M ((noLoc, mf), mT) in
# 2778 |          let (xs, sub) = gen_new_ih_args lst' ys in
# 2779 |          (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|STyp (_, _)), _)
# 
# File "src/core/logic.ml", lines 2842-2843, characters 11-44:
# 2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in
# 2843 |            (loc, LF.ClObj (dh, LF.PObj hd'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/logic.ml", lines 2920-2921, characters 6-42:
# 2920 | ......match i with
# 2921 |       | Comp.Var(l, k) -> Comp.Var(l, k+1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))|
# LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)|
# Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)|
# Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)|
# AnnBox (_, (_, _), _))
# 
# File "src/core/logic.ml", lines 2977-2978, characters 6-37:
# 2977 | ......match cltyp with
# 2978 |       | LF.MTyp tA | LF.PTyp tA -> tA
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 2998-3001, characters 6-58:
# 2998 | ......match cG_a with
# 2999 |       | [] -> false
# 3000 |       | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' ->
# 3001 |          (Name.equal name name2) || (old_split name cG_a')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CTypDeclOpt _, _, _, _, _, _)::_
# 
# File "src/core/logic.ml", lines 3005-3009, characters 6-37:
# 3005 | ......match cG_a with
# 3006 |       | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a'
# 3007 |            when Name.equal name name2 ->
# 3008 |          (con, thm, bool)
# 3009 |       | x :: xs -> find_split name xs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3013-3065, characters 6-30:
# 3013 | ......match (cG, cPool) with
# 3014 |       | (LF.Dec(cG',
# 3015 |                 ((Comp.CTypDecl (name, Comp.TypBox
# 3016 |                                          (_, LF.ClTyp (cltyp, cPsi)), _wf))
# 3017 |                  as cdecl)),
# ...
# 3062 |       | (LF.Dec (cG', _), Full (cPool', _)) ->
# 3063 |          update (cG', cPool', ret)
# 3064 | 
# 3065 |       | (LF.Empty, Emp) -> ret
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dec (cG', _), Emp)
# 
# File "src/core/logic.ml", lines 3084-3087, characters 6-38:
# 3084 | ......match cD_a with
# 3085 |       | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a'
# 3086 |            when Name.equal d.name n -> x
# 3087 |       | _ :: cD_a' -> retrieve n cD_a'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3103-3108, characters 21-41:
# 3103 | .....................match cltyp with
# 3104 |            | LF.MTyp tA ->
# 3105 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
# 3106 |                                 LF.Nil, Plicity.explicit))
# 3107 |            | LF.PTyp tA ->
# 3108 |               LF.PObj (LF.PVar (1, S.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3094-3118, characters 9-31:
# 3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
# 3095 |            retrieve name cD_a in
# 3096 |          let (con', bool') =
# 3097 |            if bool then
# 3098 |               try
# ...
# 3115 |          let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in
# 3116 |          let x = (tdecl', Some i, con', 1, thm, bool') in
# 3117 |          let ret' = shift_cD_a ret in
# 3118 |          update cD' (x :: ret')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (DeclOpt { _ }, _, _, _, _, _)
# 
# File "src/core/logic.ml", lines 3126-3131, characters 21-41:
# 3126 | .....................match cltyp with
# 3127 |            | LF.MTyp tA ->
# 3128 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
# 3129 |                                 LF.Nil, Plicity.explicit))
# 3130 |            | LF.PTyp tA ->
# 3131 |               LF.PObj (LF.PVar (1, S.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3090-3157, characters 6-23:
# 3090 | ......match cD with
# 3091 |       | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp)
# 3092 |                                ; plicity = Plicity.Explicit; _ }) as tdecl))
# 3093 |            when is_in name cD_a ->
# 3094 |          let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
# ...
# 3154 |          let x = (tdecl', None, con, 1, None, bool) in
# 3155 |          let ret' = shift_cD_a ret in
# 3156 |          update cD' (x :: ret')
# 3157 |       | LF.Empty -> ret
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, DeclOpt _)
# 
# File "src/core/logic.ml", lines 3243-3251, characters 6-44:
# 3243 | ......match cG_a with
# 3244 |       | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a'
# 3245 |            when Name.equal name n ->
# 3246 |          (tau, i, thm_var,
# 3247 |           (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false)
# 3248 |           :: cG_a', k)
# 3249 |       | x :: cG_a' ->
# 3250 |          let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in
# 3251 |          (tau, i, thm_var, x :: cG_a'', pos)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3256-3264, characters 6-39:
# 3256 | ......match cD_a with
# 3257 |       | (LF.Decl d, Option.Some i, no, k, thm_var, true)
# 3258 |         :: cD_a' when Name.equal name d.name ->
# 3259 |          let tau = Comp.TypBox(noLoc, d.typ) in
# 3260 |          (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false)
# 3261 |                      :: cD_a')
# 3262 |       | x :: cD_a' ->
# 3263 |          let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in
# 3264 |          (tau, i, thm_var, x :: cD_a'')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3330-3332, characters 9-42:
# 3330 | .........let (Some n) = find_mvar k cD_a in
# 3331 |          let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in
# 3332 |          (tau, i, thm_var, cD_a', cG_a, 0).
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 3358-3365, characters 8-50:
# 3358 | ........match cG_a with
# 3359 |         | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool)
# 3360 |           :: cG_a' when Name.equal name name2 ->
# 3361 |            (cdecl, con, thm, bool, cG_a')
# 3362 |         | x :: xs ->
# 3363 |            let (tdecl, num, thm_var, bool, cG_a') =
# 3364 |              remove xs in
# 3365 |            (tdecl, num, thm_var, bool, x :: cG_a')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3374-3399, characters 7-25:
# 3374 | .......(match cltyp with
# 3375 |        | LF.MTyp tA ->
# 3376 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in
# 3377 |           let norm =
# 3378 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
# ...
# 3396 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
# 3397 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
# 3398 |                       :: (shift_cD_a cD_a) in
# 3399 |           (cD_a', cG_a'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3403-3428, characters 7-25:
# 3403 | .......(match cltyp with
# 3404 |        | LF.MTyp _ ->
# 3405 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in
# 3406 |           let norm =
# 3407 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
# ...
# 3425 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
# 3426 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
# 3427 |                       :: (shift_cD_a cD_a) in
# 3428 |           (cD_a', cG_a'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3489-3525, characters 7-31:
# 3489 | .......(match cltyp with
# 3490 |         | LF.MTyp _ ->
# 3491 |           let norm =
# 3492 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
# 3493 |                      LF.Nil, plicity) in
# ...
# 3522 |             | false -> None
# 3523 |           in
# 3524 |           (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true)
# 3525 |           :: (shift_cD_a cD_a))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3646-3651, characters 4-46:
# 3646 | ....match cG with
# 3647 |     | LF.Empty -> cPool
# 3648 |     | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) ->
# 3649 |        let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
# 3650 |        let cc = (clause, (lengthCPool cPool) + 1, Boxed) in
# 3651 |        gen_cPool cG' (prependToCPool cc cPool)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG', CTypDeclOpt _)
# 
# File "src/core/logic.ml", lines 3898-3900, characters 6-46:
# 3898 | ......match cD with
# 3899 |       | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name
# 3900 |       | LF.Dec (cD', _) -> find_name cD' (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/logic.ml", lines 4037-4047, characters 22-64:
# 4037 | ......................match mobj with
# 4038 |         | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
# 4039 |           | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) ->
# 4040 |            mmvar.LF.instantiation :=
# 4041 |              Some (LF.INorm (LF.Root (noLoc,
# ...
# 4044 |         | LF.PObj LF.MPVar ((mmvar, _), _)
# 4045 |           | LF.PObj LF.MMVar ((mmvar, _), _) ->
# 4046 |            mmvar.LF.instantiation :=
# 4047 |              Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MObj
#   (Root
#      (_,
#      (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#      FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _))
# 
# File "src/core/logic.ml", lines 4051-4057, characters 6-26:
# 4051 | ......match ih_args with
# 4052 |       | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs ->
# 4053 |          if Solver.uninstantiated hd then mobj else grab xs
# 4054 |       | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _))
# 4055 |         :: xs->
# 4056 |          if Solver.uninstantiated hd then mobj else grab xs
# 4057 |       | _ :: xs -> grab xs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 4060-4064, characters 14-56:
# 4060 | ..............match mobj with
# 4061 |       | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
# 4062 |       | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _))
# 4063 |       | LF.PObj LF.MPVar ((mmvar, _), _)
# 4064 |       | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ...
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MObj
#   (Root
#      (_,
#      (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|
#      FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)|
#      HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _))), _,
#      _))
# 
# File "src/core/logic.ml", lines 4079-4090, characters 6-88:
# 4079 | ......let Some cid = thm_cid in
# 4080 |       let i = Comp.Const(noLoc, cid) in
# 4081 |       let sc' = (fun e -> sc (Comp.Case (noLoc,
# 4082 |                                        Comp.PragmaNotCase,
# 4083 |                                        Whnf.cnormExp (fS i, LF.MShift 0),
# ...
# 4087 |                                                      pattern,
# 4088 |                                                      LF.MShift 0,
# 4089 |                                                      e)]))) in
# 4090 |       find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 4126-4128, characters 21-40:
# 4126 | .....................match (currDepth, maxDepth) with
# 4127 |         | (Some k, None) -> (k, 0)
# 4128 |         | (Some k1, Some k2) -> (k1, k2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (None, _)
# 
# File "src/core/logic.ml", lines 4290-4311, characters 9-83:
# 4290 | .........let Some cid = thm_cid in
# 4291 |          let i = arg_builder (Comp.Const(noLoc, cid)) in
# 4292 |          let (ms', fS) =
# 4293 |            C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in
# 4294 |          let ms'' = rev_ms ms' 0 in
# ...
# 4308 |          with
# 4309 |          | U.Failure _ | DepthReached _ | End_Of_Search ->
# 4310 |          focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
# 4311 |            (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 4595-4597, characters 6-57:
# 4595 | ......match cG with
# 4596 |       | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau
# 4597 |       | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/logic.ml", lines 4895-4905, characters 10-31:
# 4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool,
# 4896 |                 ms_b, pat, td_b, cid)] = blist in
# 4897 | 
# 4898 |           invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b
# 4899 |             (normCompGoal (cg, ms)) ms_b
# ...
# 4902 |                              [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat,
# 4903 |                                           ms_b, e)])))
# 4904 |             (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 4905 |             (ind, thm, td, cid)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid)::
# (_, _, _, _, _, _, _, _, _, _, _, _)::_
# 
# File "src/core/logic.ml", lines 4976-5015, characters 7-35:
# 4976 | .......let Atom tA = g' in
# 4977 |        let cltyp = LF.MTyp tA in
# 4978 |        let sc' =
# 4979 |          (fun (cPsi', tM) ->
# 4980 |            let dctx_hat = Context.dctxToHat cPsi' in
# ...
# 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5014 |                  (ind, thm, td, thm_cid);
# 5015 |                raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Impl ((_, _), _)|All (_, _))
# 
# File "src/core/logic.ml", lines 4975-5015, characters 7-35:
# 4975 | .......let Box(cPsi',g',_) = cg' in
# 4976 |        let Atom tA = g' in
# 4977 |        let cltyp = LF.MTyp tA in
# 4978 |        let sc' =
# 4979 |          (fun (cPsi', tM) ->
# ...
# 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5014 |                  (ind, thm, td, thm_cid);
# 5015 |                raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
# 
# File "src/core/logic.ml", lines 5024-5029, characters 11-51:
# 5024 | ...........let LF.Root (_,hd,_,_) = tM in
# 5025 |            let dctx_hat = Context.dctxToHat cPsi' in
# 5026 |            let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in
# 5027 |            let meta_obj = (noLoc, mfront) in
# 5028 |            let meta_typ = LF.ClTyp (cltyp, cPsi') in
# 5029 |            sc (Comp.Box(noLoc, meta_obj, meta_typ)).
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/logic.ml", lines 5020-5060, characters 7-34:
# 5020 | .......let Atom tA = g' in
# 5021 |        let cltyp = LF.PTyp tA in
# 5022 |        let sc' =
# 5023 |          (fun (cPsi', tM) ->
# 5024 |            let LF.Root (_,hd,_,_) = tM in
# ...
# 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5059 |                 (ind, thm, td, thm_cid);
# 5060 |               raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Impl ((_, _), _)|All (_, _))
# 
# File "src/core/logic.ml", lines 5019-5060, characters 7-34:
# 5019 | .......let Box(_,g',_) = cg' in
# 5020 |        let Atom tA = g' in
# 5021 |        let cltyp = LF.PTyp tA in
# 5022 |        let sc' =
# 5023 |          (fun (cPsi', tM) ->
# ...
# 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5059 |                 (ind, thm, td, thm_cid);
# 5060 |               raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
# 
# File "src/core/logic.ml", lines 4969-5085, characters 4-30:
# 4969 | ....match cg with
# 4970 |     | Box (cPsi, g, Some M) ->
# 4971 |        (* We apply the msub here in case there are FREE MVARS that
# 4972 |           appear from unify   *)
# 4973 |        let ms = Whnf.cnormMSub ms in
# ...
# 5082 |            split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5083 |              (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5084 |              (ind, thm, td, thm_cid);
# 5085 |            raise End_Of_Search
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Box (_, _, None)
# 
# File "src/core/logic.ml", lines 5223-5246, characters 7-36:
# 5223 | .......let Some cid = thm_cid in
# 5224 |        let cIH_all' = Total.shift cIH_all in
# 5225 |        let cIH'' = Total.shift cIH' in
# 5226 |        let i = Comp.Const(noLoc, cid) in
# 5227 |        (try
# ...
# 5243 |        | End_Of_Search | DepthReached _ ->
# 5244 |           blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
# 5245 |             (cDepth, mDepth, currSplitDepth, maxSplitDepth)
# 5246 |             (ind, thm, td, thm_cid))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5263-5286, characters 7-32:
# 5263 | .......let Some cid = thm_cid in
# 5264 |        let i = Comp.Const(noLoc, cid) in
# 5265 |        let cIH'' = Total.shift cIH' in
# 5266 |        let cIH_all' = Total.shift cIH_all in
# 5267 |        let exp = Whnf.cnormExp (fS i, LF.MShift 0) in
# ...
# 5283 |        in
# 5284 |        blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc'
# 5285 |          (cDepth, mDepth, currSplitDepth, maxSplitDepth)
# 5286 |          (ind, thm, td, thm_cid)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5393-5394, characters 6-46:
# 5393 | ......match cp with
# 5394 |       | (_cc, _k, Boxed) -> (_cc, _k, Unboxed)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_cc, _k, Unboxed)
# 
# File "src/core/logic.ml", lines 5441-5458, characters 10-49:
# 5441 | ..........match r with
# 5442 |           | LF.ClTyp (LF.MTyp _, cPsi) ->
# 5443 |              let tM =
# 5444 |                LF.Root
# 5445 |                  ( noLoc
# ...
# 5455 |              LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)),
# 5456 |                        LF.PObj hd)
# 5457 |           | LF.CTyp _ ->
# 5458 |              LF.CObj (LF.CtxVar (LF.CtxOffset 1))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (STyp (_, _), _)
# 
# File "src/core/logic.ml", lines 5549-5554, characters 7-37:
# 5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in
# 5550 |        let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in
# 5551 |        let cIH' = Total.shift cIH in
# 5552 |        uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc'
# 5553 |          (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1)
# 5554 |          (ind, thm, td, thm_cid) blur
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/logic.ml", lines 5587-5590, characters 24-19:
# 5587 | ........................match sp with
# 5588 |       | 0 -> Some 0  (* No splitting.    *)
# 5589 |       | 1 -> None    (* Only inversions. *)
# 5590 |       | 2 -> Some 1........................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# 3
# 
# File "src/core/logic.ml", lines 5795-5798, characters 9-40:
# 5795 | .........let Some iterm = !(mmvar.LF.instantiation) in
# 5796 |          (match iterm with
# 5797 |          | LF.IHead hd -> hd
# 5798 |          | _ -> raise NotImplementedYet)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5800-5803, characters 9-40:
# 5800 | .........let Some iterm = !(mmvar.LF.instantiation) in
# 5801 |          (match iterm with
# 5802 |          | LF.IHead hd -> hd
# 5803 |          | _ -> raise NotImplementedYet)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5805-5808, characters 9-40:
# 5805 | .........let Some iterm = !(mmvar.LF.instantiation) in
# 5806 |          (match iterm with
# 5807 |          | LF.IHead hd -> hd
# 5808 |          | _ -> raise NotImplementedYet)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5834-5835, characters 11-16:
# 5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in
# 5835 |            iterm
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5837-5838, characters 11-16:
# 5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in
# 5838 |            iterm
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5840-5841, characters 11-16:
# 5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in
# 5841 |            iterm
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5847-5849, characters 9-33:
# 5847 | .........(match remove_head_mvars hd with
# 5848 |          | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p)
# 5849 |          | LF.INorm norm -> norm)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ISub _|ICtx _)
# 
# File "src/core/logic.ml", lines 6066-6076, characters 8-33:
# 6066 | ........match tau with
# 6067 |         | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n
# 6068 |         | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1)
# 6069 |         | Comp.TypInd (_) -> Option.some n
# 6070 |         | Comp.TypBox (_, _) -> Option.none
# ...
# 6073 |            let ind = ind_index tau1 n in
# 6074 |            match ind with
# 6075 |            | Option.None -> ind_index tau2 (n + 1)
# 6076 |            | Option.Some _ -> ind
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Order.cmx -c -impl src/core/order.ml)
# File "src/core/order.ml", lines 26-34, characters 2-23:
# 26 | ..function
# 27 |   | I.Arg x -> Some [x]
# 28 |   | I.Lex xs ->
# 29 |      let f =
# 30 |        function
# 31 |        | I.Arg x -> Some x
# 32 |        | _ -> None (* We don't support nested lexicographic orders. *)
# 33 |      in
# 34 |      List.traverse f xs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Simul _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Erase.cmx -c -impl src/core/erase.ml)
# File "src/core/erase.ml", lines 6-19, characters 2-33:
#  6 | ..match (tau, n) with
#  7 |   | (_, 0) -> 0
#  8 |   | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1)
#  9 |   | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) ->
# 10 |     (* We count [Inductive] as 1 instead of throwing an error because
# ...
# 16 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) ->
# 17 |     1 + numeric_order_arg tau (n - 1)
# 18 |   | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) ->
# 19 |     numeric_order_arg tau (n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypPiBox (_, DeclOpt _, _), 1)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Substitution.cmx -c -impl src/core/substitution.ml)
# File "src/core/substitution.ml", lines 105-124, characters 4-44:
# 105 | ....match (n, s) with
# 106 |     | (_, Undefs) -> Undef
# 107 |     | (1, Dot (ft, _s)) -> ft
# 108 |     | (n, Dot (_ft, s)) -> bvarSub (n - 1) s
# 109 |     | (n, Shift k) -> Head (BVar (n + k))
# ...
# 121 |            Free BVar (n + k) ... -bp *)
# 122 |        Head (HClo (n + k, s, sigma))
# 123 |     | (n, MSVar (k, ((s, t), sigma))) ->
# 124 |        Head (HMClo (n + k, ((s, t), sigma)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, (EmptySub|FSVar (_, _)))
# 
# File "src/core/substitution.ml", lines 156-159, characters 12-73:
# 156 | ............function
# 157 |             | (Last u, 1) -> u
# 158 |             | (Cons (u, _), 1) -> u
# 159 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last u, 0)
# 
# File "src/core/substitution.ml", lines 166-169, characters 12-73:
# 166 | ............function
# 167 |             | (Last u, 1) -> u
# 168 |             | (Cons (u, _), 1) -> u
# 169 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last u, 0)
# 
# File "src/core/substitution.ml", lines 147-194, characters 7-10:
# 147 | .......begin match bvarSub n s with
# 148 |        | Head (BVar x) ->
# 149 |           Head (Proj (BVar x, k))
# 150 | 
# 151 |        | Head (PVar _ as h) ->
# ...
# 191 |        | Head (AnnH _ ) -> failwith "Found head that is AnnH"
# 192 |        | Head (MMVar _ ) -> failwith "Found head that is MMVar"
# 193 |        | Head _ -> failwith "Found head that is not a BVar or PVar"
# 194 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/substitution.ml", lines 203-206, characters 12-73:
# 203 | ............function
# 204 |             | (Last u, 1) -> (u, s)
# 205 |             | (Cons (u, _), 1) -> (u, s)
# 206 |             | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last u, 0)
# 
# File "src/core/substitution.ml", lines 197-210, characters 7-10:
# 197 | .......begin match frontSub (Head h) s with
# 198 |        | Head h' ->
# 199 |           Head (Proj (h', k))
# 200 | 
# 201 |        | Obj (Tuple (_, tuple)) ->
# ...
# 207 |           in
# 208 |           (*              Obj (Clo (nth s (tuple, k))) *)
# 209 |           Obj (Pair.fst (nth s (tuple, k)))
# 210 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _)
# 
# File "src/core/substitution.ml", lines 213-214, characters 7-26:
# 213 | .......let Head h' = frontSub (Head h) s in
# 214 |        Head (AnnH (h', a))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undef|Obj _)
# 
# File "src/core/substitution.ml", lines 138-221, characters 4-35:
# 138 | ....match ft with
# 139 |     | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s))
# 140 |     | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s)))
# 141 |     | Head (BVar n) -> bvarSub n s
# 142 |     | Head (FVar _) -> ft
# ...
# 218 |     | Obj u -> Obj (Clo (u, s))
# 219 |     | Undef -> Undef
# 220 |     | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s))
# 221 |     | Head (FPVar (_n, _s' )) -> ft
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head (MPVar _|FMVar _)
# 
# File "src/core/substitution.ml", line 263, characters 13-30:
# 263 |   let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s))
#                    ^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/substitution.ml", lines 292-300, characters 6-33:
# 292 | ......match s with
# 293 |       | EmptySub -> None
# 294 |       | Undefs -> None
# 295 |       | Shift _ -> None
# 296 |       | Dot (Undef, s') -> lookup (n + 1) s' p
# 297 |       | Dot (Head (BVar k), s') ->
# 298 |          if k = p
# 299 |          then Some (Head (BVar n))
# 300 |          else lookup (n + 1) s' p
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dot
#   (Head
#      (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#      FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
#   _)
# 
# File "src/core/substitution.ml", lines 314-324, characters 6-37:
# 314 | ......match s with
# 315 |       | EmptySub ->
# 316 |          invert'' maxoffset Undefs
# 317 |       | Undefs ->
# 318 |          invert'' maxoffset Undefs
# ...
# 321 |       | Dot (Head (BVar k), s') ->
# 322 |          invert' (n + 1) s' (max k maxoffset)
# 323 |       | Dot (_, s') -> (* Is this really necessary? -ac *)
# 324 |          invert' (n + 1) s' maxoffset
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/substitution.ml", lines 335-350, characters 4-65:
# 335 | ....match (s, cPsi) with
# 336 |     | (Shift _ (* 0 *), Null) ->
# 337 |        Null
# 338 |     | (Shift _, CtxVar psi) ->
# 339 |        CtxVar psi
# ...
# 347 |     | (Dot (Undef, t), DDec (cPsi, _)) ->
# 348 |        strengthen t cPsi
# 349 |     | (Shift n, cPsi) ->
# 350 |        strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dot (Head (BVar _k), t), (Null|CtxVar _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Context.cmx -c -impl src/core/context.ml)
# File "src/core/context.ml", lines 90-104, characters 4-24:
#  90 | ....function
#  91 |     | (DDec (_, TypDecl (x, tA')), 1) ->
#  92 |        TypDecl (x, TClo (tA', Shift k))
#  93 | 
#  94 |     | (DDec (cPsi', TypDecl _), k') ->
# ...
# 101 |        ctxDec' (cPsi', k'-1)
# 102 | 
# 103 |     | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) ->
# 104 |        ctxDec' (cPsi, k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxVar
#    (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)),
# _)
# 
# File "src/core/context.ml", lines 124-134, characters 4-24:
# 124 | ....function
# 125 |     | (DDec (_, TypDecl (x, Sigma tArec)), 1) ->
# 126 |        TypDecl (x, Sigma (sigmaShift tArec (Shift k)))
# 127 | 
# 128 |     | (DDec (cPsi', TypDecl (_, Sigma _)), k') ->
# ...
# 131 |     | (DDec (cPsi', TypDecl _), k') ->
# 132 |        ctxDec' (cPsi', k' - 1)
# 133 |     | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) ->
# 134 |        ctxDec' (cPhi, k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (DDec (cPsi', TypDeclOpt _), _)
# 
# File "src/core/context.ml", lines 361-364, characters 2-49:
# 361 | ..match (cPsi, k) with
# 362 |   | (DDec (_, TypDecl (x, _)), 1) -> x
# 363 |   | (DDec (_, TypDeclOpt x), 1) -> x
# 364 |   | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Null|CtxVar _), _)
# 
# File "src/core/context.ml", lines 367-371, characters 2-27:
# 367 | ..match (cD, k) with
# 368 |   | (Dec (_, Decl { name = u; _ }), 1) -> u
# 369 |   | (Dec (_, DeclOpt { name = u; _ }), 1) -> u
# 370 |   | (Dec (cD, _), k) ->
# 371 |      getNameMCtx cD (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Empty, _)
# 
# File "src/core/context.ml", lines 374-377, characters 2-45:
# 374 | ..match (cG, k) with
# 375 |   | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x
# 376 |   | (Dec (_, Comp.CTypDeclOpt x), 1) -> x
# 377 |   | (Dec (cG, _), k) -> getNameCtx cG (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Empty, _)
# 
# File "src/core/context.ml", lines 401-403, characters 4-58:
# 401 | ....function
# 402 |     | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl)
# 403 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Null
# 
# File "src/core/context.ml", lines 409-411, characters 4-58:
# 409 | ....function
# 410 |     | CtxVar ctx_var -> Null
# 411 |     | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Null
# 
# File "src/core/context.ml", lines 436-439, characters 2-28:
# 436 | ..match (cD, psi_offset) with
# 437 |   | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema
# 438 |   | (Dec (cD, _) , i) ->
# 439 |      lookupSchema cD (i - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Empty, _)
# 
# File "src/core/context.ml", lines 446-453, characters 7-10:
# 446 | .......begin match cvar with
# 447 |        | CtxName phi when Name.(psi = phi) -> (psi, schemaName)
# 448 |        | CtxName _ -> lookup cD (offset + 1)
# 449 |        | CtxOffset n ->
# 450 |           if n - offset = 1
# 451 |           then (psi, schemaName)
# 452 |           else lookup cD (offset + 1)
# 453 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CInst _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Store.cmx -c -impl src/core/store.ml)
# File "src/core/store.ml", lines 212-217, characters 6-45:
# 212 | ......function
# 213 |       | Int.LF.Atom(_, b, _) ->
# 214 |          List.iter (fun a -> addSubord a b) acc ; [b]
# 215 | 
# 216 |       | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) ->
# 217 |          inspect (acc @ (inspect [] tA1)) tA2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/store.ml", lines 222-226, characters 6-56:
# 222 | ......function
# 223 |       | Int.LF.Typ ->
# 224 |          List.iter (fun a -> addSubord a cid_tp) acc
# 225 |       | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) ->
# 226 |          inspectKind cid_tp (acc @ (inspect [] tA1)) tK2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Whnf.cmx -c -impl src/core/whnf.ml)
# File "src/core/whnf.ml", lines 36-39, characters 2-73:
# 36 | ..match cPsi with
# 37 |   | Null -> tA
# 38 |   | DDec (cPsi', decl) ->
# 39 |      raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar _
# 
# File "src/core/whnf.ml", lines 133-148, characters 2-64:
# 133 | ..match sA' with
# 134 |   | (PiTyp ((decl, _, _), tA'), s') ->
# 135 |      let (u', tM) =
# 136 |        lowerMVar'
# 137 |          (DDec (cPsi, LF.decSub decl s'))
# ...
# 145 | 
# 146 |   | (Atom (loc, a, tS), s') ->
# 147 |      let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in
# 148 |      (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity))....................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _, _)
# 
# File "src/core/whnf.ml", lines 152-162, characters 2-25:
# 152 | ..match (u, sA) with
# 153 |   | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ }
# 154 |     , (PiTyp _, _)
# 155 |     ) ->
# 156 |      let (u', tM) = lowerMVar' cPsi sA plicity inductivity in
# ...
# 159 | 
# 160 |   | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s')
# 161 | 
# 162 |   | (_, (Atom _, _)) -> u
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Inst {typ=ClTyp (_, _); _ }, (Sigma _, _))
# 
# File "src/core/whnf.ml", lines 319-329, characters 4-31:
# 319 | ....match s with
# 320 |     | MShift _ -> None
# 321 |     | MDot (MUndef, t') -> lookup (n + 1) t' p
# 322 | 
# 323 |     | MDot (MV k, t')
# ...
# 326 |       | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') ->
# 327 |        if k = p
# 328 |        then Some n
# 329 |        else lookup (n + 1) t' p
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MDot (CObj (CtxVar (CtxName _|CInst _)), _)
# 
# File "src/core/whnf.ml", lines 385-387, characters 7-59:
# 385 | .......match normHead (h, sigma) with
# 386 |      | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity)
# 387 |      | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 404-407, characters 5-8:
# 404 | .....begin match normMMVar mmt with
# 405 |      | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma))))
# 406 |      | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma)
# 407 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 409-413, characters 5-8:
# 409 | .....begin match normMMVar mmt with
# 410 |      (* The order in which we normalize mm, n, s, and sigma seems to matter..*)
# 411 |      | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma)))
# 412 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
# 413 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 415-419, characters 5-8:
# 415 | .....begin match normMMVar mmt with
# 416 |      | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma)))
# 417 |      | Result (IHead h) -> normFt' (normHead (h, s), sigma)
# 418 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
# 419 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 422-425, characters 5-8:
# 422 | .....begin match normMMVar (mm, MShift 0) with
# 423 |      | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma)))
# 424 |      | Result (INorm n) -> Obj (norm (norm (n, s), sigma))
# 425 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 449-451, characters 2-32:
# 449 | ..match ft with
# 450 |   | Head h -> normHead (h, s)
# 451 |   | Obj tM -> Obj (norm (tM, s))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 454-457, characters 2-37:
# 454 | ..match tM with
# 455 |   | INorm n -> INorm (cnorm (n, mt))
# 456 |   | IHead h -> IHead (cnormHead (h, mt))
# 457 |   | ISub s -> ISub (cnormSub (s, mt))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ICtx _
# 
# File "src/core/whnf.ml", lines 463-466, characters 5-8:
# 463 | .....begin match normHead (h, s) with
# 464 |      | Obj tM -> MObj tM
# 465 |      | Head h' -> PObj h'
# 466 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 470-473, characters 2-64:
# 470 | ..match normFt' (ft, LF.id) with
# 471 |   | Head h -> Head (Proj (h, i))
# 472 |   | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i))
# 473 |   | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 476-479, characters 2-50:
# 476 | ..function
# 477 |   | (Last tM, 1) -> tM
# 478 |   | (Cons (tM, _), 1) -> tM
# 479 |   | (Cons (_, rest), k) -> reduceTuple (rest, k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Last tM, 0)
# 
# File "src/core/whnf.ml", lines 507-521, characters 2-17:
# 507 | ..function
# 508 |   | (LFHole (l, _, _), _) ->
# 509 |      raise (InvalidLFHole l)
# 510 | 
# 511 |   | (Root (loc, h, sp, plicity), spine) ->
# ...
# 518 |      Lam (loc, n, tM')
# 519 | 
# 520 |   | (Clo sM, tS) ->
# 521 |      reduce sM tS
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _), SClo _)
# 
# File "src/core/whnf.ml", lines 524-526, characters 2-54:
# 524 | ..function
# 525 |   | (Nil, s) -> s
# 526 |   | (App (tN, tS), s) -> App (tN, appendSpine (tS, s))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (SClo _, _)
# 
# File "src/core/whnf.ml", lines 537-543, characters 5-8:
# 537 | .....begin match mmvar.instantiation.contents with
# 538 |      | Some (ISub s) ->
# 539 |         let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in
# 540 |         LF.comp (Shift n) s0
# 541 |      | None ->
# 542 |         MSVar (n, ((mmvar, mt), normSub s'))
# 543 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 562-573, characters 2-37:
# 562 | ..match tA with
# 563 |   | Atom (loc, a, tS) ->
# 564 |      Atom (loc, a, normSpine (tS, sigma))
# 565 | 
# 566 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
# ...
# 570 |      normTyp (tA, LF.comp s sigma)
# 571 | 
# 572 |   | Sigma recA ->
# 573 |      Sigma (normTypRec (recA, sigma))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/whnf.ml", lines 620-629, characters 5-8:
# 620 | .....begin match !u with
# 621 |      | None ->
# 622 |         (Some (CInst (mmvar, mcomp theta t)), k)
# 623 |      | Some (ICtx cPsi) ->
# 624 |         (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *)
# 625 |         begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with
# 626 |         | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *)
# 627 |         | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *)
# 628 |         end
# 629 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 631-641, characters 5-8:
# 631 | .....begin match LF.applyMSub offset t with
# 632 |      | CObj cPsi ->
# 633 |         begin match Context.dctxToHat cPsi with
# 634 |         | (None, i) -> (None, k + i)
# 635 |         | (Some cvar', i) -> (Some cvar', k + i)
# ...
# 638 |      | ClObj _ ->
# 639 |         Error.raise_violation
# 640 |           (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset)
# 641 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MUndef
# 
# File "src/core/whnf.ml", lines 656-659, characters 5-8:
# 656 | .....begin match LF.applyMSub k t with
# 657 |      | MV k' -> Head (MVar (Offset k', s'))
# 658 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
# 659 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, (PObj _|SObj _))
# 
# File "src/core/whnf.ml", lines 662-666, characters 5-8:
# 662 | .....begin match LF.applyMSub k t with
# 663 |      | MV k' -> Head (PVar (k', s'))
# 664 |      | ClObj (_, PObj h) -> normHead (h, s')
# 665 |      | ClObj (_, MObj tM) -> Obj (norm (tM, s'))
# 666 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/whnf.ml", lines 669-672, characters 5-8:
# 669 | .....begin match LF.applyMSub sv t with
# 670 |      | MV sv' -> Head (HClo (k, sv', s'))
# 671 |      | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s')
# 672 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, (MObj _|PObj _))
# 
# File "src/core/whnf.ml", lines 674-677, characters 5-8:
# 674 | .....begin match normMMVar mmt with
# 675 |      | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
# 676 |      | Result (INorm n) -> Obj (cnorm (norm (n, s), t))
# 677 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 679-684, characters 5-8:
# 679 | .....begin match normMMVar mmt with
# 680 |      | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))
# 681 |      | Result (IHead h) -> cnormFt' (normHead (h, s), t)
# 682 |      | Result (INorm n) ->
# 683 |         Obj (cnorm (norm (n, s), t))
# 684 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 686-689, characters 5-8:
# 686 | .....begin match normMMVar mmt with
# 687 |      | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t))))
# 688 |      | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t)
# 689 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 691-694, characters 5-8:
# 691 | .....begin match normMMVar (mm, MShift 0) with
# 692 |      | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t)))
# 693 |      | Result (INorm n) -> Obj (norm (n, s))
# 694 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Result (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 698-700, characters 2-38:
# 698 | ..function
# 699 |   | (Head h, t) -> cnormHead' (h, t)
# 700 |   | (Obj tM, t) -> Obj (cnorm (tM, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undef, _)
# 
# File "src/core/whnf.ml", lines 713-721, characters 5-8:
# 713 | .....begin match cnormHead' (head, t) with
# 714 |      | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity)
# 715 |      | Obj tM ->
# 716 |         (* in this ends up evaluating to a Root, we want to keep the
# 717 |            plicity that we had here *)
# 718 |         map_plicity
# 719 |           (fun _ -> plicity)
# 720 |           (reduce (tM, LF.id) (cnormSpine (tS, t)))
# 721 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/whnf.ml", lines 728-729, characters 2-17:
# 728 | ..match cnormHead' (h, t) with
# 729 |   | Head h' -> h'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undef|Obj _)
# 
# File "src/core/whnf.ml", lines 752-758, characters 5-8:
# 752 | .....begin match LF.applyMSub offset t with
# 753 |      | MV offset' -> SVar (offset', n, cnormSub (s', t))
# 754 |      | ClObj (_, SObj r) ->
# 755 |         LF.comp (LF.comp (Shift n) r) (cnormSub (s', t))
# 756 |      | ClObj _ ->
# 757 |         Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj"
# 758 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|CObj _)
# 
# File "src/core/whnf.ml", lines 764-775, characters 5-56:
# 764 | .....match mmvar.instantiation.contents with
# 765 |      | Some (ISub s) ->
# 766 |         dprintf
# 767 |           begin fun p ->
# 768 |           p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]"
# ...
# 772 |         let s0' = LF.comp (Shift n) s0 in
# 773 |         cnormSub (s0', t)
# 774 |      | None ->
# 775 |         MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ICtx _)
# 
# File "src/core/whnf.ml", lines 793-803, characters 2-34:
# 793 | ..match tA with
# 794 |   | Atom (loc, a, tS) ->
# 795 |      Atom (loc, a, cnormSpine (tS, t))
# 796 | 
# 797 |   | PiTyp ((TypDecl _ as decl, depend, plicity), tB) ->
# ...
# 800 |   | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t))
# 801 | 
# 802 |   | Sigma recA ->
# 803 |      Sigma (cnormTypRec (recA, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/whnf.ml", lines 832-837, characters 5-8:
# 832 | .....begin match !u with
# 833 |      | None ->
# 834 |         CtxVar (CInst (mmvar, mcomp theta t))
# 835 |      | Some (ICtx cPhi) ->
# 836 |         cnormDCtx (cPhi, mcomp theta t)
# 837 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 840-843, characters 5-8:
# 840 | .....begin match LF.applyMSub psi t with
# 841 |      | CObj cPsi' -> normDCtx cPsi'
# 842 |      | MV k -> CtxVar (CtxOffset k)
# 843 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|ClObj (_, _))
# 
# File "src/core/whnf.ml", lines 886-889, characters 5-8:
# 886 | .....begin match mmvar.instantiation.contents with
# 887 |      | None -> cPsi
# 888 |      | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta))
# 889 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 960-973, characters 8-11:
# 960 | ........begin match h' with
# 961 |         | BVar i ->
# 962 |            begin match LF.bvarSub i (LF.comp r sigma) with
# 963 |            | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma))
# 964 |            | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id)
# ...
# 970 |            let h' = PVar (p, LF.comp (LF.comp s r) sigma) in
# 971 |            whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
# 972 |         | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id)
# 973 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
# HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/whnf.ml", lines 956-979, characters 5-8:
# 956 | .....begin match u with
# 957 |      (* MPVar instantiation must be a head *)
# 958 |      | Some (IHead h) ->
# 959 |         let h' = cnormHead (h, t) in
# 960 |         begin match h' with
# ...
# 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
# 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
# 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
# 979 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 954-979, characters 5-8:
# 954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in
# 955 |      let u = mmvar.instantiation.contents in
# 956 |      begin match u with
# 957 |      (* MPVar instantiation must be a head *)
# 958 |      | Some (IHead h) ->
# ...
# 976 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
# 977 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
# 978 |         (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
# 979 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 995-1011, characters 8-11:
#  995 | ........begin match whnfTyp (tA, LF.id) with
#  996 |         | (Atom (loc', a, tS'), _ (* id *)) ->
#  997 |            (* meta-variable is of atomic type; tS = Nil *)
#  998 |            let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
#  999 |            (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id)
# ...
# 1008 |            (* let _ = lowerMMVar cD u in
# 1009 |               whnf (tM, sigma) *)
# 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
# 1011 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Sigma _|TClo _), _)
# 
# File "src/core/whnf.ml", lines 985-1012, characters 5-8:
#  985 | .....begin match u with
#  986 |      (* MMVar instantiation must be normal *)
#  987 |      | Some (INorm tM) ->
#  988 |         (* constraints associated with u must be in solved form *)
#  989 |         let tM' = cnorm (tM, t) in
# ...
# 1009 |               whnf (tM, sigma) *)
# 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
# 1011 |         end
# 1012 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 983-1012, characters 5-8:
#  983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in
#  984 |      let u = mmvar.instantiation.contents in
#  985 |      begin match u with
#  986 |      (* MMVar instantiation must be normal *)
#  987 |      | Some (INorm tM) ->
# ...
# 1009 |               whnf (tM, sigma) *)
# 1010 |            Error.raise_violation "Meta^2-variable needs to be of atomic type"
# 1011 |         end
# 1012 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 1041-1053, characters 8-11:
# 1041 | ........begin match whnfTyp (tA, LF.id) with
# 1042 |         | (Atom (loc', a, tS'), _ (* id *)) ->
# 1043 |            (* meta-variable is of atomic type; tS = Nil *)
# 1044 |            let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in
# 1045 |            (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id)
# ...
# 1050 |             *)
# 1051 |            ignore (lowerMVar cvar);
# 1052 |            whnf (tM, sigma)
# 1053 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Sigma _|TClo _), _)
# 
# File "src/core/whnf.ml", lines 1036-1053, characters 8-11:
# 1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in
# 1037 |         (* note: we could split this case based on tA;
# 1038 |          *      this would avoid possibly building closures with id
# 1039 |          *)
# 1040 |         let r' = normSub r in
# ...
# 1050 |             *)
# 1051 |            ignore (lowerMVar cvar);
# 1052 |            whnf (tM, sigma)
# 1053 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 1023-1054, characters 5-8:
# 1023 | .....begin match u with
# 1024 |      | Some (INorm tM) ->
# 1025 |         (* constraints associated with u must be in solved form *)
# 1026 |         let r' = normSub r in
# 1027 |         let tM' =
# ...
# 1051 |            ignore (lowerMVar cvar);
# 1052 |            whnf (tM, sigma)
# 1053 |         end
# 1054 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (IHead _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 1073-1082, characters 5-8:
# 1073 | .....begin match LF.bvarSub i sigma with
# 1074 |      | Head (BVar j) ->
# 1075 |         ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity)
# 1076 |         , LF.id
# 1077 |         )
# 1078 |      | Head (PVar (q, s)) ->
# 1079 |         ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity)
# 1080 |         , LF.id
# 1081 |         )
# 1082 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#   FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/whnf.ml", lines 1098-1109, characters 11-14:
# 1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with
# 1099 |            | Head (BVar x) ->
# 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
# 1101 |               , LF.id
# 1102 |               )
# ...
# 1106 |               )
# 1107 |            | Undef ->
# 1108 |               Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i)
# 1109 |            end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Obj _
# 
# File "src/core/whnf.ml", lines 1096-1118, characters 8-11:
# 1096 | ........begin match cnormHead (h, t) with
# 1097 |         | BVar i ->
# 1098 |            begin match LF.bvarSub i (LF.comp r sigma) with
# 1099 |            | Head (BVar x) ->
# 1100 |               ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity)
# ...
# 1115 |         | MPVar ((q, t'), r') ->
# 1116 |            let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in
# 1117 |            (Root (loc, h', SClo (tS, sigma), plicity), LF.id)
# 1118 |         end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _|
# HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/whnf.ml", lines 1120-1127, characters 8-9:
# 1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in
# 1121 |         (* constraints associated with q must be in solved form *)
# 1122 |         let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in
# 1123 |         let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in
# 1124 |         let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in
# 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
# 1126 |         , LF.id
# 1127 |         )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|STyp (_, _)), _)
# 
# File "src/core/whnf.ml", lines 1093-1128, characters 5-8:
# 1093 | .....begin match mmvar.instantiation.contents with
# 1094 |      | Some (IHead h) ->
# 1095 |         (* constraints associated with q must be in solved form *)
# 1096 |         begin match cnormHead (h, t) with
# 1097 |         | BVar i ->
# ...
# 1125 |         ( Root (loc, h', SClo (tS, sigma), plicity)
# 1126 |         , LF.id
# 1127 |         )
# 1128 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|ISub _|ICtx _)
# 
# File "src/core/whnf.ml", lines 1143-1157, characters 2-39:
# 1143 | ..function
# 1144 |   | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l)
# 1145 |   | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1)
# 1146 | 
# 1147 |   | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) ->
# ...
# 1154 |      whnfRedex (sM, (tS, LF.comp s2' s2))
# 1155 | 
# 1156 |   | ((Clo (tM, s), s1), sS) ->
# 1157 |      whnfRedex ((tM, LF.comp s s1), sS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Root (_, _, _, _), _), (App (_, _), _))
# 
# File "src/core/whnf.ml", lines 1180-1191, characters 2-15:
# 1180 | ..function
# 1181 |   | [] -> true
# 1182 |   | ({ contents = Queued _ } :: cnstrs) ->
# 1183 |       constraints_solved cnstrs
# 1184 |   | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) ->
# ...
# 1188 |   | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) ->
# 1189 |      if convHead (h1, LF.id) (h2, LF.id)
# 1190 |      then constraints_solved cnstrs
# 1191 |      else false
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# {contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_
# 
# File "src/core/whnf.ml", lines 1283-1288, characters 2-71:
# 1283 | ..match (spine1, spine2) with
# 1284 |   | ((Nil, _), (Nil, _)) -> true
# 1285 |   | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) ->
# 1286 |      conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2)
# 1287 |   | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s')
# 1288 |   | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Nil, _), (App (_, _), _))
# 
# File "src/core/whnf.ml", lines 1457-1465, characters 2-32:
# 1457 | ..match (cPsi, cPsi') with
# 1458 |   | (_, Empty) -> true
# 1459 |   | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) ->
# 1460 |      if convTyp (tA, LF.id) (tB, LF.id)
# 1461 |      then convSubsetCtx cPsi1 cPsi2
# 1462 |      else
# 1463 |        (* keep tBs around and check that tA is a subordinate of tB,
# 1464 |        i.e. anything in tA cannot influence tB *)
# 1465 |        convSubsetCtx cPsi1 cPsi'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _))
# 
# File "src/core/whnf.ml", lines 1591-1593, characters 4-76:
# 1591 | ....match mO with
# 1592 |     | CObj cPsi -> CObj (normDCtx cPsi)
# 1593 |     | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|MV _)
# 
# File "src/core/whnf.ml", lines 1604-1624, characters 2-49:
# 1604 | ..function
# 1605 |   | Comp.TypBase (loc, c, mS) ->
# 1606 |      Comp.TypBase (loc, c, normMetaSpine mS)
# 1607 |   | Comp.TypCobase (loc, c, mS) ->
# 1608 |      Comp.TypCobase (loc, c, normMetaSpine mS)
# ...
# 1621 |     Comp.TypPiBox
# 1622 |       (loc, (Decl { d with typ = typ' }), tau')
# 1623 | 
# 1624 |   | Comp.TypInd tau -> Comp.TypInd (normCTyp tau)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypPiBox (loc, DeclOpt _, _)
# 
# File "src/core/whnf.ml", lines 1640-1643, characters 2-30:
# 1640 | ..match cdecl with
# 1641 |   | Decl d ->
# 1642 |     let typ' = cnormMTyp (d.typ, t) in
# 1643 |     Decl { d with typ = typ' }
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/whnf.ml", lines 1646-1670, characters 2-60:
# 1646 | ..function
# 1647 |   | (Comp.TypBase (loc, a, mS), t) ->
# 1648 |      let mS' = cnormMetaSpine (mS, t) in
# 1649 |      Comp.TypBase (loc, a, mS')
# 1650 |   | (Comp.TypCobase (loc, a, mS), t) ->
# ...
# 1667 |   | (Comp.TypClo (tT, t'), t) ->
# 1668 |      cnormCTyp (tT, mcomp t' t)
# 1669 | 
# 1670 |   | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _), _)
# 
# File "src/core/whnf.ml", lines 1673-1675, characters 2-47:
# 1673 | ..match cdecl with
# 1674 |   | Comp.CTypDecl(n, typ, wf_t) ->
# 1675 |      Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", lines 1691-1707, characters 2-70:
# 1691 | ..function
# 1692 |   | (Comp.TypBase (loc, c, mS), t) ->
# 1693 |      let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in
# 1694 |      (Comp.TypBase (loc, c, mS'), m_id)
# 1695 |   | (Comp.TypCobase (loc, c, mS), t) ->
# ...
# 1704 | 
# 1705 |   | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t)
# 1706 | 
# 1707 |   | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _), _)
# 
# File "src/core/whnf.ml", lines 1902-1905, characters 2-74:
# 1902 | ..match cG with
# 1903 |   | Empty -> Empty
# 1904 |   | Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
# 1905 |      Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/whnf.ml", lines 1928-1930, characters 2-62:
# 1928 | ..function
# 1929 |   | Comp.CTypDecl (x, tau, flag) ->
# 1930 |      Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", lines 1957-1962, characters 2-41:
# 1957 | ..match cD with
# 1958 |   | Empty -> Empty
# 1959 |   | Dec (cD, Decl d) ->
# 1960 |     let typ' = normMTyp d.typ in
# 1961 |     let cD' = normMCtx cD in
# 1962 |     Dec (cD', Decl { d with typ = typ' })
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD, DeclOpt _)
# 
# File "src/core/whnf.ml", lines 1990-1993, characters 2-60:
# 1990 | ..match (tM1, tM2) with
# 1991 |   | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id)
# 1992 |   | (ISub s1, ISub s2) -> convSub s1 s2
# 1993 |   | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (INorm n1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/whnf.ml", lines 1998-2004, characters 2-25:
# 1998 | ..match (mS, mS') with
# 1999 |   | (Comp.MetaNil, Comp.MetaNil) -> true
# 2000 |   | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) ->
# 2001 |      convMetaObj mO mO'
# 2002 |      && convMetaTyp mT mT'
# 2003 |      && convMetaSpine mS mS'
# 2004 |      && Plicity.(p1 = p2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaNil, MetaApp (_, _, _, _))
# 
# File "src/core/whnf.ml", lines 2071-2075, characters 2-42:
# 2071 | ..match (d1, d2) with
# 2072 |   | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2)
# 2073 |   | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) ->
# 2074 |      Name.(x1 = x2) && Stdlib.(=) w1 w2
# 2075 |      && convCTyp (tau1, m_id) (tau2, m_id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CTypDeclOpt x1, CTypDecl (_, _, _))
# 
# File "src/core/whnf.ml", lines 2095-2105, characters 2-8:
# 2095 | ..match sA with
# 2096 |   | (Atom (loc, _, _) as tP, s) ->
# 2097 |      let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in
# 2098 |      Root (loc, MVar (u, s'), Nil, plicity)
# 2099 | 
# ...
# 2102 |        ( Name.location x
# 2103 |        , x
# 2104 |        , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
# 2105 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/whnf.ml", lines 2120-2130, characters 2-8:
# 2120 | ..match sA with
# 2121 |   | (Atom _ as tP, s) ->
# 2122 |      let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in
# 2123 |      Root (loc, MMVar ((u, m_id), s'), Nil, plicity)
# 2124 | 
# ...
# 2127 |        ( loc
# 2128 |        , x
# 2129 |        , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity
# 2130 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/whnf.ml", lines 2135-2141, characters 2-42:
# 2135 | ..match tM with
# 2136 |   | Lam (_, _, tM) -> closed (tM, LF.dot1 s)
# 2137 |   | Root (_, h, tS, _) ->
# 2138 |      closedHead h
# 2139 |      && closedSpine (tS, s)
# 2140 |   | LFHole _ -> false
# 2141 |   | Tuple (_, tup) -> closedTuple (tup, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Clo _
# 
# File "src/core/whnf.ml", lines 2166-2174, characters 2-28:
# 2166 | ..function
# 2167 |   | EmptySub -> true
# 2168 |   | Undefs -> true
# 2169 |   | SVar (_, _, sigma) -> closedSub sigma
# 2170 |   | Shift _ -> true
# 2171 |   | Dot (ft, s) -> closedFront ft && closedSub s
# 2172 |   | MSVar (_, ((v, t), s)) ->
# 2173 |      (* the case for MMVar doesn't also check the substitution -je *)
# 2174 |      is_mmvar_instantiated v.....................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# FSVar (_, _)
# 
# File "src/core/whnf.ml", lines 2185-2190, characters 2-40:
# 2185 | ..match tA with
# 2186 |   | Atom (_, _, tS) -> closedSpine (tS, s)
# 2187 |   | PiTyp ((t_dec, _, _), tA) ->
# 2188 |      closedDecl (t_dec, s)
# 2189 |      && closedTyp (tA, LF.dot1 s)
# 2190 |   | Sigma recA -> closedTypRec (recA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/whnf.ml", lines 2208-2211, characters 5-8:
# 2208 | .....begin match mmvar.instantiation.contents with
# 2209 |      | None -> false
# 2210 |      | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta))
# 2211 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/whnf.ml", lines 2241-2244, characters 2-56:
# 2241 | ..function
# 2242 |   | CObj cPsi -> closedDCtx cPsi
# 2243 |   | ClObj (phat, t) ->
# 2244 |      closedDCtx (Context.hatToDCtx phat) && closedMObj t
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|MV _)
# 
# File "src/core/whnf.ml", lines 2255-2264, characters 2-37:
# 2255 | ..function
# 2256 |   | Comp.TypBase (_, _, mS) -> closedMetaSpine mS
# 2257 |   | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS
# 2258 |   | Comp.TypBox (_, cT) -> closedMetaTyp cT
# 2259 |   | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2
# 2260 |   | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs
# 2261 |   | Comp.TypPiBox (_, ctyp_decl, cT) ->
# 2262 |       closedCTyp cT && closedDecl ctyp_decl
# 2263 |   | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *)
# 2264 |   | Comp.TypInd tau -> closedCTyp tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDef (_, _, _)
# 
# File "src/core/whnf.ml", line 2406, characters 37-65:
# 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
#                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", line 2406, characters 8-36:
# 2406 |   let f (Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) =
#                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/whnf.ml", line 2412, characters 32-55:
# 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
#                                        ^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/whnf.ml", line 2412, characters 8-31:
# 2412 |   let f (Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) =
#                ^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/whnf.ml", lines 2418-2420, characters 2-93:
# 2418 | ..function
# 2419 |   | (Atom _, _) as sA -> (cPsi, whnfTyp sA)
# 2420 |   | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Sigma _|TClo _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Subord.cmx -c -impl src/core/subord.ml)
# File "src/core/subord.ml", lines 98-101, characters 7-43:
#  98 | .......function
#  99 |        | Atom _ -> [tA]
# 100 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
# 101 |           extract_neg tA1 @ extract_pos tA2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/subord.ml", lines 103-106, characters 7-43:
# 103 | .......function
# 104 |        | Atom _ -> []
# 105 |        | PiTyp ((TypDecl (_, tA1), _, _), tA2) ->
# 106 |           extract_pos tA1 @ extract_neg tA2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/subord.ml", lines 85-112, characters 2-47:
#  85 | ..match tA with
#  86 |   | Atom (_, a, _) ->
#  87 |      Store.Cid.Typ.freeze a;
#  88 |      if List.exists
#  89 |           begin fun type_in_basis ->
# ...
# 109 |         If we keep this, then we might not strengthen enough... -bp*)
# 110 |      List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1)
# 111 |      @ relevant tA2 basis
# 112 |   | Sigma typRec -> relevantTypRec typRec basis
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/subord.ml", lines 159-161, characters 9-71:
# 159 | .........match psi with
# 160 |          | CtxOffset _ -> Context.lookupCtxVarSchema cD psi
# 161 |          | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CInst ({typ=CTyp None; _ }, _)
# 
# File "src/core/subord.ml", lines 155-187, characters 4-10:
# 155 | ....match cPsi with
# 156 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
# 157 |     | CtxVar psi ->
# 158 |        let schema =
# 159 |          match psi with
# ...
# 184 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
# 185 |           let thin_s_inv = Substitution.LF.invert thin_s in
# 186 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
# 187 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/subord.ml", line 189, characters 8-45:
# 189 |   inner (match tP with Atom (_, a, _) -> [a]) cPsi
#               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
# 
# File "src/core/subord.ml", lines 215-216, characters 16-21:
# 215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in
# 216 |                 s_cid
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=CTyp None; _ })
# 
# File "src/core/subord.ml", lines 205-238, characters 4-10:
# 205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with
# 206 |     | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *)
# 207 |     | CtxVar psi ->
# 208 |        begin
# 209 |          try
# ...
# 235 |           (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA'  where tA = [thin_s]([thin_s_inv]tA) *)
# 236 |           let thin_s_inv = Substitution.LF.invert thin_s in
# 237 |           (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv))))
# 238 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/subord.ml", lines 249-251, characters 11-24:
# 249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in
# 250 |            p.fmt "[thin'] CtxName psi = %a FOUND"
# 251 |              Name.pp psi
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=ClTyp (_, _); _ })
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Ctxsub.cmx -c -impl src/core/ctxsub.ml)
# File "src/core/ctxsub.ml", lines 46-65, characters 2-36:
# 46 | ..match sA' with
# 47 |   | (PiTyp ((decl, _, _), tA'), s') ->
# 48 |      let (tM , sAmv) =
# 49 |        lowerMVar
# 50 |          (DDec (cPsi, Substitution.LF.decSub decl s'))
# ...
# 62 |          , Nil
# 63 |          , Plicity.explicit
# 64 |          ) ,
# 65 |       ClTyp(MTyp (TClo sA') , cPsi))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _, _)
# 
# File "src/core/ctxsub.ml", lines 88-158, characters 2-89:
#  88 | ..function
#  89 |   | Null ->
#  90 |      (* Substitution.LF.id  --changed 2010-07-26*)
#  91 |      (cD, ctxShift psi, 0)
#  92 | 
# ...
# 155 | 
# 156 |   | DDec (_, TypDecl _) ->
# 157 |      (* For the moment, assume tA atomic. *)
# 158 |      Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (_, TypDeclOpt _)
# 
# File "src/core/ctxsub.ml", lines 174-216, characters 2-11:
# 174 | ..function
# 175 |   | Null ->
# 176 |      (* Substitution.LF.id  --changed 2010-07-26*)
# 177 |      ctxShift cPhi
# 178 | 
# ...
# 213 |      (* dprint (fun () -> "shifted = " ^ subToString shifted);*)
# 214 |      let result = Dot (front, s) in
# 215 |      dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result);
# 216 |      result
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi', TypDeclOpt _)
# 
# File "src/core/ctxsub.ml", lines 250-255, characters 2-59:
# 250 | ..function
# 251 |   | Empty -> MShift (Context.length cD0)
# 252 |   | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) ->
# 253 |      let t = mctxToMMSub cD0 cD' in
# 254 |      let mtyp' = Whnf.cnormMTyp (mtyp, t) in
# 255 |      MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt _)
# 
# File "src/core/ctxsub.ml", lines 261-263, characters 2-35:
# 261 | ..function
# 262 |   | t when n <= 0 -> t
# 263 |   | MDot (_, t') -> drop (n - 1) t'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MShift _
# (However, some guarded clause may match this value.)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__ConvSigma.cmx -c -impl src/core/convSigma.ml)
# File "src/core/convSigma.ml", lines 20-22, characters 2-54:
# 20 | ..match (conv_list, k) with
# 21 |   | (d :: conv_list', 1) -> d
# 22 |   | (d :: conv_list', _) -> d + map conv_list' (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ([], _)
# 
# File "src/core/convSigma.ml", lines 44-52, characters 2-21:
# 44 | ..match tM with
# 45 |   | LF.Lam (loc, x, tN) ->
# 46 |      let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in
# 47 |      LF.Lam (loc, x, tN')
# 48 |   | LF.Root (loc, h, tS, plicity) ->
# 49 |      let h' = strans_head loc cD cPsi h conv_list in
# 50 |      let tS' = strans_spine cD cPsi (tS, s) conv_list in
# 51 |      LF.Root (loc, h', tS', plicity)
# 52 |   | LF.LFHole _ -> tM
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _|Tuple (_, _))
# 
# File "src/core/convSigma.ml", lines 55-101, characters 2-8:
#  55 | ..match h with
#  56 |   | LF.BVar x -> LF.BVar (map conv_list x)
#  57 | 
#  58 |   | LF.MVar (LF.Offset u, sigma) ->
#  59 |      LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list)
# ...
#  98 |          LF.BVar x'
#  99 |        with
# 100 |        | _ -> LF.Proj (LF.BVar x, j)
# 101 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Proj
#   ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#    HClo (_, _, _)|HMClo (_, _)),
#   _)
# 
# File "src/core/convSigma.ml", lines 112-118, characters 2-26:
# 112 | ..match mf with
# 113 |   | LF.ClObj (phat, LF.MObj tM) ->
# 114 |      LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list ))
# 115 |   | LF.ClObj (phat, LF.PObj h) ->
# 116 |      LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list))
# 117 |   | LF.MV u -> LF.MV u
# 118 |   | LF.MUndef -> LF.MUndef
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/convSigma.ml", lines 121-123, characters 2-55:
# 121 | ..function
# 122 |   | (0, xs) -> n
# 123 |   | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1, [])
# 
# File "src/core/convSigma.ml", lines 163-170, characters 2-59:
# 163 | ..match tA with
# 164 |   | LF.Atom (loc, a, tS ) ->
# 165 |      LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list )
# 166 | 
# 167 |   | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) ->
# 168 |      let tA' = strans_typ cD cPsi (tA, s) conv_list in
# 169 |      let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in
# 170 |      LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/convSigma.ml", lines 384-432, characters 2-24:
# 384 | ..match Whnf.whnfTyp sA with
# 385 |   | LF.Sigma tRec as tA, s ->
# 386 |      (* FIXME: this doesn't do any strengthening !! -je *)
# 387 |      let tH =
# 388 |        mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s)
# ...
# 429 |      let tN =
# 430 |        etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names)
# 431 |      in
# 432 |      LF.Lam (loc, x, tN)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Prettyint.cmx -c -impl src/core/prettyint.ml)
# File "src/core/prettyint.ml", lines 237-294, characters 4-39:
# 237 | ....function
# 238 |     | LF.Atom (_, a, LF.Nil) ->
# 239 |        fprintf ppf "%s"
# 240 |          (R.render_cid_typ a)
# 241 | 
# ...
# 291 |     | LF.TClo (typ, s) ->
# 292 |        fprintf ppf "TClo(%a,@ %a)"
# 293 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
# 294 |          (fmt_ppr_lf_sub cD cPsi lvl) s
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/prettyint.ml", lines 434-545, characters 6-51:
# 434 | ......function
# 435 |       | LF.HClo (h, s, sigma) ->
# 436 |          fprintf ppf "%s[%a[%a]]"
# 437 |            (R.render_bvar cPsi h)
# 438 |            (fmt_ppr_lf_offset cD) s
# ...
# 542 |            (r_paren_if (paren s))
# 543 | 
# 544 |       | LF.Proj (head, k) ->
# 545 |          fmt_head_with ("." ^ string_of_int k) head
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# AnnH (_, _)
# 
# File "src/core/prettyint.ml", lines 769-771, characters 7-52:
# 769 | .......match LF.(v.typ) with
# 770 |        | LF.ClTyp (_, cPsi) ->
# 771 |           fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/prettyint.ml", lines 785-794, characters 7-10:
# 785 | .......begin match !g with
# 786 |        | None ->
# 787 |           fprintf ppf "?%a[%a]"
# 788 |             Name.pp LF.(v.name)
# 789 |             (fmt_ppr_lf_msub cD 0) theta
# 790 | 
# 791 |        | Some (LF.ICtx cPsi) ->
# 792 |           fprintf ppf "%a"
# 793 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
# 794 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/prettyint.ml", lines 878-890, characters 4-38:
# 878 | ....function
# 879 |     | LF.Null -> ()
# 880 | 
# 881 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
# 882 |        fprintf ppf "%a : %a"    (* formerly "., %s : %a"    -jd 2010-06-03 *)
# ...
# 887 |        fprintf ppf "%a, %a : %a"
# 888 |          (ppr_typ_decl_dctx cD) cPsi
# 889 |          Name.pp x
# 890 |          (fmt_ppr_lf_typ cD cPsi 0) tA
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/prettyint.ml", lines 974-1006, characters 4-26:
#  974 | ....function
#  975 |     | LF.Typ ->
#  976 |        fprintf ppf "type"
#  977 | 
#  978 |     | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) ->
# ...
# 1003 |          (l_paren_if cond)
# 1004 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
# 1005 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
# 1006 |          (r_paren_if cond)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# 
# File "src/core/prettyint.ml", lines 1097-1109, characters 4-40:
# 1097 | ....function
# 1098 |     | LF.Queued id ->
# 1099 |        fprintf ppf "@[QUEUED %d@]" id
# 1100 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
# 1101 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
# ...
# 1106 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
# 1107 |          id
# 1108 |          (fmt_ppr_lf_head cD cPsi l0) h1
# 1109 |          (fmt_ppr_lf_head cD cPsi l0) h2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/prettyint.ml", lines 1147-1228, characters 4-39:
# 1147 | ....function
# 1148 |     | Comp.TypBase (_, c, mS)->
# 1149 |        let cond = lvl > 10 in
# 1150 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
# 1151 |          (l_paren_if cond)
# ...
# 1225 |          fprintf ppf "@[%a@]*"
# 1226 |            (fmt_ppr_cmp_typ cD 10) tau
# 1227 |        else
# 1228 |          fmt_ppr_cmp_typ cD lvl ppf tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDef (_, _, _)
# 
# File "src/core/prettyint.ml", lines 1236-1241, characters 4-48:
# 1236 | ....function
# 1237 |     | Comp.PatNil -> fprintf ppf ""
# 1238 |     | Comp.PatApp (_, pat, pat_spine) ->
# 1239 |        fprintf ppf "@[%a@]@ @[%a@]"
# 1240 |          (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat
# 1241 |          (fmt_ppr_pat_spine cD cG lvl) pat_spine
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# 
# File "src/core/prettyint.ml", lines 1245-1248, characters 6-65:
# 1245 | ......match (ms, n) with
# 1246 |       | (_, 0) -> ms
# 1247 |       | (Comp.PatNil, _) -> ms
# 1248 |       | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatObs (_, _, _, _), 1)
# 
# File "src/core/prettyint.ml", lines 1507-1550, characters 4-26:
# 1507 | ....function
# 1508 |     | Comp.FunValue _ -> fprintf ppf " fn "
# 1509 |     | Comp.ThmValue _ -> fprintf ppf " rec "
# 1510 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
# 1511 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
# ...
# 1547 |        fprintf ppf "%s%s%a%s"
# 1548 |          (l_paren_if cond)
# 1549 |          (R.render_cid_comp_const c) print_spine pat_spine
# 1550 |          (r_paren_if cond)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# FnValue (_, _, _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Apxnorm.cmx -c -impl src/core/apxnorm.ml)
# File "src/core/apxnorm.ml", lines 44-49, characters 2-33:
# 44 | ..function
# 45 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m')
# 46 |   | Apx.LF.Root (loc, h , spine) ->
# 47 |      let h' = shiftApxHead k h in
# 48 |      let spine' = shiftApxSpine k spine in
# 49 |      Apx.LF.Root(loc, h', spine')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (LFHole (_, _)|Tuple (_, _)|Ann (_, _, _))
# 
# File "src/core/apxnorm.ml", lines 70-80, characters 2-35:
# 70 | ..function
# 71 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
# 72 |   | Apx.LF.Id -> Apx.LF.Id
# 73 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
# 74 |      let h' = shiftApxHead k h in
# ...
# 77 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
# 78 |      let m' = shiftApxTerm k m in
# 79 |      let s' = shiftApxSub k s in
# 80 |      Apx.LF.Dot (Apx.LF.Obj m', s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (SVar (_, _)|FSVar (_, _))
# 
# File "src/core/apxnorm.ml", lines 126-128, characters 4-49:
# 126 | ....match (l_delta, t) with
# 127 |     | (0, t) -> t
# 128 |     | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1, MShift _)
# 
# File "src/core/apxnorm.ml", lines 134-151, characters 6-36:
# 134 | ......match Substitution.LF.applyMSub offset t with
# 135 |       | Int.LF.MV u -> Apx.LF.Offset u
# 136 |       | Int.LF.ClObj (_, clobj) ->
# 137 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
# 138 |          dprintf
# ...
# 148 |            end;
# 149 |          let t' = drop t l_delta in
# 150 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
# 151 |          Apx.LF.MInst (clobj, mtyp')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|CObj _)
# 
# File "src/core/apxnorm.ml", lines 267-276, characters 7-10:
# 267 | .......begin match Substitution.LF.applyMSub offset t with
# 268 |        | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) ->
# 269 |           Apx.LF.CtxVar (Apx.LF.CtxOffset psi0)
# 270 |        | Int.LF.CObj Int.LF.Null ->
# 271 |           Apx.LF.Null
# 272 |        | Int.LF.CObj (Int.LF.DDec _) ->
# 273 |           raise (Error (loc, CtxOverGeneral))
# 274 |        (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *)
# 275 |        | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset')
# 276 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CObj (CtxVar (CtxName _|CInst _))
# 
# File "src/core/apxnorm.ml", lines 288-355, characters 2-27:
# 288 | ..match e with
# 289 |   | Apx.Comp.Fn (loc, f, e) ->
# 290 |      Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt)
# 291 |   | Apx.Comp.Fun (loc, fbr) ->
# 292 |      Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt)
# ...
# 352 | 
# 353 |   | Apx.Comp.Var _
# 354 |     | Apx.Comp.DataConst _
# 355 |     | Apx.Comp.Const _ -> e
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ann (_, _, _)
# 
# File "src/core/apxnorm.ml", lines 388-392, characters 4-63:
# 388 | ....function
# 389 |     | Apx.LF.Empty -> cD''
# 390 |     | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) ->
# 391 |        let cD1'' = append_mctx cD'' delta2' in
# 392 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity })
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (delta2', DeclOpt _)
# 
# File "src/core/apxnorm.ml", lines 421-431, characters 2-27:
# 421 | ..function
# 422 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
# 423 | 
# 424 |   | Apx.LF.Root (_, h, s) ->
# 425 |      let fMVs' = collectApxHead fMVs h in
# ...
# 428 |   | Apx.LF.Tuple (_, tuple) ->
# 429 |      collectApxTuple fMVs tuple
# 430 | 
# 431 |   | Apx.LF.LFHole _ -> fMVs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ann (_, _, _)
# 
# File "src/core/apxnorm.ml", line 502, characters 27-50:
# 502 | and collectApxTypDecl fMVs (Apx.LF.TypDecl (_, a))=
#                                  ^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/apxnorm.ml", lines 530-538, characters 2-44:
# 530 | ..function
# 531 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
# 532 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
# 533 |      let fMVs' = collectApxDCtx fMVs c_psi in
# 534 |      collectApxTyp fMVs' a
# 535 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
# 536 |      let fMVs' = collectApxDCtx fMVs c_psi in
# 537 |      collectApxDCtx fMVs' c_phi
# 538 |   | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt _
# 
# File "src/core/apxnorm.ml", lines 556-563, characters 2-31:
# 556 | ..function
# 557 |   | Apx.LF.Atom (loc, c, tS) ->
# 558 |      collectApxSpine fMVd tS
# 559 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) ->
# 560 |      let fMVd1 = collectApxTyp fMVd tA in
# 561 |      collectApxTyp fMVd1 tB
# 562 |   | Apx.LF.Sigma trec ->
# 563 |      collectApxTypRec fMVd trec
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/apxnorm.ml", lines 573-581, characters 2-45:
# 573 | ..function
# 574 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
# 575 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 576 |      collectApxDCtx fMVd1 cPhi
# 577 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
# 578 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
# 579 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 580 |      collectApxTyp fMVd1 tA
# 581 |   | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt _
# 
# File "src/core/apxnorm.ml", lines 584-603, characters 2-32:
# 584 | ..function
# 585 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
# 586 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
# 587 |      collectApxCompTyp fMVd1 tau2
# 588 |   | Apx.Comp.TypCross (_, taus) ->
# ...
# 600 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 601 |      collectApxDCtx fMVd1 cPhi
# 602 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
# 603 |      collectApxMetaSpine fMVd mS
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypBox (_, (_, CTyp _))
# 
# File "src/core/apxnorm.ml", lines 606-618, characters 2-32:
# 606 | ..function
# 607 |   | Apx.Comp.PatMetaObj (loc, mO) ->
# 608 |      collectApxMetaObj fMVd mO
# 609 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
# 610 |      collectApxPatSpine fMVd pat_spine
# ...
# 615 |      |> List.fold_left collectApxPattern fMVd
# 616 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
# 617 |      let fMVd1 = collectApxCompTyp fMVd tau in
# 618 |      collectApxPattern fMVd1 pat
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatFVar (_, _)
# 
# File "src/core/apxnorm.ml", lines 836-886, characters 2-33:
# 836 | ..function
# 837 |   | Apx.Comp.Fn (loc, f, e) ->
# 838 |      Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e)
# 839 | 
# 840 |   | Apx.Comp.Fun (loc, fbr) ->
# ...
# 883 | 
# 884 |   | Apx.Comp.Var _
# 885 |     | Apx.Comp.DataConst _
# 886 |     | Apx.Comp.Const _ as  i -> i
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ann (_, _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Abstract.cmx -c -impl src/core/abstract.ml)
# File "src/core/abstract.ml", lines 253-257, characters 4-47:
# 253 | ....function
# 254 |     | I.Atom _ -> (k, tS)
# 255 |     | I.PiTyp (_, tA') ->
# 256 |        let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in
# 257 |        etaExpSpine (k + 1) (I.App (tN, tS)) tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/abstract.ml", lines 260-263, characters 4-49:
# 260 | ....match tA with
# 261 |     | I.Atom _ -> tM
# 262 |     | I.PiTyp ((I.TypDecl (x, _), _, _), tA') ->
# 263 |        I.Lam (loc, x, etaExpPrefix loc (tM, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/abstract.ml", lines 267-269, characters 4-19:
# 267 | ....match h with
# 268 |     | I.BVar x -> I.BVar (x + k - 1)
# 269 |     | I.FVar _ -> h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/abstract.ml", lines 317-332, characters 2-17:
# 317 | ..function
# 318 |   | I.Empty -> I.Empty
# 319 | 
# 320 |   | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) ->
# 321 |      begin match raiseType cPsi tA with
# ...
# 329 |      I.Dec (ctxToCtx cQ', I.TypDecl (x, tA))
# 330 | 
# 331 |   | I.Dec (cQ', FDecl (_, Impure)) ->
# 332 |      ctxToCtx cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec
#   (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
# 
# File "src/core/abstract.ml", lines 336-355, characters 2-20:
# 336 | ..function
# 337 |   | I.Empty -> I.Empty
# 338 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
# 339 |      let plicity' = f plicity in
# 340 |      let cQ'' = ctxToMCtx f cQ' in
# ...
# 352 |   | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))->
# 353 |      Error.raise_violation "Free variables in computation-level reconstruction."
# 354 |   | I.Dec (cQ', FDecl (_, Impure)) ->
# 355 |      ctxToMCtx f cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 358-365, characters 2-76:
# 358 | ..function
# 359 |   | I.Empty -> I.Empty
# 360 |   | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) ->
# 361 |      let cQ'' = mctxToCtx cQ' in
# 362 |      I.Dec (cQ'', CtxV (x, w, plicity, inductivity))
# 363 |   | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) ->
# 364 |      let cQ'' = mctxToCtx cQ' in
# 365 |      I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cQ', DeclOpt _)
# 
# File "src/core/abstract.ml", lines 368-384, characters 2-32:
# 368 | ..function
# 369 |   | I.Empty -> I.Empty
# 370 |   | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) ->
# 371 |      let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in
# 372 |      I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive })
# ...
# 381 |      I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity })
# 382 | 
# 383 |   | I.Dec (cQ', FDecl (_, Impure)) ->
# 384 |      ctxToMCtx_pattern names cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (FV _, Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 409-421, characters 2-35:
# 409 | ..function
# 410 |   | (I.Lam (loc, x, tM), s) ->
# 411 |      let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in
# 412 |      (cQ', I.Lam (loc, x, tM'))
# 413 |   | (I.Tuple (loc, tuple), s) ->
# ...
# 418 |      let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in
# 419 |      (cQ'', I.Root (loc, h', tS', plicity))
# 420 |   | (I.LFHole (loc, id, name), s) ->
# 421 |      (cQ, I.LFHole (loc, id, name))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _, _)
# 
# File "src/core/abstract.ml", lines 481-485, characters 7-49:
# 481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in
# 482 |        let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in
# 483 |        if !pat_flag
# 484 |        then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive)
# 485 |        else MetaTyp (mtyp', plicity, inductivity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, DeclOpt { _ })
# 
# File "src/core/abstract.ml", lines 512-517, characters 10-11:
# 512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) =
# 513 |             addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity))
# 514 |           in
# 515 |           ( cQ'
# 516 |           , I.{ v with typ; plicity; inductivity }
# 517 |           )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cQ', LFTyp _)
# 
# File "src/core/abstract.ml", lines 615-652, characters 2-26:
# 615 | ..function
# 616 |   | (I.BVar _ as head, _)
# 617 |     | (I.Const _ as head, _) -> (cQ, head)
# 618 | 
# 619 |   | (I.FVar name, _) ->
# ...
# 649 | 
# 650 |   | (I.Proj (head, j), s) ->
# 651 |      let (cQ', h') = collectHead k cQ phat loc (head, s) in
# 652 |      (cQ', I.Proj (h', j))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)
# 
# File "src/core/abstract.ml", lines 656-671, characters 2-27:
# 656 | ..function
# 657 |   | (I.Atom (loc, a, tS), s) ->
# 658 |      let (cQ', tS') = collectSpine p cQ phat (tS, s) in
# 659 |      (cQ', I.Atom (loc, a, tS'))
# 660 | 
# ...
# 668 | 
# 669 |   | (I.Sigma typRec, s) ->
# 670 |      let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in
# 671 |      (cQ', I.Sigma typRec')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 686-691, characters 2-66:
# 686 | ..function
# 687 |   | (I.Typ, _) -> (cQ, I.Typ)
# 688 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
# 689 |      let (cQ', tA') = collectTyp p cQ phat (tA, s) in
# 690 |      let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in
# 691 |      (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", line 759, characters 22-32:
# 759 | let collectCDecl p cQ (I.Decl d) =
#                             ^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/abstract.ml", lines 784-790, characters 2-8:
# 784 | ..function
# 785 |   | (I.Typ, _) -> I.Typ
# 786 |   | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) ->
# 787 |      I.PiKind
# 788 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
# 789 |        , abstractKind cQ (offset + 1) (tK, LF.dot1 s)
# 790 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 795-803, characters 2-8:
# 795 | ..function
# 796 |   | (I.Atom (loc, a, tS), s (* id *)) ->
# 797 |      I.Atom (loc, a, abstractSpine cQ offset (tS, s))
# 798 | 
# 799 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
# 800 |      I.PiTyp
# 801 |        ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity)
# 802 |        , abstractTyp cQ (offset + 1) (tB, LF.dot1 s)
# 803 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 818-843, characters 2-8:
# 818 | ..function
# 819 |   | (I.Lam (loc, x, tM), s) ->
# 820 |      I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s))
# 821 | 
# 822 |   | ( I.(Root
# ...
# 840 |        , abstractHead cQ offset tH
# 841 |        , abstractSpine cQ offset (tS, s)
# 842 |        , plicity
# 843 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _)
# 
# File "src/core/abstract.ml", lines 846-851, characters 2-59:
# 846 | ..function
# 847 |   | I.BVar _ as tH -> tH
# 848 |   | I.Const _ as tH -> tH
# 849 |   | I.FVar n -> I.BVar (index_of cQ (FV n) + offset)
# 850 |   | I.AnnH _ ->
# 851 |      Error.raise_not_implemented "[abstractHead] AnnH case"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)|
# HMClo (_, _))
# 
# File "src/core/abstract.ml", lines 855-869, characters 2-85:
# 855 | ..match (s, cPsi) with
# 856 |   | (I.Shift _, I.Null) -> tS
# 857 |   | (I.Shift k, I.DDec _) ->
# 858 |      subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS
# 859 | 
# ...
# 866 |     (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *)
# 867 | 
# 868 |   | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) ->
# 869 |      subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Shift _, CtxVar _)
# 
# File "src/core/abstract.ml", lines 880-894, characters 2-48:
# 880 | ..function
# 881 |   | I.Empty -> I.Empty
# 882 |   | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ
# 883 |   | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) ->
# 884 |      let cQ' = abstractCtx cQ in
# ...
# 891 |   | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) ->
# 892 |      let cQ' = abstractCtx cQ in
# 893 |      let tA' = abstractTyp cQ 0 (tA, LF.id) in
# 894 |      I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA')))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec
#   (_,
#   FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _))))
# 
# File "src/core/abstract.ml", lines 900-906, characters 2-39:
# 900 | ..match cPsi with
# 901 |   | I.Null -> I.Null
# 902 |   | I.CtxVar psi -> cPsi
# 903 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
# 904 |      let cPsi' = abstractDctx cQ cPsi (l - 1) in
# 905 |      let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in
# 906 |      I.DDec (cPsi', I.TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/abstract.ml", lines 930-940, characters 2-20:
# 930 | ..function
# 931 |   | (I.Atom (loc, a, tS), s (* id *)) ->
# 932 |      I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s))
# 933 |   | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) ->
# 934 |      I.PiTyp
# ...
# 937 |        )
# 938 |   | (I.Sigma typRec, s) ->
# 939 |      let typRec' = abstractMVarTypRec cQ offset (typRec, s) in
# 940 |      I.Sigma typRec'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/abstract.ml", lines 954-962, characters 2-29:
# 954 | ..function
# 955 |   | (I.Lam (loc, x, tM), s) ->
# 956 |      I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s))
# 957 |   | (I.Tuple (loc, tuple), s) ->
# 958 |      I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s))
# 959 |   | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) ->
# 960 |      I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity)
# 961 |   | (I.LFHole (loc, id, name), s) ->
# 962 |      I.LFHole (loc, id, name)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _, _)
# 
# File "src/core/abstract.ml", lines 1000-1036, characters 2-46:
# 1000 | ..function
# 1001 |   | I.BVar _ as mH -> mH
# 1002 |   | I.Const _ as mH -> mH
# 1003 | 
# 1004 |   | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns)
# ...
# 1033 |      Error.raise_not_implemented "[abstractMVarHead] AnnH case"
# 1034 | 
# 1035 |   | I.Proj (head, k) ->
# 1036 |      I.Proj (abstractMVarHead cQ loff head, k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (FVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/abstract.ml", lines 1091-1097, characters 2-39:
# 1091 | ..function
# 1092 |   | I.Null -> I.Null
# 1093 |   | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv)
# 1094 |   | I.DDec (cPsi, I.TypDecl (x, tA)) ->
# 1095 |      let cPsi' = abstractMVarDctx cQ loff cPsi in
# 1096 |      let tA' = abstractMVarTyp cQ loff (tA, LF.id) in
# 1097 |      I.DDec (cPsi', I.TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/abstract.ml", line 1110, characters 30-40:
# 1110 | and abstractMVarCdecl cQ loff (I.Decl d) =
#                                      ^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/abstract.ml", lines 1121-1138, characters 2-58:
# 1121 | ..match cQ with
# 1122 |   | I.Empty -> I.Empty
# 1123 |   | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
# 1124 |      let cQ' = abstractMVarCtx cQ (l - 1) in
# 1125 |      I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity))))
# ...
# 1135 |       * is it ever hit on correct code?  -jd 2009-02-12
# 1136 |       * No. This case should not occur in correct code - bp
# 1137 |       *)
# 1138 |      raise (Error (Name.location name, UnknownIdentifier))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (MMV _, Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 1150-1154, characters 2-20:
# 1150 | ..function
# 1151 |   | I.ClObj (phat, tM) ->
# 1152 |      I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM)
# 1153 |   | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi)
# 1154 |   | I.MV k -> I.MV k
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MUndef
# 
# File "src/core/abstract.ml", lines 1167-1179, characters 4-21:
# 1167 | ....function
# 1168 |     | I.Empty -> I.Empty
# 1169 |     | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) ->
# 1170 |        let cQ'' = ctxToMCtx' cQ' in
# 1171 |        I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity })
# ...
# 1176 |        let cQ'' = ctxToMCtx' cQ' in
# 1177 |        I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity })
# 1178 |     | I.Dec (cQ', FDecl (_, Impure)) ->
# 1179 |        ctxToMCtx' cQ'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, FDecl (FV _, Pure (LFTyp _)))
# 
# File "src/core/abstract.ml", lines 1208-1217, characters 2-8:
# 1208 | ..match cQ with
# 1209 |   | Int.LF.Empty -> (tA', 0)
# 1210 |   | Int.LF.Dec (_, FDecl (s, _)) ->
# 1211 |      let cQ' = abstractCtx cQ in
# 1212 |      let tA2 = abstractTyp cQ' 0 (tA', LF.id) in
# 1213 |      let cPsi = ctxToCtx cQ' in
# 1214 |      begin match raiseType' cPsi tA2 with
# 1215 |      | (None, tA3) -> (tA3, length' cPsi)
# 1216 |      | _ -> raise (Error (Location.ghost, LeftoverVars))
# 1217 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, CtxV _)
# 
# File "src/core/abstract.ml", lines 1246-1287, characters 2-28:
# 1246 | ..function
# 1247 |   | Comp.TypBase (loc, a, ms) ->
# 1248 |      let (cQ', ms') = collect_meta_spine p cQ ms in
# 1249 |      (cQ', Comp.TypBase (loc, a, ms'))
# 1250 |   | Comp.TypCobase (loc, a, ms) ->
# ...
# 1284 | 
# 1285 |   | Comp.TypInd tau ->
# 1286 |      let (cQ', tau') = collectCompTyp p cQ tau in
# 1287 |      (cQ', Comp.TypInd tau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDef (_, _, _)
# 
# File "src/core/abstract.ml", lines 1291-1296, characters 2-54:
# 1291 | ..function
# 1292 |   | I.Empty -> (cQ, I.Empty)
# 1293 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
# 1294 |      let (cQ1, cG') = collectGctx cQ cG in
# 1295 |      let (cQ2, tau') = collectCompTyp 0 cQ1 tau in
# 1296 |      (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/abstract.ml", lines 1463-1489, characters 2-52:
# 1463 | ..function
# 1464 |   | Comp.TypBase (loc, a, cS) ->
# 1465 |      let cS' = abstractMVarMetaSpine cQ offset cS in
# 1466 |      Comp.TypBase (loc, a, cS')
# 1467 |   | Comp.TypCobase (loc, a, cS) ->
# ...
# 1486 |        )
# 1487 | 
# 1488 |   | Comp.TypInd tau ->
# 1489 |      Comp.TypInd (abstractMVarCompTyp cQ offset tau)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _)|TypClo (_, _))
# 
# File "src/core/abstract.ml", lines 1492-1497, characters 2-47:
# 1492 | ..function
# 1493 |   | I.Empty -> I.Empty
# 1494 |   | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) ->
# 1495 |      let cG' = abstractMVarGctx cQ offset cG in
# 1496 |      let tau' = abstractMVarCompTyp cQ offset tau in
# 1497 |      I.Dec (cG', Comp.CTypDecl (x, tau', flag))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/abstract.ml", lines 1698-1700, characters 4-48:
# 1698 | ....match (p, cD) with
# 1699 |     | (0, _) -> cD
# 1700 |     | (_, I.Dec (cD', decl)) -> drop (p - 1) cD'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1, Empty)
# 
# File "src/core/abstract.ml", lines 1722-1724, characters 8-24:
# 1722 | ........let I.Dec (cD1', decl) = cD1 in
# 1723 |         let cD = subtract cD1' cD2 in
# 1724 |         I.Dec (cD, decl)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/abstract.ml", lines 1785-1789, characters 2-24:
# 1785 | ..function
# 1786 |   | I.Null -> cPsi1
# 1787 |   | I.DDec (cPsi2', dec) ->
# 1788 |      let cPsi1' = appDCtx cPsi1 cPsi2' in
# 1789 |      I.Dec (cPsi1', dec)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Unify.cmx -c -impl src/core/unify.ml)
# File "src/core/unify.ml", line 163, characters 30-55:
# 163 |   let genMMVarstr loc cD cPsi (Atom (_, a, _) as tP, s) =
#                                     ^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)
# 
# File "src/core/unify.ml", lines 575-585, characters 6-9:
# 575 | ......begin match applyMSub k ms with
# 576 |       | MUndef ->
# 577 |          (* Psi1, x:tA |- s' <= Psi2 *)
# 578 |          (Whnf.mcomp mt' (MShift 1), cD2)
# 579 | 
# ...
# 582 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
# 583 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
# 584 |          (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity }))
# 585 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 566-590, characters 4-38:
# 566 | ....match (t, cD1) with
# 567 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
# 568 | 
# 569 |    | (MShift k, Dec _) ->
# 570 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
# ...
# 587 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
# 588 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
# 589 |       (* cD1 |- mt' <= cD2 *)
# 590 |       (Whnf.mcomp mt' (MShift 1), cD2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MDot (MV k, mt), Dec (cD1, DeclOpt _))
# 
# File "src/core/unify.ml", lines 810-819, characters 7-10:
# 810 | .......begin match applyMSub u ms with
# 811 |        | MV v ->
# 812 |           Root
# 813 |             ( loc
# 814 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
# 815 |             , Nil
# 816 |             , plicity
# 817 |             )
# 818 |        | MUndef -> raise NotInvertible
# 819 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 822-830, characters 7-46:
# 822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
# 823 |        let d = Context.length cD0 - Context.length cD_d in
# 824 |        let cPsi1 =
# 825 |          if d = 0
# 826 |          then cPsi1
# 827 |          else Whnf.cnormDCtx (cPsi1, MShift d)
# 828 |        in
# 829 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
# 830 |        Root (loc, FMVar (u, s'), Nil, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=CTyp _; _ })
# 
# File "src/core/unify.ml", lines 833-841, characters 7-46:
# 833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in
# 834 |        let d = Context.length cD0 - Context.length cD_d in
# 835 |        let cPsi1 =
# 836 |          if d = 0
# 837 |          then cPsi1
# 838 |          else Whnf.cnormDCtx (cPsi1, MShift d)
# 839 |        in
# 840 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
# 841 |        Root (loc, FPVar (p, s'), Nil, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=CTyp _; _ })
# 
# File "src/core/unify.ml", lines 846-850, characters 7-10:
# 846 | .......begin match applyMSub p ms with
# 847 |        | MV q ->
# 848 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
# 849 |        | MUndef -> raise NotInvertible
# 850 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 747-862, characters 4-62:
# 747 | ....match sM with
# 748 |     | (Lam (loc, x, tM), s) ->
# 749 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
# 750 | 
# 751 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
# ...
# 859 |          )
# 860 | 
# 861 |     | (Tuple (loc, trec), s) ->
# 862 |        Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((LFHole (_, _, _)|Clo _), _)
# 
# File "src/core/unify.ml", lines 888-891, characters 7-10:
# 888 | .......begin match bvarSub k ssubst with
# 889 |        | Undef -> raise NotInvertible
# 890 |        | Head (BVar k') -> BVar k'
# 891 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 894-897, characters 7-10:
# 894 | .......begin match bvarSub k ssubst with
# 895 |        | Head (BVar _ as head) -> head
# 896 |        | Undef -> raise NotInvertible
# 897 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 932-936, characters 7-10:
# 932 | .......begin match applyMSub u ms with
# 933 |        | MV v ->
# 934 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
# 935 |        | MUndef -> raise NotInvertible
# 936 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 940-944, characters 7-10:
# 940 | .......begin match applyMSub p ms with
# 941 |        | MV q ->
# 942 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
# 943 |        | MUndef -> raise NotInvertible
# 944 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 948-952, characters 7-10:
# 948 | .......begin match applyMSub p ms with
# 949 |        | MV q ->
# 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
# 951 |        | MUndef -> raise NotInvertible
# 952 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 886-952, characters 4-10:
# 886 | ....match head with
# 887 |     | BVar k ->
# 888 |        begin match bvarSub k ssubst with
# 889 |        | Undef -> raise NotInvertible
# 890 |        | Head (BVar k') -> BVar k'
# ...
# 949 |        | MV q ->
# 950 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
# 951 |        | MUndef -> raise NotInvertible
# 952 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Proj
#   ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#    FPVar _|HClo (_, _, _)|HMClo (_, _)),
#   _)
# 
# File "src/core/unify.ml", lines 956-959, characters 4-46:
# 956 | ....function
# 957 |     | Undefs -> raise (Failure "Variable dependency")
# 958 |     | Shift k -> Shift (n + k)
# 959 |     | Dot (ft, ss') -> shiftInvSub (n - 1) ss'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/unify.ml", lines 981-985, characters 9-40:
# 981 | .........match applyMSub s ms with
# 982 |          | MV v ->
# 983 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
# 984 |             (v, cPhi, cPsi')
# 985 |          | MUndef -> raise NotInvertible
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1024-1030, characters 7-10:
# 1024 | .......begin match applyMSub s ms with
# 1025 |        | MV v ->
# 1026 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
# 1027 |           (* applyMSub to ctx_offset ? *)
# 1028 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
# 1029 |        | MUndef -> raise NotInvertible
# 1030 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1033-1034, characters 7-64:
# 1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in
# 1034 |        FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=ClTyp (STyp (Ren, _), _); _ })
# 
# File "src/core/unify.ml", lines 1063-1069, characters 4-74:
# 1063 | ....match (mt, cD1) with
# 1064 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
# 1065 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) ->
# 1066 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
# 1067 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
# 1068 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
# 1069 |        MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MDot (mobj, mt'), Empty)
# 
# File "src/core/unify.ml", lines 1072-1080, characters 4-90:
# 1072 | ....match mobj with
# 1073 |     | MV n ->
# 1074 |        begin match applyMSub n ms with
# 1075 |        | MUndef -> raise NotInvertible
# 1076 |        | ft -> ft
# 1077 |        end
# 1078 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
# 1079 |     | CObj cPsi -> Error.raise_violation "Not implemented"
# 1080 |     | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/unify.ml", lines 1152-1154, characters 7-80:
# 1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
# 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
# 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Shift 1
# 
# File "src/core/unify.ml", lines 1124-1154, characters 4-80:
# 1124 | ....match sM with
# 1125 |     | (LFHole _ as n, _) -> n
# 1126 |     | (Lam (loc, x, tM), s) ->
# 1127 |        dprintf
# 1128 |          begin fun p ->
# ...
# 1151 |     | (Root (loc, head, tS, plicity), s) ->
# 1152 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
# 1153 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
# 1154 |        Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Clo _, _)
# 
# File "src/core/unify.ml", lines 1173-1184, characters 4-9:
# 1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
# 1174 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
# 1175 |     then raise (Failure "Variable occurrence")
# 1176 |     else
# 1177 |       begin
# ...
# 1181 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
# 1182 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
# 1183 |         ((v, mr), r)
# 1184 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1187-1199, characters 4-37:
# 1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
# 1188 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
# 1189 |     then raise (Failure "Variable occurrence")
# 1190 |     else
# 1191 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
# ...
# 1196 |         , Root (loc, MVar (v, idsub), Nil, Plicity.explicit)
# 1197 |         , mmvar.constraints.contents
# 1198 |         );
# 1199 |       (v, comp (comp idsub t) ssubst)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 1202-1211, characters 3-10:
# 1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in
# 1203 |    let d = Context.length cD0 - Context.length cD_d in
# 1204 |    let cPsi1 =
# 1205 |      if d = 0
# 1206 |      then cPsi1
# 1207 |      else Whnf.cnormDCtx (cPsi1, MShift d)
# 1208 |    in
# 1209 |    let t' = simplifySub cD0 cPsi t in
# 1210 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
# 1211 |    (u, s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=CTyp _; _ })
# 
# File "src/core/unify.ml", lines 1216-1219, characters 7-14:
# 1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
# 1217 |        let t' = simplifySub cD0 cPsi t in
# 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
# 1219 |        (v, s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, CTyp _)
# 
# File "src/core/unify.ml", lines 1214-1220, characters 4-63:
# 1214 | ....match applyMSub u ms with
# 1215 |     | MV v ->
# 1216 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
# 1217 |        let t' = simplifySub cD0 cPsi t in
# 1218 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
# 1219 |        (v, s')
# 1220 |     | MUndef -> raise (Failure "[Prune] Bound MVar dependency")
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1246-1254, characters 7-10:
# 1246 | .......begin match bvarSub k ssubst with
# 1247 |        | Undef ->
# 1248 |           let s =
# 1249 |             Format.asprintf "[Prune] Bound variable dependency : head = %a"
# 1250 |               (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head
# 1251 |           in
# 1252 |           raise (Failure s)
# 1253 |        | Head (BVar _ as h') -> h'
# 1254 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1223-1258, characters 4-11:
# 1223 | ....match head with
# 1224 |     | MMVar ((i, mt), t) ->
# 1225 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
# 1226 |     | MVar (Inst i, t) ->
# 1227 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
# ...
# 1255 | 
# 1256 |     | Const _
# 1257 |       | FVar _ ->
# 1258 |        head
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (AnnH (_, _)|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1293-1317, characters 4-57:
# 1293 | ....match (s, cPsi1) with
# 1294 |     | (EmptySub, Null) -> EmptySub
# 1295 |     | (Undefs, Null) -> EmptySub
# 1296 |     | (Shift n, DDec _) ->
# 1297 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
# ...
# 1314 | 
# 1315 |     | (Dot _, _)
# 1316 |       | (EmptySub, _)
# 1317 |       -> Error.raise_violation "Badly typed substitution"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Undefs, (CtxVar _|DDec (_, _)))
# 
# File "src/core/unify.ml", lines 1321-1323, characters 4-70:
# 1321 | ....match ft with
# 1322 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
# 1323 |     | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Undef
# 
# File "src/core/unify.ml", lines 1354-1357, characters 9-59:
# 1354 | .........function
# 1355 |          | Undefs -> (EmptySub, Null)
# 1356 |          | Shift k -> (id, CtxVar psi)
# 1357 |          | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/unify.ml", lines 1370-1374, characters 9-40:
# 1370 | .........match applyMSub s mt with
# 1371 |          | MV v ->
# 1372 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
# 1373 |             cPsi'
# 1374 |          | MUndef -> raise NotInvertible
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ClObj (_, _)|CObj _)
# 
# File "src/core/unify.ml", lines 1387-1390, characters 7-18:
# 1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
# 1388 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
# 1389 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
# 1390 |        (id, cPsi1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|PTyp _), _)
# 
# File "src/core/unify.ml", lines 1398-1400, characters 7-18:
# 1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in
# 1399 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
# 1400 |        (id, cPsi1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
# 
# File "src/core/unify.ml", lines 1407-1426, characters 7-10:
# 1407 | .......begin match bvarSub n ssubst with
# 1408 |        | Undef ->
# 1409 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
# 1410 |           (comp s1' shift, cPsi1')
# 1411 | 
# ...
# 1423 |           in
# 1424 |           (* cPsi1' |- s1_i <= cPsi' *)
# 1425 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
# 1426 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1431-1448, characters 7-10:
# 1431 | .......begin match bvarSub n ssubst with
# 1432 |        | Undef ->
# 1433 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
# 1434 |           (comp s1' shift, cPsi1')
# 1435 | 
# ...
# 1445 |           in
# 1446 |           (* cPsi1' |- s1_i <= cPsi' *)
# 1447 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
# 1448 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1343-1471, characters 4-31:
# 1343 | ....match (s, cPsi1) with
# 1344 |     | (Shift n, DDec _) ->
# 1345 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
# 1346 |     | (Shift _, Null)
# 1347 |       | (EmptySub, Null)
# ...
# 1468 | 
# 1469 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
# 1470 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
# 1471 |        (comp s1' shift, cPsi1')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub, (CtxVar _|DDec (_, _)))
# 
# File "src/core/unify.ml", lines 1474-1487, characters 4-21:
# 1474 | ....match sA with
# 1475 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
# 1476 |     | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) ->
# 1477 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
# 1478 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
# ...
# 1484 | 
# 1485 |     | (Sigma typ_rec, s) ->
# 1486 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
# 1487 |        Sigma typ_rec'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TClo _, _)
# 
# File "src/core/unify.ml", lines 1504-1507, characters 7-10:
# 1504 | .......begin match applyMSub psi ms with
# 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
# 1506 |        | MV k -> CtxVar (CtxOffset k)
# 1507 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MUndef|ClObj (_, _))
# 
# File "src/core/unify.ml", lines 1510-1514, characters 7-10:
# 1510 | .......begin match mmvar.instantiation.contents with
# 1511 |        | None -> cPsi
# 1512 |        | Some (ICtx cPhi) ->
# 1513 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
# 1514 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/unify.ml", lines 1501-1529, characters 4-37:
# 1501 | ....match cPsi with
# 1502 |     | Null -> Null
# 1503 |     | CtxVar (CtxOffset psi) ->
# 1504 |        begin match applyMSub psi ms with
# 1505 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
# ...
# 1526 |            (ms, Substitution.LF.id)
# 1527 |            rOccur
# 1528 |        in
# 1529 |        DDec (cPsi', TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/unify.ml", lines 1574-1583, characters 7-10:
# 1574 | .......begin match bvarSub k ssubst with
# 1575 |        | Undef ->
# 1576 |           (* Psi1, x:tA |- s' <= Psi2 *)
# 1577 |           (comp s' shift, cPsi2)
# 1578 | 
# 1579 |        | Head (BVar _) ->
# 1580 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
# 1581 |                   A = [s']([s']^-1 A) *)
# 1582 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
# 1583 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1590-1599, characters 7-10:
# 1590 | .......begin match bvarSub k ssubst with
# 1591 |        | Undef ->
# 1592 |           (* Psi1, x:tA |- s' <= Psi2 *)
# 1593 |           (comp s' shift, cPsi2)
# 1594 | 
# 1595 |        | Head (BVar _) ->
# 1596 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
# 1597 |                   A = [s']([s']^-1 A) *)
# 1598 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
# 1599 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|
#   FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/unify.ml", lines 1551-1604, characters 4-29:
# 1551 | ....match (t, cPsi1) with
# 1552 |     | (EmptySub, Null)
# 1553 |       | (Undefs, Null)
# 1554 |       | (Shift _, Null) ->
# 1555 |        (id, Null)
# ...
# 1601 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
# 1602 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
# 1603 |        (* sP1 |- s' <= cPsi2 *)
# 1604 |        (comp s' shift, cPsi2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub, (CtxVar _|DDec (_, _)))
# 
# File "src/core/unify.ml", lines 1646-1651, characters 4-56:
# 1646 | ....match (sTup1, sTup2) with
# 1647 |     | ((Last tM, s1), (Last tN, s2)) ->
# 1648 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
# 1649 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
# 1650 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
# 1651 |         unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Last tM, s1), (Cons (_, _), _))
# 
# File "src/core/unify.ml", lines 1654-1680, characters 4-9:
# 1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1655 |     if isId t1'
# 1656 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
# 1657 |     else
# 1658 |       begin
# ...
# 1677 |            (* This might actually need to add a constraint, in which case
# 1678 |            "NotInvertible" seems the wrong kind of exception... *)
# 1679 |            Error.raise_violation "Unification violation"
# 1680 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1694-1705, characters 9-35:
# 1694 | .........match Whnf.whnfTyp sA with
# 1695 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
# 1696 |             (* cPsi' |- Pi x:A.B <= typ
# 1697 |                cPsi  |- s <= cPsi'
# 1698 |                cPsi  |- tN <= [s]tA
# ...
# 1702 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
# 1703 |             LF.App (tN, tS)
# 1704 | 
# 1705 |          | (LF.Atom _, _) -> LF.Nil
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/unify.ml", lines 1683-1710, characters 4-15:
# 1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1684 |     match sM2 with
# 1685 |     | Root (loc, Const c, _, plicity) ->
# 1686 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
# 1687 |        dprintf
# ...
# 1707 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
# 1708 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
# 1709 |        Some tM1
# 1710 |     | _ -> None
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1716-1729, characters 6-32:
# 1716 | ......match Whnf.whnfTyp sA with
# 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
# 1718 |          (* cPsi' |- Pi x:A.B <= typ
# 1719 |             cPsi  |- s <= cPsi'
# 1720 |             cPsi  |- tN <= [s]tA
# ...
# 1726 |          in
# 1727 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
# 1728 |          LF.App (tN, tS)
# 1729 |       | (LF.Atom _, _) -> LF.Nil
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/unify.ml", lines 1714-1762, characters 4-15:
# 1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
# 1715 |     let rec genSpine cD1 cPsi1 sA =
# 1716 |       match Whnf.whnfTyp sA with
# 1717 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) ->
# 1718 |          (* cPsi' |- Pi x:A.B <= typ
# ...
# 1759 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
# 1760 |        Some tM1
# 1761 | 
# 1762 |     | _ -> None
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 1766-1769, characters 4-79:
# 1766 | ....match tm with
# 1767 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
# 1768 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur)
# 1769 |     | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ISub s, (MTyp _|PTyp _))
# 
# File "src/core/unify.ml", lines 1772-1796, characters 4-9:
# 1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
# 1773 |     if isId t1' && isMId mt1
# 1774 |     then
# 1775 |       begin
# 1776 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
# ...
# 1793 |         (* with | NotInvertible -> Error.raise_violation "Unification violation" *)
# 1794 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
# 1795 |            the wrong kind of exception... *)
# 1796 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1810-1882, characters 4-76:
# 1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1811 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
# 1812 |     (* cD |- mtt1 : cD0 and  cD ; cPsi |- t1' : cPsi1 *)
# 1813 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
# 1814 |     let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *)
# ...
# 1879 |       p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a"
# 1880 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
# 1881 |       end;
# 1882 |     instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1885-1918, characters 4-102:
# 1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
# 1886 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
# 1887 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
# 1888 |          then cD ; cPsi1 |- s' <= cPsi' *)
# 1889 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
# ...
# 1915 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
# 1916 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
# 1917 |      *)
# 1918 |     instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/unify.ml", lines 1934-1975, characters 7-12:
# 1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
# 1935 |        dprnt "(000) MVar-MVar";
# 1936 |        (* by invariant of whnf:
# 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
# 1938 |           r1 and r2 are uninstantiated  (None)
# ...
# 1972 |          begin
# 1973 |            let id = next_constraint_id () in
# 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
# 1975 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 1933-1975, characters 7-12:
# 1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
# 1934 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
# 1935 |        dprnt "(000) MVar-MVar";
# 1936 |        (* by invariant of whnf:
# 1937 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
# ...
# 1972 |          begin
# 1973 |            let id = next_constraint_id () in
# 1974 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
# 1975 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/unify.ml", lines 2439-2452, characters 4-52:
# 2439 | ....match (spine1, spine2) with
# 2440 |     | ((Nil, _), (Nil, _)) -> ()
# 2441 | 
# 2442 |     | ((SClo (tS1, s1'), s1), sS) ->
# 2443 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
# ...
# 2449 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
# 2450 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
# 2451 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
# 2452 |        unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Nil, _), (App (_, _), _))
# 
# File "src/core/unify.ml", lines 2659-2710, characters 7-61:
# 2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
# 2660 |        if mmvar1.instantiation == mmvar2.instantiation
# 2661 |        then
# 2662 |          if Option.equal Id.cid_schema_equal schema1 schema2
# 2663 |          then
# ...
# 2707 |          Error.raise_violation
# 2708 |            "Case where both meta-substitutions associated with \
# 2709 |             context variables are not pattern substitutions \
# 2710 |             should not happen and is not implemented for now"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CTyp schema1, ClTyp (_, _))
# 
# File "src/core/unify.ml", lines 2714-2747, characters 7-61:
# 2714 | .......let CTyp s_cid = mmvar.typ in
# 2715 |        if isPatMSub theta
# 2716 |        then
# 2717 |          begin
# 2718 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
# ...
# 2744 |          Error.raise_violation
# 2745 |            "Case where both meta-substitutions associated with \
# 2746 |             context variables are not pattern substitutions \
# 2747 |             should not happen and is not implemented for now"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (_, _)
# 
# File "src/core/unify.ml", lines 2785-2786, characters 4-43:
# 2785 | ....let Decl { typ = cT; _ } = cdecl in
# 2786 |     unifyMObj cD (mO, t) (mO', t') (cT, mt)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/unify.ml", lines 2820-2832, characters 7-53:
# 2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in
# 2821 |        let mOt = Whnf.cnormMetaObj (mO, t) in
# 2822 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
# 2823 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
# 2824 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
# ...
# 2829 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
# 2830 |          end;
# 2831 |        unifyMetaTyp cD (mT, t) (mT', t');
# 2832 |        unifyMetaSpine cD (mS, t) (mS', t') (cK', mt')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Ctype _
# 
# File "src/core/unify.ml", lines 2837-2840, characters 4-81:
# 2837 | ....function
# 2838 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2839 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2840 |     | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MTyp tA1, (PTyp _|STyp (_, _)))
# 
# File "src/core/unify.ml", line 2836, characters 17-28:
# 2836 |   and unifyClTyp Unification cD cPsi =
#                         ^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Matching
# 
# File "src/core/unify.ml", line 2842, characters 18-29:
# 2842 |   and unifyCLFTyp Unification cD ctyp1 ctyp2 =
#                          ^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Matching
# 
# File "src/core/unify.ml", lines 2938-2941, characters 4-62:
# 2938 | ....match (itM1, itM2) with
# 2939 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
# 2940 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
# 2941 |     | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (INorm tM1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/unify.ml", lines 2950-2962, characters 7-10:
# 2950 | .......begin match !cnstr with
# 2951 |        | Queued id ->
# 2952 |           forceCnstr mflag (nextCnstr ())
# 2953 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
# 2954 |           solveConstraint cnstr;
# ...
# 2959 |           solveConstraint cnstr;
# 2960 |           unifyHead mflag cD cPsi h1 h2;
# 2961 |           forceCnstr mflag (nextCnstr ())
# 2962 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _))
# 
# File "src/core/unify.ml", lines 2994-3029, characters 7-100:
# 2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
# 2995 |        solveConstraint c;
# 2996 |        dprintf
# 2997 |          begin fun p ->
# 2998 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
# ...
# 3026 |         *)
# 3027 |        if solvedCnstrs (!globalCnstrs)
# 3028 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
# 3029 |        else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated"))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Queued _
# 
# File "src/core/unify.ml", lines 3202-3204, characters 8-68:
# 3202 | ........match (m1, m2) with
# 3203 |         | (MObj tM1, MObj tM2) ->  unify Empty cPsi (tM1, id) (tM2,id)
# 3204 |         | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MObj tM1, (PObj _|SObj _))
# 
# File "src/core/unify.ml", lines 3208-3217, characters 4-49:
# 3208 | ....match (m1, m2) with
# 3209 |     | (CObj cPsi, CObj cPhi) ->
# 3210 |        unifyDCtx1
# 3211 |          Unification
# 3212 |          Empty
# 3213 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
# 3214 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
# 3215 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
# 3216 |        (* unify_phat phat1 phat2; *)
# 3217 |        unifyClObj (Context.hatToDCtx phat1) m1 m2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CObj cPsi, (MUndef|ClObj (_, _)|MV _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Opsem.cmx -c -impl src/core/opsem.ml)
# File "src/core/opsem.ml", lines 80-83, characters 2-30:
# 80 | ..match cM' with
# 81 |   | LF.ClObj (phat, LF.MObj tM) -> (loc, cM')
# 82 |   | LF.ClObj (phat, LF.PObj h) -> (loc, cM')
# 83 |   | LF.CObj cPsi -> (loc, cM')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClObj (_, SObj _)
# 
# File "src/core/opsem.ml", lines 121-137, characters 7-17:
# 121 | .......function
# 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
# 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
# 124 |             when Id.cid_comp_dest_equal cid cid' ->
# 125 |           Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *)
# ...
# 134 |           | Value v -> Value v
# 135 |           end
# 136 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) ->
# 137 |           trim br
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _)
# 
# File "src/core/opsem.ml", lines 119-142, characters 5-8:
# 119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in
# 120 |      let rec trim =
# 121 |        function
# 122 |        | Comp.NilValBranch -> FunBranch Comp.NilValBranch
# 123 |        | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br)
# ...
# 139 |      begin match trim fbr with
# 140 |      | FunBranch fr -> Comp.FunValue fr
# 141 |      | Value v -> v
# 142 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)|
# CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)|
# TupleValue (T (_, _, _)))
# 
# File "src/core/opsem.ml", lines 91-290, characters 2-50:
#  91 | ..match i with
#  92 |   | Comp.Const (_, cid) ->
#  93 |      dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid);
#  94 |      begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with
#  95 |      | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) ->
# ...
# 287 |      eval_branches loc vscrut branches (theta, eta)
# 288 | 
# 289 |   | Comp.Hole (_) ->
# 290 |      Error.raise_violation "Source contains holes"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MApp (_, _, (_, ClObj (_, SObj _)), _, _)
# 
# File "src/core/opsem.ml", lines 321-325, characters 2-36:
# 321 | ..match (cObj, cObj') with
# 322 |   | (LF.MObj tM, LF.MObj tM') ->
# 323 |      Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id)
# 324 |   | (LF.PObj h, LF.PObj h') ->
# 325 |      Unify.unifyH LF.Empty phat h h'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MObj tM, (PObj _|SObj _))
# 
# File "src/core/opsem.ml", lines 437-458, characters 4-10:
# 437 | ....function
# 438 |     | Comp.NilValBranch -> FunBranch (Comp.NilValBranch)
# 439 |     | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) ->
# 440 |        begin try
# 441 |            let eta' = match_pattern (v, eta) (p, theta) in
# ...
# 455 |                eval_branch brs
# 456 |             | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg);
# 457 |                                     eval_branch brs)
# 458 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfcheck.cmx -c -impl src/core/lfcheck.ml)
# File "src/core/lfcheck.ml", lines 225-230, characters 2-19:
# 225 | ..function
# 226 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
# 227 |   | DDec (cPsi', TypDecl (n, tA)) ->
# 228 |      let s = (ctxToSub' cPhi cPsi' : sub) in
# 229 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
# 230 |      Dot (Obj u, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi', TypDeclOpt _)
# 
# File "src/core/lfcheck.ml", lines 246-330, characters 2-55:
# 246 | ..match (sM, sA) with
# 247 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *)
# 248 |      check cD
# 249 |        (DDec (cPsi, S.LF.decSub tX s2))
# 250 |        (tM, S.LF.dot1 s1)
# ...
# 327 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
# 328 |      end
# 329 |   | ((Root (loc, _, _, _), _ (* id *)), _ ) ->
# 330 |      raise (Error (loc, CheckError (cD, cPsi, sM, sA)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Clo _, _), _)
# 
# File "src/core/lfcheck.ml", lines 361-370, characters 4-23:
# 361 | ....match (tS, sA) with
# 362 |     | ((Nil, _), sP) -> sP
# 363 | 
# 364 |     | ((SClo (tS, s'), s), sA) ->
# 365 |        syn (tS, S.LF.comp s' s) sA
# 366 | 
# 367 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) ->
# 368 |        check cD cPsi (tM, s1) (tA1, s2);
# 369 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
# 370 |        syn (tS, s1) tB2
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfcheck.ml", line 346, characters 16-50:
# 346 | and syn cD cPsi (Root (loc, h, tS, _), s (* id *)) =
#                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 393-394, characters 5-7:
# 393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
# 394 |      tA
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfcheck.ml", lines 400-409, characters 10-25:
# 400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
# 401 |           dprintf
# 402 |             begin fun p ->
# 403 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
# 404 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
# 405 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
# 406 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
# 407 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
# 408 |             end;
# 409 |           (recA, S.LF.id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfcheck.ml", lines 411-413, characters 10-19:
# 411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
# 412 |           checkSub loc cD cPsi s Subst cPsi';
# 413 |           (recA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 398-414, characters 7-64:
# 398 | .......match tuple_head with
# 399 |        | BVar k' ->
# 400 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
# 401 |           dprintf
# 402 |             begin fun p ->
# ...
# 411 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
# 412 |           checkSub loc cD cPsi s Subst cPsi';
# 413 |           (recA, s)
# 414 |        | FPVar (name, _) -> raise (Error (loc, LeftoverFV name))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
# HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfcheck.ml", lines 446-457, characters 5-17:
# 446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
# 447 |      dprintf
# 448 |        begin fun p ->
# 449 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
# 450 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
# ...
# 454 |          f cPsi'
# 455 |        end;
# 456 |      checkSub loc cD cPsi s Subst cPsi' ;
# 457 |      TClo (tA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 461-474, characters 5-37:
# 461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
# 462 |      dprintf
# 463 |        begin fun p ->
# 464 |        let f = P.fmt_ppr_lf_mctx P.l0 in
# 465 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
# ...
# 471 |      checkMSub loc cD t' mmvar.cD;
# 472 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
# 473 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
# 474 |      TClo (Whnf.cnormTyp (tA, t'), r)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/lfcheck.ml", lines 391-506, characters 2-41:
# 391 | ..match (head, cl) with
# 392 |   | (BVar k', _) ->
# 393 |      let TypDecl (_, tA) = ctxDec cPsi k' in
# 394 |      tA
# 395 | 
# ...
# 503 |      TClo (tA, s)
# 504 | 
# 505 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
# 506 |      raise (Error (loc, LeftoverFV name))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MVar (Inst _, _), Subst)
# (However, some guarded clause may match this value.)
# 
# File "src/core/lfcheck.ml", lines 509-528, characters 2-13:
# 509 | ..match cPsi with
# 510 |   | Null -> true (* we need to succeed because coverage should detect that
# 511 |                       it is not inhabited *)
# 512 | 
# 513 |   | CtxVar ctx_var ->
# ...
# 525 | 
# 526 |   | DDec (rest, TypDecl _) ->
# 527 |      canAppear cD rest head sA loc
# 528 |      || false...........................................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (rest, TypDeclOpt _)
# 
# File "src/core/lfcheck.ml", lines 643-655, characters 2-23:
# 643 | ..match sS1, sK with
# 644 |   | (Nil, _), sK ->
# 645 |     sK
# 646 | 
# 647 |   | (SClo (tS, s'), s), sK ->
# ...
# 652 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
# 653 | 
# 654 |   | (App _, _), (Typ, _) ->
# 655 |     raise SpineMismatch
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfcheck.ml", lines 664-681, characters 2-47:
# 664 | ..match tA with
# 665 |   | Atom (loc, a, tS) ->
# 666 |      let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
# 667 |      begin
# 668 |        try
# ...
# 678 |      checkTyp cD cPsi (tA, s);
# 679 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
# 680 | 
# 681 |   | Sigma arec -> checkTypRec cD cPsi (arec, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfcheck.ml", lines 710-714, characters 2-53:
# 710 | ..function
# 711 |   | Typ -> ()
# 712 |   | PiKind ((TypDecl (x, tA), _, _), kind) ->
# 713 |      checkTyp cD cPsi (tA, S.LF.id);
# 714 |      checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfcheck.ml", lines 724-725, characters 2-47:
# 724 | ..match decl with
# 725 |   | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfcheck.ml", lines 734-754, characters 2-7:
# 734 | ..match cPsi with
# 735 |   | Null -> ()
# 736 |   | DDec (cPsi, tX) ->
# 737 |      checkDCtx cD cPsi;
# 738 |      checkDec cD cPsi (tX, S.LF.id)
# ...
# 751 |          (P.fmt_ppr_lf_mctx P.l0) cD
# 752 |        end;
# 753 |      ignore (Whnf.mctxLookup cD k);
# 754 |      ()
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/lfcheck.ml", lines 962-963, characters 5-47:
# 962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
# 963 |      checkSchema loc cD cPhi schema_name schema
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (INorm _|IHead _|ISub _)
# 
# File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57:
# 1019 | ..match (sArec, sBrec) with
# 1020 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
# 1021 |      None
# 1022 | 
# 1023 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
# 1024 |      Some (recA, s)
# 1025 | 
# 1026 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
# 1027 |      elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((SigmaLast (_, _), _), (SigmaElem (_, _, _), _))
# 
# File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69:
# 1075 | ..match (cM, cTt) with
# 1076 |   | (CObj cPsi, (CTyp (Some w), _)) ->
# 1077 |      let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in
# 1078 |      checkSchema loc cD cPsi name schema
# 1079 | 
# ...
# 1098 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
# 1099 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
# 1100 |      if Bool.not (Whnf.convMTyp mtyp1 mtyp2)
# 1101 |      then Error.raise_violation ("Contextual substitution ill-typed")
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CObj cPsi, (CTyp None, _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Total.cmx -c -impl src/core/total.ml)
# File "src/core/total.ml", lines 31-45, characters 6-9:
# 31 | ......begin match (x, args) with
# 32 |       | (_, []) ->
# 33 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
# 34 |       | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) ->
# 35 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@"
# ...
# 42 | 
# 43 |       | (Comp.V _, _) ->
# 44 |         Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration."
# 45 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (M (_, _), (E|DC)::_)
# 
# File "src/core/total.ml", lines 138-141, characters 2-56:
# 138 | ..function
# 139 |   | LF.Empty -> LF.Empty
# 140 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
# 141 |      LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# 
# File "src/core/total.ml", lines 155-157, characters 2-40:
# 155 | ..function
# 156 |   | None -> " _ "
# 157 |   | Some (Comp.Arg x) -> string_of_int x
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (Lex _|Simul _)
# 
# File "src/core/total.ml", line 249, characters 30-37:
# 249 |        let xs = List.map (fun (Arg x) -> x) xs in
#                                     ^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lex _|Simul _)
# 
# File "src/core/total.ml", lines 245-258, characters 4-41:
# 245 | ....match dec.order with
# 246 |     | `inductive (Arg x) ->
# 247 |        (dec.name, Some [x], (tau, Whnf.m_id))
# 248 |     | `inductive (Lex xs) ->
# 249 |        let xs = List.map (fun (Arg x) -> x) xs in
# ...
# 255 |     | `not_recursive
# 256 |       | `trust
# 257 |       | `partial ->
# 258 |        (dec.name, None, (tau, Whnf.m_id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# `inductive (Simul _)
# 
# File "src/core/total.ml", line 331, characters 19-54:
# 331 | let gen_var loc cD (LF.Decl { name = x; typ = cU; _ }) =
#                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/total.ml", lines 404-413, characters 2-31:
# 404 | ..function
# 405 |   | [] -> []
# 406 |   | Comp.M (cM, cU) :: args ->
# 407 |      if uninstantiated_arg cM
# 408 |      then Comp.DC :: generalize args
# 409 |      else Comp.M (cM, cU) :: generalize args
# 410 |   | Comp.V x :: args ->
# 411 |      Comp.V x :: generalize args
# 412 |   | Comp.DC :: args ->
# 413 |      Comp.DC :: generalize args
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# E::_
# 
# File "src/core/total.ml", line 445, characters 19-25:
# 445 |   let existsElem b (1, n) (LF.SchElem (some_part, block_part))  =
#                          ^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (0, _)
# 
# File "src/core/total.ml", lines 509-511, characters 6-47:
# 509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in
# 510 |       (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id);
# 511 |        gen_meta_obj (k, Substitution.LF.id) cU)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/total.ml", lines 544-592, characters 2-30:
# 544 | ..function
# 545 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
# 546 |   | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) ->
# 547 |      let cU0 = Whnf.cnormMTyp (cU', theta) in
# 548 |          begin
# ...
# 589 | 
# 590 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
# 591 |      let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in
# 592 |      (Comp.DC :: spine, tau_r)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (2,
# ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
#  TypCross (_, _)|TypClo (_, _)|TypInd _),
# _))
# 
# File "src/core/total.ml", lines 595-619, characters 2-30:
# 595 | ..function
# 596 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
# 597 | 
# 598 |   | (1, (Comp.TypPiBox _, _)) ->
# 599 |      raise Not_compatible (* Error *)
# ...
# 616 | 
# 617 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
# 618 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
# 619 |      (Comp.DC :: spine, tau_r)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (1,
# ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
#  TypCross (_, _)|TypClo (_, _)|TypInd _),
# _))
# 
# File "src/core/total.ml", lines 622-713, characters 2-43:
# 622 | ..match cD' with
# 623 |   | LF.Empty -> cIH
# 624 | 
# 625 |   | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) ->
# 626 |      dprintf
# ...
# 710 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j);
# 711 |      let cIH' = mk_all (cIH, j) mf_list in
# 712 |      dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1));
# 713 |      gen_rec_calls cD cIH' (cD', j + 1) mfs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt _)
# 
# File "src/core/total.ml", lines 725-791, characters 2-47:
# 725 | ..match cG0 with
# 726 |   | LF.Empty -> cIH
# 727 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
# 728 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
# 729 | 
# ...
# 788 |           mk_all cIH' mf_list
# 789 |      in
# 790 |      let cIH' = mk_all cIH mf_list in
# 791 |      gen_rec_calls' cD cG cIH' (cG', j + 1) mfs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, CTypDeclOpt _)
# 
# File "src/core/total.ml", lines 860-868, characters 2-69:
# 860 | ..match cPsi with
# 861 |   (* cPsi |- tA *)
# 862 |   | LF.Null -> None
# 863 |   | LF.CtxVar _ -> None
# 864 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
# 865 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
# 866 |      then Some k
# 867 |      else
# 868 |        pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi, TypDeclOpt _)
# 
# File "src/core/total.ml", lines 1087-1111, characters 5-8:
# 1087 | .....begin
# 1088 |        match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) ,
# 1089 |                prefix_hat
# 1090 |                (Whnf.cnorm_psihat phat Whnf.m_id)
# 1091 |                (Whnf.cnorm_psihat phat' Whnf.m_id)
# ...
# 1108 |               end ;
# 1109 |             (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k))))  , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k)
# 1110 |             end
# 1111 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Some k', None)
# 
# File "src/core/total.ml", lines 1121-1124, characters 5-87:
# 1121 | .....let LF.Root (_, tH', _, _) =
# 1122 |        Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj)
# 1123 |      in
# 1124 |      (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/total.ml", lines 1134-1140, characters 2-65:
# 1134 | ..match args with
# 1135 |   | [] -> []
# 1136 |   | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi)
# 1137 |   | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi)
# 1138 |   | Comp.M (cM, cU )  :: args ->
# 1139 |      let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in
# 1140 |      Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# E::_
# 
# File "src/core/total.ml", lines 1316-1337, characters 2-40:
# 1316 | ..function
# 1317 |   | Comp.TypBase (loc, c, _) ->
# 1318 |      Bool.not (Id.cid_comp_typ_equal a c)
# 1319 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
# 1320 |         | Sgn.Positivity -> true
# ...
# 1334 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
# 1335 |   | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus
# 1336 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
# 1337 |   | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1340-1360, characters 2-40:
# 1340 | ..function
# 1341 |   | Comp.TypBase (loc, c, _) ->
# 1342 |      Id.cid_comp_typ_equal a c
# 1343 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
# 1344 |         | Sgn.Positivity -> true
# ...
# 1357 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
# 1358 |   | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus
# 1359 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
# 1360 |   | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1364-1372, characters 2-40:
# 1364 | ..function
# 1365 |   | Comp.TypBase _ -> true
# 1366 |   | Comp.TypCobase _ -> true
# 1367 |   | Comp.TypDef _ -> raise Unimplemented
# 1368 |   | Comp.TypBox _ -> true
# 1369 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
# 1370 |   | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus
# 1371 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
# 1372 |   | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1492-1531, characters 2-27:
# 1492 | ..match tau1 with
# 1493 |   | Comp.TypBase (loc, c, mS1) ->
# 1494 |      if Id.cid_comp_typ_equal a c
# 1495 |      then
# 1496 |        begin
# ...
# 1528 |   | Comp.TypBox _
# 1529 |     | Comp.TypClo _
# 1530 |     | Comp.TypCobase _
# 1531 |     | Comp.TypDef _ -> true
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# 
# File "src/core/total.ml", lines 1555-1580, characters 8-48:
# 1555 | ........function
# 1556 |         | Comp.TypBase _
# 1557 |           | Comp.TypCobase _
# 1558 |           | Comp.TypBox _ -> true
# 1559 | 
# ...
# 1577 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
# 1578 | 
# 1579 |         | Comp.TypDef _
# 1580 |           | Comp.TypClo _ -> raise Unimplemented
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypInd _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Coverage.cmx -c -impl src/core/coverage.ml)
# File "src/core/coverage.ml", line 76, characters 26-46:
# 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
#                                ^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/coverage.ml", lines 75-78, characters 2-5:
# 75 | ..let Some (CTypDecl (_, tau, _)) =
# 76 |     Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y))
# 77 |   in
# 78 |   tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (CTypDeclOpt _)
# 
# File "src/core/coverage.ml", line 195, characters 20-45:
# 195 | let gen_str cD cPsi (LF.Atom (_, a, _) as tP) =
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _))
# 
# File "src/core/coverage.ml", lines 214-218, characters 4-74:
# 214 | ....match tA with
# 215 |     | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit)
# 216 |     | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) ->
# 217 |        let tM = eta (tB0, s) LF.Nil in
# 218 |        LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/coverage.ml", lines 271-281, characters 4-58:
# 271 | ....function
# 272 |     | MetaSub (cPsi, s, LF.STyp (_, cPhi)) ->
# 273 |        fprintf ppf "%a |- %a : %a"
# 274 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
# 275 |          (P.fmt_ppr_lf_sub cD cPsi P.l0) s
# ...
# 278 |        fprintf ppf "%a |- %a : %a"
# 279 |          (P.fmt_ppr_lf_dctx cD P.l0) cPsi
# 280 |          (P.fmt_ppr_lf_normal cD cPsi P.l0) tR
# 281 |          (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MetaSub (cPsi, s, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 304-308, characters 4-73:
# 304 | ....function
# 305 |     | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi
# 306 |     | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi)
# 307 |     | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA)
# 308 |     | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CovSub (cPsi, s, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 483-484, characters 7-73:
# 483 | .......let Comp.TypBox (_, mT) = tau_sc in
# 484 |        check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
# TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
# 
# File "src/core/coverage.ml", lines 545-546, characters 9-44:
# 545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 543-547, characters 7-10:
# 543 | .......begin
# 544 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
# 545 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 546 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# 547 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 580-619, characters 5-8:
# 580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in
# 581 |      dprintf
# 582 |        begin fun p ->
# 583 |        p.fmt "[pre_match_head]  @[<v>pvar - case\
# 584 |               @,pattern:     @[@[%a@]@ |- @[%a@]@]\
# ...
# 616 |             end;
# 617 |           SplitCand
# 618 |             (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *)
# 619 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (BVar _|Const _|MMVar (({instantiation={ _ }; constraints={ _ }; _ }, _), _)|
# MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)|
# FPVar (_, _)|HClo (_, _, _)|
# HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _)))
# 
# File "src/core/coverage.ml", lines 638-639, characters 9-44:
# 638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 636-640, characters 7-10:
# 636 | .......begin
# 637 |          let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in
# 638 |          let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in
# 639 |          Yes ((tA, S.LF.id), (tA', S.LF.id))
# 640 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 695-708, characters 5-59:
# 695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
# 696 |      let covGoal' =
# 697 |        CovGoal
# 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
# 699 |          , tM, (tB, S.LF.dot1 s)
# ...
# 705 |          , tN, (tB', S.LF.dot1 s')
# 706 |          )
# 707 |      in
# 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
# 
# File "src/core/coverage.ml", lines 694-708, characters 5-59:
# 694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
# 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
# 696 |      let covGoal' =
# 697 |        CovGoal
# 698 |          ( LF.DDec (cPsi, S.LF.decSub tdecl s)
# ...
# 705 |          , tN, (tB', S.LF.dot1 s')
# 706 |          )
# 707 |      in
# 708 |      pre_match cD cD_p covGoal' patt' matchCands splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Atom (_, _, _)|Sigma _|TClo (_, _)), _)
# 
# File "src/core/coverage.ml", lines 692-737, characters 2-8:
# 692 | ..match (tM, tN) with
# 693 |   | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) ->
# 694 |      let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in
# 695 |      let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in
# 696 |      let covGoal' =
# ...
# 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
# 735 | 
# 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
# 737 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))
# 
# File "src/core/coverage.ml", lines 684-737, characters 2-8:
# 684 | ..let MetaPatt (cPhi, tN, sA') = patt in
# 685 |   dprintf
# 686 |     begin fun p ->
# 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
# 688 |            @,pattern: @[%a@]@]"
# ...
# 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
# 735 | 
# 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
# 737 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaSub (_, _, _)|GenPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 683-737, characters 2-8:
# 683 | ..let CovGoal (cPsi, tM, sA) = covGoal in
# 684 |   let MetaPatt (cPhi, tN, sA') = patt in
# 685 |   dprintf
# 686 |     begin fun p ->
# 687 |     p.fmt "[pre_match] @[<v>cov goal: @[%a@]\
# ...
# 734 |         (Eqn (covGoal, patt) :: matchCands, splitCands)
# 735 | 
# 736 |      | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands)
# 737 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 744-758, characters 5-18:
# 744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
# 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
# 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
# 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
# 748 |      let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in
# ...
# 755 |        (cPsi, tS, sB2')
# 756 |        (cPsi', tS', sC2')
# 757 |        matchCands'
# 758 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 743-758, characters 5-18:
# 743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
# 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
# 745 |      let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in
# 746 |      let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in
# 747 |      let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in
# ...
# 755 |        (cPsi, tS, sB2')
# 756 |        (cPsi', tS', sC2')
# 757 |        matchCands'
# 758 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 740-758, characters 2-18:
# 740 | ..match (tS, tS') with
# 741 |   | (LF.Nil, LF.Nil) -> (matchCands, splitCands)
# 742 |   | (LF.App (tM, tS), LF.App (tM', tS')) ->
# 743 |      let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in
# 744 |      let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in
# ...
# 755 |        (cPsi, tS, sB2')
# 756 |        (cPsi', tS', sC2')
# 757 |        matchCands'
# 758 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Nil, (App (_, _)|SClo _))
# 
# File "src/core/coverage.ml", lines 793-797, characters 5-63:
# 793 | .....let LF.TypDecl (_, tA1) = tdecl1 in
# 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
# 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
# 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
# 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 792-797, characters 5-63:
# 792 | .....let LF.TypDecl (_, tA0) = tdecl0 in
# 793 |      let LF.TypDecl (_, tA1) = tdecl1 in
# 794 |      let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in
# 795 |      let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in
# 796 |      let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in
# 797 |      pre_match_sub cD cD_p covGoal patt matchCands' splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 763-816, characters 2-74:
# 763 | ..match ((s0, cPhi0), (s1, cPhi1)) with
# 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
# 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
# 766 |      if n = k
# 767 |      then (matchCands, splitCands)
# ...
# 813 | 
# 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
# 815 | 
# 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Shift _, _),
# (Dot
#    (Head
#       (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|
#       FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)),
#    _),
# _))
# 
# File "src/core/coverage.ml", lines 762-816, characters 2-74:
# 762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
# 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
# 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
# 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
# 766 |      if n = k
# ...
# 813 | 
# 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
# 815 | 
# 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MetaSub (cPsi1, s1, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 761-816, characters 2-74:
# 761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in
# 762 |   let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in
# 763 |   match ((s0, cPhi0), (s1, cPhi1)) with
# 764 |   | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands)
# 765 |   | ((LF.Shift k, _), (LF.Shift n, _)) ->
# ...
# 813 | 
# 814 |   | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands)
# 815 | 
# 816 |   | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CovSub (cPsi0, s0, (MTyp _|PTyp _))
# 
# File "src/core/coverage.ml", lines 819-830, characters 2-57:
# 819 | ..match (f0, f1) with
# 820 |   | (LF.Head h0, LF.Head h1) ->
# 821 |      let tM0 = eta_expand (h0, tA0) in
# 822 |      let tM1 = eta_expand (h1, tA1) in
# 823 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
# ...
# 827 |   | (LF.Obj tM0, LF.Obj tM1) ->
# 828 |      let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in
# 829 |      let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in
# 830 |      pre_match cD cD_p covGoal patt matchCands splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Head h0, (Undef|Obj _))
# 
# File "src/core/coverage.ml", lines 839-851, characters 5-18:
# 839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
# 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
# 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
# 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
# 843 |      let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in
# ...
# 848 |        (cPsi, tS, sK1')
# 849 |        (cPsi', tS', sK2')
# 850 |        matchCands'
# 851 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 838-851, characters 5-18:
# 838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
# 839 |      let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in
# 840 |      let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in
# 841 |      let patt1 = MetaPatt (cPsi', tM', (tC, s')) in
# 842 |      let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in
# ...
# 848 |        (cPsi, tS, sK1')
# 849 |        (cPsi', tS', sK2')
# 850 |        matchCands'
# 851 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 834-851, characters 2-18:
# 834 | ..match ((tS1, sK1), (tS2, sK2)) with
# 835 |   | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) ->
# 836 |      (matchCands, splitCands)
# 837 |   | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) ->
# 838 |      let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in
# ...
# 848 |        (cPsi, tS, sK1')
# 849 |        (cPsi', tS', sK2')
# 850 |        matchCands'
# 851 |        splitCands'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Nil, (Typ, _)), (Nil, (PiKind (_, _), _)))
# 
# File "src/core/coverage.ml", lines 860-903, characters 2-17:
# 860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with
# 861 |   | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) ->
# 862 |      let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in
# 863 |      let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in
# 864 |      let tS1' = Whnf.normSpine (tS1, s1) in
# ...
# 900 |        (trec1, s1)
# 901 |        (trec2, s2)
# 902 |        matchCands
# 903 |        splitCands
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _))
# 
# File "src/core/coverage.ml", lines 907-927, characters 2-12:
# 907 | ..match (srec1, srec2) with
# 908 |   | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) ->
# 909 |      pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands
# 910 | 
# 911 |   | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) ->
# ...
# 924 |        (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1))))
# 925 |        (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2))))
# 926 |        (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2)
# 927 |        mC sC
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _))
# 
# File "src/core/coverage.ml", lines 952-1004, characters 2-31:
#  952 | ..match ((mO, mt), (mO_p, mtp)) with
#  953 |   | LF.((CObj cPsi, _), (CObj cPsi', _)) ->
#  954 |      pre_match_dctx cD cD_p cPsi cPsi' mC sC
#  955 |   | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) ->
#  956 |      match ((clobj, cltyp), (clobj', cltyp')) with
# ...
# 1001 |             (mobj cD_p) (loc', mO_p)
# 1002 |             (mtyp cD_p) mtp
# 1003 |         in
# 1004 |         Error.raise_violation s
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _))
# 
# File "src/core/coverage.ml", lines 1092-1104, characters 5-10:
# 1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1095 |      let t2 = LF.MDot (mO, t) in
# 1096 |      let t2' = LF.MDot (mO', t') in
# ...
# 1101 |        (pS, (tau2, t2))
# 1102 |        (pS', (tau2', t2'))
# 1103 |        mC1
# 1104 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1091-1104, characters 5-10:
# 1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1092 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1093 |      let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1094 |      let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1095 |      let t2 = LF.MDot (mO, t) in
# ...
# 1101 |        (pS, (tau2, t2))
# 1102 |        (pS', (tau2', t2'))
# 1103 |        mC1
# 1104 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1110-1122, characters 5-10:
# 1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1113 |      let t2 = LF.MDot (mO, t) in
# 1114 |      let t2' = LF.MDot (mO', t') in
# ...
# 1119 |        (pS, (tau2, t2))
# 1120 |        (pS', (tau2', t2'))
# 1121 |        mC1
# 1122 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1109-1122, characters 5-10:
# 1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1110 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1111 |      let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in
# 1112 |      let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in
# 1113 |      let t2 = LF.MDot (mO, t) in
# ...
# 1119 |        (pS, (tau2, t2))
# 1120 |        (pS', (tau2', t2'))
# 1121 |        mC1
# 1122 |        sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1128-1134, characters 5-84:
# 1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1129 |      let tau1 = LF.CTyp w in
# 1130 |      let tau1' = LF.CTyp w' in
# 1131 |      let t2 = LF.MDot (mO, t) in
# 1132 |      let t2' = LF.MDot (mO', t')in
# 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
# 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1127-1134, characters 5-84:
# 1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1128 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1129 |      let tau1 = LF.CTyp w in
# 1130 |      let tau1' = LF.CTyp w' in
# 1131 |      let t2 = LF.MDot (mO, t) in
# 1132 |      let t2' = LF.MDot (mO', t')in
# 1133 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in
# 1134 |      match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1139-1147, characters 5-51:
# 1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
# 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
# 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
# 1143 |      let t2 = LF.MDot (mO, t) in
# 1144 |      let t2' = LF.MDot (mO', t') in
# 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
# 1146 |      match_spines (cD, cG) (cD_p, cG_p)
# 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1138-1147, characters 5-51:
# 1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in
# 1139 |      let Comp.PatMetaObj (_, (loc', mO')) = pat' in
# 1140 |      let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in
# 1141 |      let mT1 = mk_cltyp cl cPhi cPsi t in
# 1142 |      let mT2 = mk_cltyp cl' cPhi' cPsi' t' in
# 1143 |      let t2 = LF.MDot (mO, t) in
# 1144 |      let t2' = LF.MDot (mO', t') in
# 1145 |      let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in
# 1146 |      match_spines (cD, cG) (cD_p, cG_p)
# 1147 |        (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/coverage.ml", lines 1186-1224, characters 2-8:
# 1186 | ..match Whnf.whnfTyp sA with
# 1187 |   | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) ->
# 1188 |      (* cPsi' |- Pi x:A.B <= typ
# 1189 |         cPsi  |- s <= cPsi'
# 1190 |         cPsi  |- tN <= [s]tA
# ...
# 1221 |          Some LF.Nil
# 1222 |        with
# 1223 |        | U.Failure _ -> None
# 1224 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/coverage.ml", lines 1343-1349, characters 2-29:
# 1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *)
# 1344 |   (* We call expand_head_sigma here because it might be *projections*
# 1345 |      of the bound variable that are relevant to the matching.
# 1346 |    *)
# 1347 |   expand_head_sigma (LF.BVar i, tA)
# 1348 |   |> List.map (fun (tH, tA) -> (tH, tA, 0))
# 1349 |   |> genAllObj (cD, cPsi, tP)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", line 1484, characters 17-61:
# 1484 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) ->
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD', ((Null|CtxVar _), _, (_, _)), _)
# 
# File "src/core/coverage.ml", lines 1468-1493, characters 2-14:
# 1468 | ..match tA with
# 1469 |   | LF.Atom _ ->
# 1470 |      genPVar cov_problem @ genBVars cov_problem
# 1471 |   | LF.Sigma trec ->
# 1472 |      Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types"
# ...
# 1490 |        in
# 1491 |        (cD', cg', ms)
# 1492 |        end
# 1493 |        cg_list
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/coverage.ml", line 1544, characters 17-60:
# 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD', ((Null|CtxVar _), _, (_, _)), _)
# 
# File "src/core/coverage.ml", lines 1541-1552, characters 5-16:
# 1541 | .....let LF.TypDecl (x, _) = tdecl in
# 1542 |      let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in
# 1543 |      List.map
# 1544 |        begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) ->
# 1545 |        ( cD'
# ...
# 1549 |        , t
# 1550 |        )
# 1551 |        end
# 1552 |        cov_goals
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 1512-1552, characters 2-16:
# 1512 | ..match tA with
# 1513 |   | LF.Atom (_, a, tS) ->
# 1514 |      let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *)
# 1515 |      dprintf
# 1516 |        begin fun p ->
# ...
# 1549 |        , t
# 1550 |        )
# 1551 |        end
# 1552 |        cov_goals
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/coverage.ml", lines 1582-1700, characters 5-8:
# 1582 | .....begin match mc with
# 1583 |      | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) ->
# 1584 |         let cT = LF.ClTyp (sT, cPsi) in
# 1585 |         let cT_p = LF.ClTyp (sT_p, cPsi_p) in
# 1586 |         let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in
# ...
# 1697 |                   NotSolvable
# 1698 |                end
# 1699 |         end
# 1700 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _)))
# 
# File "src/core/coverage.ml", lines 1725-1730, characters 5-11:
# 1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in
# 1726 |      (* let MetaPatt (cPhi, _, sB') = patt in *)
# 1727 |      (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *)
# 1728 |      (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *)
# 1729 |      let result = pre_match cD cD_p covG patt matchL' splitL' in
# 1730 |      result
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 1719-1741, characters 2-94:
# 1719 | ..match splitL with
# 1720 |   | [] -> (matchL, [])
# 1721 |   | Split (CovGoal (cPsi, tR, sA), patt) :: splits ->
# 1722 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
# 1723 |      let tA = Whnf.normTyp sA in
# ...
# 1738 |      pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL'
# 1739 |   | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits ->
# 1740 |      let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in
# 1741 |      (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Split ((CovCtx _|CovPatt (_, _, _)), _)::_
# 
# File "src/core/coverage.ml", lines 1973-2000, characters 5-6:
# 1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) =
# 1974 |        Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s')
# 1975 |      in
# 1976 |      (* bp : Context substitution associated with declaration is off by 1 *)
# 1977 |      let (ss', cPsi') = Subord.thin' cD'' a cPsi in
# ...
# 1997 |      in
# 1998 |      ( LF.Dec (cD'', mdec)
# 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
# 2000 |      )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _))
# 
# File "src/core/coverage.ml", lines 1964-2000, characters 2-6:
# 1964 | ..match decls with
# 1965 |   | LF.Empty -> (cD', S.LF.id)
# 1966 |   | LF.(Dec (decls, TypDecl (x, tA))) ->
# 1967 |      let x = NameGen.renumber names x in
# 1968 |      let names = x :: names in
# ...
# 1997 |      in
# 1998 |      ( LF.Dec (cD'', mdec)
# 1999 |      , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1))
# 2000 |      )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (decls, TypDeclOpt _)
# 
# File "src/core/coverage.ml", line 1963, characters 28-52:
# 1963 | let rec decTomdec names cD' (LF.CtxOffset k as cpsi) (d, decls) =
#                                    ^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
# 
# File "src/core/coverage.ml", line 2096, characters 17-48:
# 2096 | let genCtx names (LF.Dec (cD', LF.Decl _) as cD) cpsi =
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt { _ })
# 
# File "src/core/coverage.ml", line 2123, characters 23-82:
# 2123 | let genContextGoals cD (x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) =
#                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (x, CTyp None, _, _)
# 
# File "src/core/coverage.ml", lines 2144-2178, characters 5-87:
# 2144 | .....let LF.TypDecl (x, tA) = decl in
# 2145 |      let s = LF.SVar (2, 0, S.LF.id) in
# 2146 |      let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in
# 2147 |      let name = Whnf.newMTypName mT in
# 2148 |      let cD' =
# ...
# 2175 |      in
# 2176 |      let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in
# 2177 |      let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in
# 2178 |      [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)]
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/coverage.ml", lines 2186-2239, characters 2-8:
# 2186 | ..match cT with
# 2187 |   | LF.ClTyp (clTyp, cPsi) ->
# 2188 |      begin match clTyp with
# 2189 |      | LF.MTyp tA ->
# 2190 |         dprintf
# ...
# 2236 |            , Atomic
# 2237 |            )
# 2238 |         end
# 2239 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp _
# 
# File "src/core/coverage.ml", lines 2249-2250, characters 11-60:
# 2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in
# 2250 |            genContextGoals cD' (x, cU, plicity, inductivity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/coverage.ml", lines 2242-2278, characters 2-58:
# 2242 | ..match (cv_list, cD) with
# 2243 |   | ([], _) -> NoCandidate
# 2244 |   | ([LF.CtxOffset j], LF.Dec (cD', d)) ->
# 2245 |      if j = k
# 2246 |      then
# ...
# 2275 |          SomeCtxCands ctx_goals'
# 2276 |        end
# 2277 |      else
# 2278 |        best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxOffset j::[], Empty)
# 
# File "src/core/coverage.ml", lines 2308-2309, characters 25-35:
# 2308 | .........................let LF.Root (_, tH, _, _) = tR in
# 2309 |                          LF.PObj tH
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/coverage.ml", lines 2302-2309, characters 22-35:
# 2302 | ......................match cT with
# 2303 |                       (* gonna be a ClTyp because we're in the CovGoal branch *)
# 2304 |                       | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR
# 2305 |                       | LF.ClTyp (LF.PTyp _, _) ->
# 2306 |                          (* ensure that PTyp is added as a PObj to the
# 2307 |                             msub; otherwise normalization WILL crash. *)
# 2308 |                          let LF.Root (_, tH, _, _) = tR in
# 2309 |                          LF.PObj tH
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (STyp (_, _), _)
# 
# File "src/core/coverage.ml", lines 2294-2331, characters 17-50:
# 2294 | .................match cg with
# 2295 |                  | CovGoal (cPsi', tR, sA') ->
# 2296 |                     dprintf
# 2297 |                       begin fun p ->
# 2298 |                       p.fmt "[best_cand] generated covgoal @[%a@]"
# ...
# 2328 |                         , Whnf.cnormClTyp (sT, LF.MShift k)
# 2329 |                         )
# 2330 |                     in
# 2331 |                     TermCandidate (cD'', cg', ms0).
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovPatt (_, _, _))
# 
# File "src/core/coverage.ml", lines 2335-2348, characters 11-17:
# 2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with
# 2336 |            | NoCandidate -> SomeTermCands (dep0, cov_goals0)
# 2337 |            | SomeTermCands (dep, cov_goals) ->
# 2338 |               begin match dep, dep0 with
# 2339 |               | Dependent, Atomic -> SomeTermCands (dep, cov_goals)
# ...
# 2345 |                  then SomeTermCands (dep, cov_goals)
# 2346 |                  else SomeTermCands (dep0, cov_goals0)
# 2347 |                *)
# 2348 |               end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# SomeCtxCands _
# 
# File "src/core/coverage.ml", lines 2282-2356, characters 2-55:
# 2282 | ..match (mv_list, cD) with
# 2283 |   | ([], _) -> NoCandidate
# 2284 |   | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) ->
# 2285 |      if k = j
# 2286 |      then
# ...
# 2353 |             best_cand (cD', mvlist') (k + 1) (md :: cD_tail)
# 2354 |        end
# 2355 |      else
# 2356 |        best_cand (cD', mv_list) (k + 1) (md :: cD_tail)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Offset j::mvlist', Dec (cD', DeclOpt _))
# 
# File "src/core/coverage.ml", lines 2430-2438, characters 7-13:
# 2430 | .......match cl with
# 2431 |        | LF.PTyp _ ->
# 2432 |           let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in
# 2433 |           LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id)))
# 2434 |        | LF.MTyp _ ->
# 2435 |           LF.MObj
# 2436 |             (ConvSigma.etaExpandMMVstr
# 2437 |                Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names)
# 2438 |             )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/coverage.ml", line 2581, characters 16-42:
# 2581 |       begin fun (CovGoal (cPsi', tR, sA')) ->
#                        ^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/coverage.ml", lines 2630-2632, characters 10-46:
# 2630 | ..........match tC with
# 2631 |           | MTyp _ -> fun sA -> MTyp (TClo sA)
# 2632 |           | PTyp _ -> fun sA -> PTyp (TClo sA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/coverage.ml", lines 2626-2667, characters 5-8:
# 2626 | .....begin match mT with
# 2627 |      | LF.(ClTyp (tC, cPsi)) ->
# 2628 |         let f =
# 2629 |           let open LF in
# 2630 |           match tC with
# ...
# 2664 |              , t
# 2665 |              )
# 2666 |              end
# 2667 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp None
# 
# File "src/core/coverage.ml", lines 2714-2762, characters 2-55:
# 2714 | ..function
# 2715 |   | [] -> vlist
# 2716 |   | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl ->
# 2717 |      let (pvlist, cvlist, mvlist) = vlist in
# 2718 |      if List.mem u mvlist
# ...
# 2759 |      let (pvlist, cvlist, mvlist) = vlist in
# 2760 |      if List.mem x pvlist
# 2761 |      then mvInSplit cD vlist sl
# 2762 |      else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# SplitCtx ((Null|DDec (_, _)), _)::_
# 
# File "src/core/coverage.ml", line 2773, characters 30-44:
# 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
#                                      ^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Inst {instantiation={ _ }; constraints={ _ }; _ }
# 
# File "src/core/coverage.ml", line 2773, characters 16-29:
# 2773 |       begin fun (LF.Offset k) (LF.Offset k') ->
#                        ^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Inst {instantiation={ _ }; constraints={ _ }; _ }
# 
# File "src/core/coverage.ml", line 2784, characters 33-50:
# 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
#                                         ^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
# 
# File "src/core/coverage.ml", line 2784, characters 16-32:
# 2784 |       begin fun (LF.CtxOffset k) (LF.CtxOffset k') ->
#                        ^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CtxName _|CInst ({instantiation={ _ }; constraints={ _ }; _ }, _))
# 
# File "src/core/coverage.ml", line 2867, characters 55-73:
# 2867 |             Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals)
#                                                               ^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxCandidate (_, _, _)
# 
# File "src/core/coverage.ml", lines 2903-2908, characters 2-33:
# 2903 | ..function
# 2904 |   | Comp.PatNil -> Comp.PatNil
# 2905 |   | Comp.PatApp (loc, pat, pS) ->
# 2906 |      let pat' = subst_pattern (pat_r, pv) pat in
# 2907 |      let pS' = subst_pattern_spine (pat_r, pv) pS in
# 2908 |      Comp.PatApp (loc, pat', pS')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# 
# File "src/core/coverage.ml", line 2979, characters 32-45:
# 2979 | let best_pv_cand names (cD, cG) (x :: pvlist) =
#                                        ^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/coverage.ml", lines 3002-3013, characters 2-40:
# 3002 | ..match sl with
# 3003 |   | [] -> pvlist
# 3004 |   | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist
# 3005 |   | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist
# 3006 |   | SplitCtx _ :: sl -> pvInSplitCand sl pvlist
# ...
# 3010 |      );
# 3011 |      if List.mem x pvlist
# 3012 |      then pvInSplitCand sl pvlist
# 3013 |      else pvInSplitCand sl (x :: pvlist)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Split ((CovCtx _|CovPatt (_, _, _)), _)::_
# 
# File "src/core/coverage.ml", lines 3223-3231, characters 2-27:
# 3223 | ..let CovPatt (cG', pat', ttau') = covGoal in
# 3224 |   dprintf
# 3225 |     begin fun p ->
# 3226 |     p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]"
# 3227 |       (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat
# 3228 |       (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat'
# 3229 |     end;
# 3230 |   let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in
# 3231 |   Cand (cD_p, cG_p, ml, sl)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _))
# 
# File "src/core/coverage.ml", line 3222, characters 33-66:
# 3222 | let gen_candidate loc cD covGoal (cD_p, GenPatt (cG_p, pat, ttau)) =
#                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _)))
# 
# File "src/core/coverage.ml", lines 3399-3434, characters 2-50:
# 3399 | ..function
# 3400 |   | LF.Empty -> false
# 3401 |   | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) ->
# 3402 |      begin
# 3403 |        try
# ...
# 3431 |           print_string "Unable to prove given type is empty\n"; check_emptiness cD'
# 3432 |      end
# 3433 | 
# 3434 |   | LF.Dec (cD', LF.Decl _) -> check_emptiness cD'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cD', DeclOpt _)
# 
# File "src/core/coverage.ml", lines 3437-3447, characters 2-8:
# 3437 | ..function
# 3438 |   | LF.Empty -> false
# 3439 |   | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) ->
# 3440 |      begin
# 3441 |        try
# ...
# 3444 |          | _ -> check_empty_comp names cD cG
# 3445 |        with
# 3446 |        | _ -> check_empty_comp names cD cG
# 3447 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG, CTypDeclOpt _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Interactive.cmx -c -impl src/core/interactive.ml)
# File "src/core/interactive.ml", lines 202-213, characters 10-26:
# 202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
# 203 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
# 204 |           let k = List.length cD_tail in
# 205 |           let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in
# 206 |           let cg' =
# ...
# 210 |               , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id)
# 211 |               )
# 212 |           in
# 213 |           (cD'', cg', ms0)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _)))
# 
# File "src/core/interactive.ml", line 183, characters 18-73:
# 183 | let genCGoals cD' (LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail =
#                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Check.cmx -c -impl src/core/check.ml)
# File "src/core/check.ml", lines 471-475, characters 4-46:
# 471 | ....function
# 472 |     | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS
# 473 |     | I.Lam (_, _, tM) -> fmv_normal cD tM
# 474 |     | I.LFHole _ -> cD
# 475 |     | I.Tuple (_, tuple) -> fmv_tuple cD tuple
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Clo _
# 
# File "src/core/check.ml", lines 490-492, characters 4-55:
# 490 | ....function
# 491 |     | I.Nil -> cD
# 492 |     | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# SClo _
# 
# File "src/core/check.ml", lines 500-503, characters 4-61:
# 500 | ....function
# 501 |     | I.Null -> cD
# 502 |     | I.CtxVar (I.CtxOffset k) -> mark_ind cD k
# 503 |     | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/check.ml", lines 511-514, characters 4-38:
# 511 | ....function
# 512 |     | I.Atom (_, _, tS) -> fmv_spine cD tS
# 513 |     | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA
# 514 |     | I.Sigma trec -> fmv_trec cD trec
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/check.ml", lines 534-538, characters 4-68:
# 534 | ....function
# 535 |     | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi
# 536 |     | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM
# 537 |     | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h
# 538 |     | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, (MUndef|MV _))
# 
# File "src/core/check.ml", lines 553-556, characters 4-43:
# 553 | ....function
# 554 |     | PatNil -> cD
# 555 |     | PatApp (_, pat, pat_spine) ->
# 556 |        fmv_pat_spine (fmv cD pat) pat_spine
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PatObs (_, _, _, _)
# 
# File "src/core/check.ml", lines 561-595, characters 4-10:
# 561 | ....match (t, cD) with
# 562 |     | (I.MShift k, I.Empty) -> cD1'
# 563 |     | (I.MShift k, cD)
# 564 |          when k < 0 ->
# 565 |        Error.raise_violation "Contextual substitution ill-formed"
# ...
# 592 |           else
# 593 |             id_map_ind cD1' ms cD
# 594 |        | _ -> id_map_ind cD1' ms cD
# 595 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MDot (_, _), Dec (cD, DeclOpt _))
# 
# File "src/core/check.ml", line 618, characters 11-38:
# 618 |     |> fun (CTypDecl (u, tau, wf_tag)) ->
#                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/check.ml", lines 747-771, characters 6-12:
# 747 | ......match cPsi0 with
# 748 |       | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *)
# 749 |       | Int.LF.CtxVar psi ->
# 750 |          (* tA is an instance of a schema block *)
# 751 |          let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } =
# ...
# 768 |              Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id)
# 769 |            with
# 770 |            | _ -> checkParamTypeValid' (cPsi0', n + 1)
# 771 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (cPsi0', TypDeclOpt _)
# 
# File "src/core/check.ml", lines 776-796, characters 4-68:
# 776 | ....match (mS, cKt) with
# 777 |     | (MetaNil, (Ctype _, _)) -> ()
# 778 |     | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) ->
# 779 |        if Plicity.(plicity_app <> plicity_pi)
# 780 |        then Error.raise_violation "[checkMetaSpine] plicity mismatch";
# ...
# 793 |                  Location.print_short loc
# 794 |               )
# 795 |        end;
# 796 |        checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaNil, (PiKind (_, _, _), _))
# 
# File "src/core/check.ml", line 822, characters 20-56:
# 822 |   let checkCDecl cD (I.Decl { name = x; typ = ctyp; _ }) =
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/check.ml", lines 834-868, characters 4-35:
# 834 | ....function
# 835 |     | TypBase (loc, c, mS) ->
# 836 |        let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in
# 837 |        checkMetaSpine loc cD mS (cK, C.m_id)
# 838 | 
# ...
# 865 |          end;
# 866 |        checkTyp (I.Dec (cD, cdecl)) tau'
# 867 | 
# 868 |     | TypInd tau -> checkTyp cD tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDef (_, _, _)|TypClo (_, _))
# 
# File "src/core/check.ml", line 880, characters 21-39:
# 880 |   let extend_mctx cD (x, (I.Decl d), t) =
#                            ^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (x, DeclOpt { _ }, _)
# 
# File "src/core/check.ml", lines 899-916, characters 12-15:
# 899 | ............begin match e2 with
# 900 |             | Box (_, cM, cU) | AnnBox (_, cM, cU) ->
# 901 |                dprintf
# 902 |                  begin fun p ->
# 903 |                  p.fmt "[useIH] @[<v>check whether compatible IH exists@,\
# ...
# 913 |                | Option.None -> Total.filter cD cG cIH (loc, E)
# 914 |                end
# 915 |             | Hole _ -> Total.drop_arg cIH
# 916 |             end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)|
# Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _))
# 
# File "src/core/check.ml", lines 1114-1276, characters 4-45:
# 1114 | ....function
# 1115 |     | Var (loc, x) as e ->
# 1116 |        let (f,tau', _) = lookup cG x in
# 1117 |        Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id))
# 1118 |          (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e);
# ...
# 1273 | 
# 1274 |     | AnnBox (_, cM, cT) ->
# 1275 |        checkMetaObj cD cM cT C.m_id;
# 1276 |        (None, TypBox (getLoc cM, cT), C.m_id)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)|
# Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _))
# 
# File "src/core/check.ml", lines 1350-1357, characters 7-10:
# 1350 | .......begin match (tau, theta) with
# 1351 |        | (TypArr (_, tau1, tau2), theta) ->
# 1352 |           checkPattern cD cG pat (tau1, theta);
# 1353 |           synPatSpine cD cG pat_spine (tau2, theta)
# 1354 |        | (TypPiBox (_, cdecl, tau), theta) ->
# 1355 |           let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in
# 1356 |           synPatSpine cD cG pat_spine (tau, theta')
# 1357 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|
#  TypCross (_, _)|TypClo (_, _)|TypInd _),
# _)
# 
# File "src/core/check.ml", line 1373, characters 53-86:
# 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
#                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (DeclOpt { _ }, _)
# 
# File "src/core/check.ml", line 1373, characters 30-52:
# 1373 |   and checkPatAgainstCDecl cD (PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) =
#                                      ^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))|
# PatAnn (_, _, _, _))
# 
# File "src/core/check.ml", lines 1665-1667, characters 4-42:
# 1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in
# 1666 |     let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in
# 1667 |     proof mcid cD cG cIH total_decs p ttau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
# 
# File "src/core/check.ml", lines 1678-1743, characters 4-13:
# 1678 | ....match d with
# 1679 |     | Intros hyp ->
# 1680 |        let tau = Whnf.cnormCTyp ttau in
# 1681 |        let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in
# 1682 |        dprintf
# ...
# 1740 |            end;
# 1741 |          proof mcid cD cG cIH total_decs p (tau, Whnf.m_id)
# 1742 |          end
# 1743 |          args
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ImpossibleSplit _
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfrecon.cmx -c -impl src/core/lfrecon.ml)
# File "src/core/lfrecon.ml", lines 253-262, characters 2-29:
# 253 | ..function
# 254 |   | Apx.LF.BVar _ -> "BVar"
# 255 |   | Apx.LF.Const _ -> "Const"
# 256 |   | Apx.LF.MVar _ -> "MVar"
# 257 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
# 258 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
# 259 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
# 260 |   | Apx.LF.FVar _ -> "FVar"
# 261 |   | Apx.LF.FMVar _ -> "FMVar"
# 262 |   | Apx.LF.FPVar _ -> "FPVar"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Hole
# 
# File "src/core/lfrecon.ml", lines 275-276, characters 5-19:
# 275 | .....let (None, d) = Context.dctxToHat cPsi in
# 276 |      Int.LF.Shift d
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Some _, _)
# 
# File "src/core/lfrecon.ml", lines 311-333, characters 8-80:
# 311 | ........let CTyp s_cid = mmvar1.typ in
# 312 |         if d = d'
# 313 |         then
# 314 |           begin
# 315 |             begin match c_var with
# ...
# 330 |             true
# 331 |           end
# 332 |         else
# 333 |           Error.raise_not_implemented "[unify_phat] ctx_var with a full context"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (_, _)
# 
# File "src/core/lfrecon.ml", lines 358-359, characters 9-42:
# 358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in
# 359 |          Store.Cid.Schema.get_schema s_cid
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=CTyp None; _ })
# 
# File "src/core/lfrecon.ml", lines 352-366, characters 2-92:
# 352 | ..match ctxvar with
# 353 |   | Some (Int.LF.CtxOffset _ as phi) ->
# 354 |      Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi)
# 355 |   | Some (Int.LF.CtxName n) ->
# 356 |      begin
# ...
# 363 | 
# 364 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
# 365 |      Store.Cid.Schema.get_schema s_cid
# 366 |   | None -> Error.raise_violation "No context variable for which we could retrieve a schema"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (CInst ({typ=CTyp None; _ }, _))
# 
# File "src/core/lfrecon.ml", lines 372-376, characters 2-44:
# 372 | ..function
# 373 |   | Int.LF.Atom _ -> m
# 374 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) ->
# 375 |      dprint (fun () -> "eta FMV - add Lam ");
# 376 |      Apx.LF.Lam (loc, x, addPrefix loc m tA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 385-389, characters 4-62:
# 385 | ....function
# 386 |     | Int.LF.Atom _ -> (k, s)
# 387 |     | Int.LF.PiTyp (_, tA) ->
# 388 |        let (k', s') = go (k + 1) s tA in
# 389 |        (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/lfrecon.ml", lines 391-395, characters 2-18:
# 391 | ..match tA, s with
# 392 |   | Int.LF.Atom _, _ -> (k, s)
# 393 |   | Int.LF.PiTyp _, None ->
# 394 |      let (k', s') = go k Apx.LF.Id tA in
# 395 |      (k', Some s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiTyp (_, _), Some _)
# 
# File "src/core/lfrecon.ml", line 399, characters 20-40:
# 399 | let etaExpandMV loc (Apx.LF.MVar (x, s)) tA =
#                           ^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
# FPVar (_, _))
# 
# File "src/core/lfrecon.ml", lines 406-410, characters 4-52:
# 406 | ....function
# 407 |     | Int.LF.Atom _ -> (k, tS)
# 408 |     | Int.LF.PiTyp (_, tA') ->
# 409 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in
# 410 |        etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/lfrecon.ml", lines 414-417, characters 4-54:
# 414 | ....match tA with
# 415 |     | Int.LF.Atom _ -> tM
# 416 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
# 417 |        Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 422-424, characters 4-24:
# 422 | ....match h with
# 423 |     | Int.LF.BVar x -> Int.LF.BVar (x + k - 1)
# 424 |     | Int.LF.FVar _ -> h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 457-461, characters 4-55:
# 457 | ....function
# 458 |     | Int.LF.Atom _ -> (k, tS)
# 459 |     | Int.LF.PiTyp (_, tA') ->
# 460 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
# 461 |        etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Sigma _|TClo _)
# 
# File "src/core/lfrecon.ml", lines 464-468, characters 4-57:
# 464 | ....match tA with
# 465 |     | Int.LF.Atom _ -> tM
# 466 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') ->
# 467 |        dprint (fun () -> "eta - add Lam ");
# 468 |        Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 613-614, characters 2-33:
# 613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
# 614 |   getProjIndex loc cD cPsi recA k
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 617-630, characters 2-19:
# 617 | ..match h with
# 618 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
# 619 | 
# 620 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
# 621 |      let tp =
# ...
# 627 |      let j = getProjIndexFromType loc cD cPsi tp p in
# 628 |      dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d    j = %d@\n" k j);
# 629 |      let k' = ConvSigma.map conv_list k - j + 1 in
# 630 |      Apx.LF.BVar k'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Proj
#   ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|
#    FPVar (_, _)),
#   _)
# 
# File "src/core/lfrecon.ml", lines 637-643, characters 7-41:
# 637 | .......function
# 638 |        | Apx.LF.Id -> Apx.LF.Id
# 639 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
# 640 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
# 641 |           let s' = go s in
# 642 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
# 643 |           Apx.LF.Dot (Apx.LF.Head h', s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dot (Obj _, _)
# 
# File "src/core/lfrecon.ml", lines 679-691, characters 2-38:
# 679 | ..match s with
# 680 |   | Apx.LF.Id -> s
# 681 | 
# 682 |   | Apx.LF.EmptySub -> s
# 683 | 
# ...
# 688 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
# 689 | 
# 690 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
# 691 |      flattenVarTuple tM (flattenSub s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)
# 
# File "src/core/lfrecon.ml", lines 697-698, characters 2-77:
# 697 | ..function
# 698 |   | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Root (_, BVar k, App (_, _))
# 
# File "src/core/lfrecon.ml", lines 827-829, characters 5-60:
# 827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
# 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
# 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 822-829, characters 2-60:
# 822 | ..function
# 823 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
# 824 |   | Apx.LF.Proj (h, nj) ->
# 825 |      let (tp, h') = synHead cD loc cPsi h in
# 826 |      let j = getProjIndexFromType loc cD cPsi tp nj in
# 827 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
# 828 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j in
# 829 |      Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _))
# 
# File "src/core/lfrecon.ml", lines 858-867, characters 5-8:
# 858 | .....begin match synHead cD loc cPsi h with
# 859 |      | (Int.LF.TypDecl (x, tA), h') ->
# 860 |         let tA' =
# 861 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
# 862 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
# 863 |         in
# 864 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
# 865 |         , Int.LF.Dot (Int.LF.Head h', s')
# 866 |         )
# 867 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypDeclOpt _, _)
# 
# File "src/core/lfrecon.ml", lines 884-890, characters 2-66:
# 884 | ..function
# 885 |   | Apx.LF.Typ -> Int.LF.Typ
# 886 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) ->
# 887 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
# 888 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
# 889 |      let tK = elKind cD cPsi' k in
# 890 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiKind ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 909-925, characters 2-25:
# 909 | ..function
# 910 |   | Apx.LF.Atom (loc, a, s) ->
# 911 |      let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in
# 912 |      let s' = mkShift recT cPsi in
# 913 |      (* let s' = S.LF.id in *)
# ...
# 922 | 
# 923 |   | Apx.LF.Sigma typRec ->
# 924 |      let typRec' = elTypRec recT cD cPsi typRec in
# 925 |      Int.LF.Sigma typRec'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/lfrecon.ml", lines 977-1023, characters 2-34:
#  977 | ..match (m, sA) with
#  978 |   | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) ->
#  979 |      (* cPsi' = cPsi, x:tA *)
#  980 |      let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in
#  981 |      let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in
# ...
# 1020 |   | (Apx.LF.LFHole (loc, m_name), tA) ->
# 1021 |      let id = Holes.allocate () in
# 1022 |      let name = HoleId.name_of_option m_name in
# 1023 |      Int.LF.LFHole (loc, id, name)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12:
# 1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 1082 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
# 1083 |          begin
# 1084 |            try
# 1085 |              Unify.unifyTyp cD cPsi sQ sP;
# ...
# 1088 |            | Unify.Failure msg ->
# 1089 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1090 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1091 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12:
# 1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in
# 1214 |          dprintf
# 1215 |            begin fun p ->
# 1216 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
# 1217 |              Name.pp u
# ...
# 1277 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
# 1278 |            |_ ->
# 1279 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
# 1280 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12:
# 1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in
# 1477 |          let d = Context.length cD - Context.length cD_d in
# 1478 |          let (tA, cPhi) =
# 1479 |            if d = 0
# 1480 |            then (tA, cPhi)
# ...
# 1497 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
# 1498 |            | _ ->
# 1499 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
# 1500 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12:
# 1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) =
# 1572 |            Store.FCVar.get p
# 1573 |          in
# 1574 |          let d = Context.length cD - Context.length cD_d in
# 1575 |          let (tA, cPhi) =
# ...
# 1604 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1605 |            | _ ->
# 1606 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1607 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d,
# Decl
#   {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13:
# 1808 | ..........begin match S.LF.bvarSub k s'' with
# 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
# 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
# 1811 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
# 1812 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit)
# 1813 |           end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#   FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10:
# 1806 | .......begin match h with
# 1807 |        | Int.LF.BVar k ->
# 1808 |           begin match S.LF.bvarSub k s'' with
# 1809 |           | Int.LF.Head (Int.LF.BVar j) ->
# 1810 |              Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit)
# ...
# 1814 |        | Int.LF.PVar (p, r) ->
# 1815 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit)
# 1816 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
# 1817 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8:
# 1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
# 1858 |        try
# 1859 |          Context.ctxSigmaDec cPsi x
# 1860 |        with
# 1861 |        | _ ->
# ...
# 1876 |        with
# 1877 |        | Unify.Failure msg ->
# 1878 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1879 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8:
# 1882 | .....begin
# 1883 |        match Whnf.mctxPDec cD p with
# 1884 |        | (_, Int.LF.Sigma recA, cPsi') ->
# 1885 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
# 1886 |           let k = getProjIndex loc cD cPsi recA proj in
# ...
# 1907 |           end
# 1908 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
# 1909 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
# 1910 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, TClo _, _)
# 
# File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15:
# 1941 | ............begin match S.LF.bvarSub y s'' with
# 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
# 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
# 1944 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
# 1945 |                Int.LF.Root
# ...
# 1948 |                  , tS
# 1949 |                  , Plicity.explicit
# 1950 |                  )
# 1951 |             end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Head
#   (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#   FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12:
# 1939 | .........begin match h with
# 1940 |          | Int.LF.BVar y ->
# 1941 |             begin match S.LF.bvarSub y s'' with
# 1942 |             | Int.LF.Head (Int.LF.BVar x) ->
# 1943 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit)
# ...
# 1956 |               , tS
# 1957 |               , Plicity.explicit
# 1958 |               )
# 1959 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
# FPVar _|HClo (_, _, _)|HMClo (_, _))
# 
# File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25:
# 1044 | ..match r with
# 1045 |   | Apx.LF.Ann (_loc, m, a) ->
# 1046 |      elTerm' recT cD cPsi m sP
# 1047 | 
# 1048 |   | Apx.LF.LFHole (location, m_name) ->
# ...
# 1977 | 
# 1978 |   | Apx.LF.Root (loc, h, _) ->
# 1979 |      dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h));
# 1980 |      throw loc CompTypAnn
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|Tuple (_, _))
# 
# File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65:
# 2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 2103 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
# 2104 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82:
# 2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
# 2160 |      let k = getProjIndex loc cD cPsi recA proj in
# 2161 |      let sA =
# 2162 |        try
# 2163 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k
# ...
# 2166 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
# 2167 |      in
# 2168 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
# 2169 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)))
# 
# File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14:
# 2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) =
# 2277 |              Store.FCVar.get s_name
# 2278 |            in
# 2279 |            svar_le (cl0, cl);
# 2280 |            let d = Context.length cD - Context.length cD_d in
# ...
# 2307 |              with
# 2308 |              | Unify.Failure msg ->
# 2309 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
# 2310 |            end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ })
# 
# File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40:
# 2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
# 2515 |          dprint (fun () -> "[elHead] done");
# 2516 |          (Int.LF.BVar x, (tA', S.LF.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59:
# 2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
# 2575 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
# 2576 |          (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (offset, ClTyp ((PTyp _|STyp (_, _)), _))
# 
# File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41:
# 2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
# 2584 |      let s' = elSub loc recT cD cPsi s cl cPhi in
# 2585 |      (Int.LF.PVar (offset, s'), (tA, s'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (offset, ClTyp ((MTyp _|STyp (_, _)), _))
# 
# File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36:
# 2643 | ....match (sA, recT) with
# 2644 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) ->
# 2645 |        (* cPsi' |- tA <= typ
# 2646 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
# 2647 |         *
# ...
# 2671 |        in
# 2672 | 
# 2673 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
# 2674 |        (Int.LF.App (tN, spine'), sP)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((PiTyp ((TypDeclOpt _, _, _), _), _), _)
# 
# File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25:
# 2705 | ....function
# 2706 |     | Int.LF.Atom _ -> 0
# 2707 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
# 2708 |     | Int.LF.Sigma _ -> 0........................................................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32:
# 2725 | ....match (spine, Whnf.whnfTyp sA) with
# 2726 |     | (Apx.LF.Nil, sP) ->
# 2727 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
# 2728 | 
# 2729 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) ->
# 2730 |        let tM = elTerm recT cD cPsi m (tA, s) in
# 2731 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
# 2732 |        (Int.LF.App (tM, tS), sP)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _))
# 
# File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30:
# 2741 | ....match (sK, recT) with
# 2742 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) ->
# 2743 |        (* let sshift = mkShift recT cPsi in *)
# 2744 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
# 2745 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in
# ...
# 2757 |            Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive
# 2758 |        in
# 2759 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
# 2760 |        Int.LF.App (tN, spine')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ((PiKind ((TypDeclOpt _, _, _), _), _), _)
# 
# File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32:
# 2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 2835 |      (* cPsi |- tA : type
# 2836 |       * cPsi |- s' : cPsi'
# 2837 |       *)
# 2838 |      let ss = S.LF.invert s' in
# ...
# 2860 |      in
# 2861 | 
# 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
# 2863 |      (Int.LF.App (tN', tS), tB')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32:
# 2824 | ..match (spine, sP) with
# 2825 |   | (Apx.LF.Nil, _) ->
# 2826 |      let ss = S.LF.invert s' in
# 2827 |      let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
# 2828 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
# ...
# 2860 |      in
# 2861 | 
# 2862 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
# 2863 |      (Int.LF.App (tN', tS), tB')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (App (Root (loc, BVar x, App (_, _)), _), _)
# 
# File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8:
# 2943 | .....begin match instantiation.contents with
# 2944 |      | None ->
# 2945 |         begin
# 2946 |           try
# 2947 |             let tA = Store.FVar.get x in
# ...
# 2995 |           | _ ->
# 2996 |              throw loc (UnboundName x)
# 2997 |         end
# 2998 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (IHead _|ISub _|ICtx _)
# 
# File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8:
# 2939 | ..function
# 2940 |   | [] -> ()
# 2941 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
# 2942 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
# 2943 |      begin match instantiation.contents with
# ...
# 2995 |           | _ ->
# 2996 |              throw loc (UnboundName x)
# 2997 |         end
# 2998 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Root (loc, FVar x, spine),
# Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::
# _
# 
# File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99:
# 3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
# 3021 |          lookup_fcvar loc u
# 3022 |        in
# 3023 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3024 |        let s'' = elSub loc cPsi s cPhi in
# 3025 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98:
# 3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) =
# 3028 |          lookup_fcvar loc x
# 3029 |        in
# 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3031 |        let s'' = elSub loc cPsi s cPhi in
# 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
# 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ })
# 
# File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98:
# 3017 | ....match tM, Int.LF.(v.typ) with
# 3018 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
# 3019 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
# 3020 |        let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) =
# 3021 |          lookup_fcvar loc u
# ...
# 3030 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3031 |        let s'' = elSub loc cPsi s cPhi in
# 3032 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
# 3033 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Reconstruct.cmx -c -impl src/core/reconstruct.ml)
# File "src/core/reconstruct.ml", lines 55-179, characters 20-41:
#  55 | ....................function
#  56 |   | NotImplemented f ->
#  57 |       Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]"
#  58 |         f ()
#  59 |   | MCtxIllformed cD ->
# ...
# 176 |         @,  @[%a@]\
# 177 |         @]"
# 178 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC_p
# 179 |         P.(fmt_ppr_cmp_meta_obj cD l0) mC
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# IllegalSubstMatch
# 
# File "src/core/reconstruct.ml", lines 217-218, characters 2-45:
# 217 | ..function
# 218 |   | Int.LF.Decl d -> Name.mk_some_name d.name
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/reconstruct.ml", lines 258-267, characters 4-26:
# 258 | ....match tau, n with
# 259 |     | _, 0 -> 0
# 260 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n ->
# 261 |       Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__)
# 262 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n ->
# 263 |       1 + skip tau n (* implicits are free *)
# 264 |     | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n ->
# 265 |       1 + skip tau (n - 1) (* explicits pi-types cost 1 *)
# 266 |     | I.TypArr (_, _, tau), n ->
# 267 |       1 + skip tau (n - 1)..............................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypPiBox (_, DeclOpt _, _), 1)
# 
# File "src/core/reconstruct.ml", lines 292-298, characters 9-92:
# 292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in
# 293 |          if Id.cid_schema_equal s_cid s_cid'
# 294 |          then Int.LF.CtxVar (Int.LF.CtxName psi)
# 295 |          else
# 296 |            let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in
# 297 |            let c_var' = Int.LF.CtxName psi in
# 298 |            Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl {typ=CTyp None; _ })
# 
# File "src/core/reconstruct.ml", lines 343-361, characters 7-10:
# 343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in
# 344 |        begin
# 345 |          let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in
# 346 |          Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi);
# 347 |          match Context.ctxVar cPsi with
# ...
# 358 |                   }
# 359 |               )
# 360 |          | _ -> ()
# 361 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTyp None
# 
# File "src/core/reconstruct.ml", lines 396-400, characters 2-23:
# 396 | ..match cG, k with
# 397 |   | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 ->
# 398 |      Whnf.cnormCTyp (tau, Whnf.m_id)
# 399 |   | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k ->
# 400 |      lookup cG' (k - 1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dec (cG', CTypDeclOpt _), _)
# 
# File "src/core/reconstruct.ml", lines 410-416, characters 2-32:
# 410 | ..function
# 411 |   | Apx.LF.Empty -> Int.LF.Empty
# 412 |   | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) ->
# 413 |      let ctx' = elTypDeclCtx cD ctx in
# 414 |      let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in
# 415 |      let typDecl' = Int.LF.TypDecl (name, tA) in
# 416 |      Int.LF.Dec (ctx', typDecl')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (ctx, TypDeclOpt _)
# 
# File "src/core/reconstruct.ml", line 459, characters 20-52:
# 459 | let elCDecl recT cD (Apx.LF.Decl (u, ctyp, plicity)) =
#                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt _
# 
# File "src/core/reconstruct.ml", lines 519-557, characters 4-26:
# 519 | ....function
# 520 |     | (Int.LF.Typ, _s) ->
# 521 |        Int.LF.Nil
# 522 | 
# 523 |     | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) ->
# ...
# 554 |            (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s))
# 555 |          end;
# 556 |        let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in
# 557 |        Int.LF.App (tR, tS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind ((TypDeclOpt _, _, _), _), _)
# 
# File "src/core/reconstruct.ml", lines 563-575, characters 2-8:
# 563 | ..function
# 564 |   | Int.LF.Atom (_, a, _) ->
# 565 |      mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind
# 566 | 
# 567 |   | Int.LF.Sigma trec ->
# ...
# 572 |      Int.LF.PiTyp
# 573 |        ( (tdecl', depend, plicity)
# 574 |        , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA
# 575 |        )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TClo _
# 
# File "src/core/reconstruct.ml", lines 578-580, characters 2-41:
# 578 | ..function
# 579 |   | Int.LF.TypDecl (x, tA) ->
# 580 |      Int.LF.TypDecl (x, mgTyp cD cPsi tA)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypDeclOpt _
# 
# File "src/core/reconstruct.ml", lines 637-640, characters 5-18:
# 637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
# 638 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
# 639 |      in
# 640 |      Int.LF.PObj h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Root (_, h, (App (_, _)|SClo (_, _)), _)
# 
# File "src/core/reconstruct.ml", lines 647-650, characters 5-18:
# 647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) =
# 648 |        Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id)
# 649 |      in
# 650 |      Int.LF.PObj h
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Root (_, h, (App (_, _)|SClo (_, _)), _)
# 
# File "src/core/reconstruct.ml", lines 711-727, characters 2-104:
# 711 | ..match (s, cKt) with
# 712 |   | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) ->
# 713 |      Int.Comp.MetaNil
# 714 | 
# 715 |   | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) ->
# ...
# 724 | 
# 725 |   | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) ->
# 726 |      let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in
# 727 |      Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (MetaApp (_, _), (PiKind (_, DeclOpt _, _), _))
# 
# File "src/core/reconstruct.ml", lines 798-803, characters 4-65:
# 798 | ....function
# 799 |     | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil
# 800 |     | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) ->
# 801 |        let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in
# 802 |        let mS = genMetaSpine (cK, t') in
# 803 |        Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PiKind (loc', DeclOpt _, _), _)
# 
# File "src/core/reconstruct.ml", lines 830-842, characters 2-49:
# 830 | ..match cPsi with
# 831 |   | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) ->
# 832 |      let (n, sW) = Whnf.mctxCDec cD psi_var in
# 833 |      let v =
# 834 |        let open Int.LF in
# ...
# 839 |   | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) ->
# 840 |      let cPsi' = mgCtx cD' (cD, cPsi) in
# 841 |      let tA' = mgTyp cD' cPsi' tA in
# 842 |      Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/reconstruct.ml", lines 921-939, characters 7-54:
# 921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in
# 922 |        dprintf
# 923 |          begin fun p ->
# 924 |          p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\
# 925 |                 @,mC    = @[%a@]\
# ...
# 936 |            (mT, Whnf.m_id)
# 937 |        with
# 938 |        | Unify.Failure msg ->
# 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)|
# TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _)
# 
# File "src/core/reconstruct.ml", lines 916-939, characters 4-54:
# 916 | ....match caseT with
# 917 |     | DataObj -> () (* not dependent pattern matching; nothing to do *)
# 918 |     | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) ->
# 919 |        let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in
# 920 |        (* tau_p' _has_ to be a box type if caseT is an IndexObj  *)
# ...
# 936 |            (mT, Whnf.m_id)
# 937 |        with
# 938 |        | Unify.Failure msg ->
# 939 |           throw loc (ImpossiblePattern (cD, mC_p, mC))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# IndexObj
#   (PatAnn
#      (_,
#      (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)|
#      PatAnn (_, _, _, _)), _, _),
#   _)
# 
# File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22:
# 1369 | .......match id with
# 1370 |        | None -> true
# 1371 |        | Some Apx.LF.Id -> true
# 1372 |        | Some Apx.LF.EmptySub ->
# 1373 |           let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in
# 1374 |           match cPhi, cPsi with
# 1375 |           | Int.LF.Null, Int.LF.Null -> true
# 1376 |           | _ -> false
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Some (Dot (_, _)|SVar (_, _)|FSVar (_, _))
# 
# File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9:
# 1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in
# 1394 |       let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in
# 1395 |       let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in
# 1396 |       let s0' = Substitution.LF.comp s0 s' in
# 1397 |       begin match s0' with
# ...
# 1413 |          else
# 1414 |            throw loc IllegalSubstMatch
# 1415 |       | _ -> throw loc IllegalSubstMatch
# 1416 |       end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _))
# 
# File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8:
# 1421 | .....begin
# 1422 |        match cpsi with
# 1423 |        | Apx.LF.CtxVar (ctxvar) ->
# 1424 |           let c_var = Lfrecon.elCtxVar ctxvar in
# 1425 |           let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in
# ...
# 1439 |                  end
# 1440 |                |> throw loc
# 1441 |           end
# 1442 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Null|CtxHole|DDec (_, _))
# 
# File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6:
# 1194 | ..match i with
# 1195 |   | Apx.Comp.Var (loc, offset) ->
# 1196 |      let tau = lookup cG offset in
# 1197 |      dprintf
# 1198 |        begin fun p ->
# ...
# 1455 |      , ( Int.Comp.TypCross (loc, ttaus')
# 1456 |        , C.m_id
# 1457 |        )
# 1458 |      )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Box
#   (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))
# 
# File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8:
# 1524 | ..match (pat, ttau) with
# 1525 |   | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) ->
# 1526 |      let tau' = Whnf.cnormCTyp (tau, theta) in
# 1527 |      dprintf
# 1528 |        begin fun p ->
# ...
# 1597 |        | Unify.Failure msg ->
# 1598 |           dprint (fun () -> "Unify Error: " ^ msg);
# 1599 |           raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau')))
# 1600 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatFVar (_, _), _)
# 
# File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57:
# 1603 | ..function
# 1604 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
# 1605 |      let tau' = elCompTyp cD tau in
# 1606 |      let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in
# 1607 |      (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id))
# ...
# 1610 |      let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in
# 1611 |      dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c));
# 1612 |      let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in
# 1613 |      (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _))
# 
# File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8:
# 1690 | .....begin match ttau with
# 1691 |      | (Int.Comp.TypCobase (_, _, _), _) ->
# 1692 |         let { Store.Cid.CompDest.Entry.name
# 1693 |             ; mctx = cD'
# 1694 |             ; obs_type = tau0
# ...
# 1730 |         let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in
# 1731 |         (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2)
# 1732 |      (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *)
# 1733 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _)
# 
# File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68:
# 1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in
# 1750 |      let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in
# 1751 |      let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in
# 1752 |      let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in
# 1753 |      let ttau' = (tau', Whnf.m_id) in
# 1754 |      let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in
# 1755 |      (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *)
# 1756 |      (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _))
# 
# File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13:
# 1784 | ..........begin match mT with
# 1785 |           | Int.LF.(MTyp (Atom _ | Sigma _ as tA))->
# 1786 |              let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in
# 1787 |              let tP' = mgTyp cD cPsi' tA in
# 1788 |              (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi'))
# ...
# 1798 |                 fixParamTyp in check.ml, and it is only used for
# 1799 |                 coverage checking. *)
# 1800 |              Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible"
# 1801 |           end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MTyp (TClo _)
# 
# File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5:
# 2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' =
# 2085 |     elHypotheses h
# 2086 |   in
# 2087 |   dprintf
# 2088 |     begin fun p ->
# ...
# 2103 |     ( loc
# 2104 |     , h'
# 2105 |     , elProof cD cG label p ttau
# 2106 |     )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))}
# 
# File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29:
# 2288 | ...........match k, tA' with
# 2289 |            | Some k, Int.LF.Sigma tRec ->
# 2290 |               (* Compute the type of the kth projection of tRec. *)
# 2291 |               Int.LF.getType h (tRec, LF.id) k
# 2292 |               |> Whnf.normTyp
# ...
# 2298 |                  A projected case #n.k is required.
# 2299 |                *)
# 2300 |               assert false
# 2301 |            | None, tA' -> tA'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _))
# 
# File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56:
# 2339 | .......let Int.LF.MTyp tP = cU in
# 2340 |        let (cD', (cPsi', tR_p, tA_p), t) =
# 2341 |          match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with
# 2342 |          | None -> assert false
# 2343 |          (* FIXME: throw an appropriate error
# ...
# 2417 |          cD_b |- [t o t']tau <= type
# 2418 |         *)
# 2419 |        in
# 2420 |        I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PTyp _|STyp (_, _))
# 
# File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57:
# 2428 | .......let Int.LF.MTyp tA = cU in
# 2429 |        let (cD', (cPsi', tM, sA), t) =
# 2430 |          match Coverage.genBVar (cD, cPsi, tA) 1 with
# 2431 |          | [x] -> x
# 2432 |          | _ ->
# ...
# 2460 |        let l' = `bvar in
# 2461 |        let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in
# 2462 |        let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in
# 2463 |        I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (PTyp _|STyp (_, _))
# 
# File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44:
# 2545 | .....let Some w = w in
# 2546 |      let ctx_branches = List.map (make_ctx_branch w) bs in
# 2547 |      I.ContextSplit (i, tau_i, ctx_branches)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17:
# 2562 | .....let (cD', cG', Int.LF.Empty, tau', _) =
# 2563 |        Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau)
# 2564 |      in
# 2565 |      let hyp =
# 2566 |        elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id)
# 2567 |      in
# 2568 |      I.Intros hyp
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD', cG', Dec (_, WfRec (_, _, _)), _, _)
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Logic.cmx -c -impl src/core/logic.ml)
# File "src/core/logic.ml", lines 190-203, characters 4-36:
# 190 | ....match tN with
# 191 |     | LF.Lam (l, n, tN') ->
# 192 |        begin
# 193 |          incr lR;
# 194 |          let tM = LF.Lam (l, n, shiftNormal tN' k) in
# ...
# 200 |     | LF.Clo (tN, s) ->
# 201 |        LF.Clo (shiftNormal tN k, s)
# 202 |     | LF.Tuple (l, tP) ->
# 203 |        LF.Tuple (l, shiftTuple tP k)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# LFHole (_, _, _)
# 
# File "src/core/logic.ml", lines 241-251, characters 4-8:
# 241 | ....match tA with
# 242 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tA') ->
# 243 |        typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR)
# 244 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
# 245 |        typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR)))
# ...
# 248 |        { tHead = (Shift.shiftAtom tA (-cS, -dS, dR))
# 249 |        ; eVars = eV
# 250 |        ; subGoals = cG
# 251 |        }
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, Explicit), _)
# 
# File "src/core/logic.ml", lines 297-306, characters 4-30:
# 297 | ....match tA with
# 298 |     | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') ->
# 299 |        All (tdec, typToGoal tA' (cS, dS, dR + 1))
# 300 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) ->
# 301 |        Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1))
# 302 |     | LF.Atom _ ->
# 303 |        Atom (Shift.shiftAtom tA (-cS, -dS, dR))
# 304 |     | LF.TClo (tA, s) ->
# 305 |        dprintf begin fun p -> p.fmt "[typToGoal] TClo" end;
# 306 |        raise NotImplementedYet
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, Explicit), _)
# 
# File "src/core/logic.ml", lines 309-315, characters 4-47:
# 309 | ....match tM with
# 310 |     | LF.PiTyp ((tD, _, Plicity.Implicit), tM') ->
# 311 |        Exists (tD, typToRes tM' (cS, dS, dR + 1))
# 312 |     | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) ->
# 313 |        And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1))
# 314 |     | LF.Atom _ ->
# 315 |        Head (Shift.shiftAtom tM (-cS, -dS, dR))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, Explicit), _)
# 
# File "src/core/logic.ml", lines 326-348, characters 4-34:
# 326 | ....match tau with
# 327 |     | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) ->
# 328 |        (* Invariant: tA will always be atomic in our implementation *)
# 329 |        Box (cPsi, Atom tA, Some M)
# 330 |        (* possibly needs to have PiBox variables shifted;
# ...
# 345 |        let typ_dec = Comp.CTypDecl (name, tau1 , true) in
# 346 |        Implies ((cr1, typ_dec), cg2)
# 347 |     | Comp.TypBase (_, comp_cid, s) ->
# 348 |        Atomic (comp_cid, msToAs s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypBox (_, CTyp _)
# 
# File "src/core/logic.ml", lines 351-358, characters 4-47:
# 351 | ....match tau with
# 352 |     | Comp.TypBox (_) | Comp.TypBase(_) ->
# 353 |        Base tau
# 354 |     | Comp.TypArr (_, tau1, tau2) ->
# 355 |        CAnd (comptypToCompGoal tau1, comptypToCompRes tau2)
# 356 |     | Comp.TypPiBox (_, typ_dec, tau') ->
# 357 |        CExists (typ_dec, comptypToCompRes tau')
# 358 |     | Comp.TypInd tau' -> comptypToCompRes tau'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
# 
# File "src/core/logic.ml", lines 394-402, characters 4-30:
# 394 | ....match box with
# 395 |     | Box (cPsi, Atom tA, Some M) ->
# 396 |        let loc = Location.ghost in
# 397 |        let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in
# 398 |        Comp.TypBox (loc, ctyp)
# 399 |     | Box (cPsi, Atom tA, Some P) ->
# 400 |        let loc = Location.ghost in
# 401 |        let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in
# 402 |        Comp.TypBox (loc, ctyp)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Box (_, Atom _, None)
# 
# File "src/core/logic.ml", lines 412-416, characters 4-34:
# 412 | ....match atomic with
# 413 |     | Atomic (cid, aS) ->
# 414 |        let loc = Location.ghost in
# 415 |        let mS = asToMs aS in
# 416 |        Comp.TypBase (loc, cid, mS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Box (_, _, _)|Implies ((_, _), _)|Forall (_, _))
# 
# File "src/core/logic.ml", lines 434-443, characters 4-10:
# 434 | ....match tA with
# 435 |     | LF.Atom _ ->
# 436 |        let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in
# 437 |        LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit)
# 438 |     | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) ->
# 439 |        LF.Lam
# 440 |          ( Location.ghost
# 441 |          , x
# 442 |          , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s)
# 443 |          )
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# PiTyp ((TypDeclOpt _, _, _), _)
# 
# File "src/core/logic.ml", lines 462-470, characters 4-68:
# 462 | ....match eV with
# 463 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
# 464 |        let (s', fS') = dctxToSub cD cPsi (eV', s) fS in
# 465 |        let tM' = etaExpand cD cPsi (tA, s') in
# 466 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
# 467 |     | LF.Null -> (s, fS)
# 468 |     | LF.CtxVar _ ->
# 469 |        invalid_arg
# 470 |          "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _."
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (eV', TypDeclOpt _)
# 
# File "src/core/logic.ml", lines 475-481, characters 4-28:
# 475 | ....match eV with
# 476 |     | LF.DDec (eV', LF.TypDecl (_, tA)) ->
# 477 |        let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in
# 478 |        let tM' = etaExpand cD cPsi (tA, s') in
# 479 |        (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS))))
# 480 |     | LF.Null -> (s, fS)
# 481 |     | LF.CtxVar _ -> (s, fS)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DDec (eV', TypDeclOpt _)
# 
# File "src/core/logic.ml", lines 500-501, characters 6-52:
# 500 | ......match lst with
# 501 |       | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 510-513, characters 6-20:
# 510 | ......match dctx with
# 511 |       | LF.DDec (dctx', _) -> find_ctxvar_offset dctx'
# 512 |       | LF.CtxVar (LF.CtxOffset k) -> k
# 513 |       | LF.Null -> 0
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CtxVar (CtxName _|CInst _)
# 
# File "src/core/logic.ml", lines 697-709, characters 9-47:
# 697 | .........(match mtyp with
# 698 |          | LF.ClTyp (LF.MTyp _, _) ->
# 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
# 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
# 701 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
# ...
# 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
# 707 |               ((x, (loc, mfront)) :: xs)
# 708 |          | LF.CTyp cid_opt ->
# 709 |             comptypToMQuery' (tau', i-1) ms xs)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (STyp (_, _), _)
# 
# File "src/core/logic.ml", lines 696-709, characters 9-47:
# 696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in
# 697 |          (match mtyp with
# 698 |          | LF.ClTyp (LF.MTyp _, _) ->
# 699 |             let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in
# 700 |             let mfront = Whnf.mmVarToMFront loc mmV mtyp in
# ...
# 706 |             comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms))
# 707 |               ((x, (loc, mfront)) :: xs)
# 708 |          | LF.CTyp cid_opt ->
# 709 |             comptypToMQuery' (tau', i-1) ms xs)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt { _ }
# 
# File "src/core/logic.ml", lines 1084-1094, characters 4-72:
# 1084 | ....match r with
# 1085 |     | Head tH ->
# 1086 |        fmt_ppr_typ cD cPsi ppf (tH, s)
# 1087 |     | And (g, r') ->
# 1088 |        fprintf ppf "%a -> %a"
# ...
# 1091 |     | Exists (LF.TypDecl (_, _tA) as tD, r') ->
# 1092 |        fprintf ppf "(∃%a. %a)"
# 1093 |          (fmt_ppr_decl cD cPsi) (tD, s)
# 1094 |          (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Exists (TypDeclOpt _, _)
# 
# File "src/core/logic.ml", lines 1305-1332, characters 4-19:
# 1305 | ....match s with
# 1306 |     | LF.Shift _ -> true
# 1307 |     | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') ->
# 1308 |        if uninstantiated hd then false
# 1309 |        else check_sub s'
# ...
# 1329 |        if uninstantiated hd then false
# 1330 |        else check_sub s'
# 1331 |     | LF.Dot (_, s') ->
# 1332 |        check_sub s'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/logic.ml", lines 1337-1339, characters 6-48:
# 1337 | ......match cD with
# 1338 |       | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity
# 1339 |       | LF.Dec (cD', _) -> get_plicity cD' (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/logic.ml", lines 1394-1412, characters 4-30:
# 1394 | ....match g with
# 1395 |     | Atom tA ->
# 1396 |        matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth)
# 1397 | 
# 1398 |     | Impl ((r, (LF.TypDecl (x, _) as tD)), g') ->
# ...
# 1409 |           So we just prove the conclusion in an extended context. *)
# 1410 |        gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s)
# 1411 |          (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM)))
# 1412 |          (currDepth, maxDepth)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Impl ((r, TypDeclOpt _), _)
# 
# File "src/core/logic.ml", lines 1444-1446, characters 17-29:
# 1444 | .................match cltyp with
# 1445 |          | LF.MTyp tau -> tau
# 1446 |          | LF.PTyp tau -> tau
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 1439-1483, characters 4-96:
# 1439 | ....match cD with
# 1440 |     | LF.Empty -> raise NoSolution
# 1441 |     | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) ->
# 1442 |        solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
# 1443 |     | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) ->
# ...
# 1480 |            end
# 1481 |        with
# 1482 |        | U.Failure _ ->
# 1483 |      solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, DeclOpt _)
# 
# File "src/core/logic.ml", lines 1496-1600, characters 4-76:
# 1496 | ....match s with
# 1497 |     | LF.Shift _ ->
# 1498 | dprintf begin fun p ->
# 1499 |             p.fmt "[trivially_prove] s_all = %a"
# 1500 |               (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all
# ...
# 1597 |          with
# 1598 |          | U.Failure _ | NoSolution -> raise NoSolution)
# 1599 |     | LF.Dot (_, s') ->
# 1600 |        trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _))
# 
# File "src/core/logic.ml", lines 2260-2263, characters 4-25:
# 2260 | ....match cG with
# 2261 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name
# 2262 |     | LF.Dec (cG', Comp.CTypDecl (name, _, _)) ->
# 2263 |        get_name (k-1) cG'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG', CTypDeclOpt _)
# 
# File "src/core/logic.ml", lines 2337-2340, characters 4-21:
# 2337 | ....match cdecl with
# 2338 |     | Comp.CTypDecl (_, tau, _) ->
# 2339 |        let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
# 2340 |        (cc, k, Boxed)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/logic.ml", lines 2416-2417, characters 9-57:
# 2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
# 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Full (Full (_, ({ _ }, _, _)), ({ _ }, _, _))
# 
# File "src/core/logic.ml", lines 2407-2418, characters 6-33:
# 2407 | ......match (cP, cG) with
# 2408 |       | (Emp, LF.Dec(cG', cdecl)) ->
# 2409 |          let cc = decToCC cdecl 1 in
# 2410 |          let cP_ret' = shift_cPool cP_ret 1 in
# 2411 |          update cP cG' (prependToCPool cc cP_ret') (k+1)
# ...
# 2415 |            if pos' = k then unbox cc else cc in
# 2416 |          let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in
# 2417 |          update cP' cG' (prependToCPool cc' cP_ret) (k+1)
# 2418 |       | (Emp, LF.Empty) -> cP_ret
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Full (cP', cc), Empty)
# 
# File "src/core/logic.ml", lines 2470-2476, characters 6-36:
# 2470 | ......match tA with
# 2471 |       | LF.Atom (l, cid, sp) ->
# 2472 |          LF.Atom (l, cid, remove_sp sp)
# 2473 |       | LF.PiTyp ((td, depend, plicity), tA') ->
# 2474 |          LF.PiTyp ((td, depend, plicity), remove_typ tA)
# 2475 |       | LF.TClo (tA', s) ->
# 2476 |          LF.TClo (remove_typ tA', s)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Sigma _
# 
# File "src/core/logic.ml", lines 2495-2508, characters 6-49:
# 2495 | ......match tau with
# 2496 |       | Comp.TypBase (l, cid, mS) ->
# 2497 |          Comp.TypBase (l, cid, remove_mS mS)
# 2498 |       | Comp.TypBox (l, mT) ->
# 2499 |          (match mT with
# ...
# 2505 |       | Comp.TypArr (l, tau1, tau2) ->
# 2506 |          Comp.TypArr (l, remove_tau tau1, remove_tau tau2)
# 2507 |       | Comp.TypPiBox (l, cdec, tau') ->
# 2508 |          Comp.TypPiBox (l, cdec, remove_tau tau')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _)
# 
# File "src/core/logic.ml", lines 2731-2741, characters 9-52:
# 2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
# 2732 |          let mmvar' =
# 2733 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
# 2734 |              mmvar.LF.inductivity in
# 2735 |          let norm = LF.Root (noLoc,
# ...
# 2738 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
# 2739 |          let x = Comp.M ((noLoc, mf), mT) in
# 2740 |          let (xs, sub) = gen_new_ih_args lst' ys in
# 2741 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/logic.ml", lines 2752-2762, characters 9-52:
# 2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in
# 2753 |          let mmvar' =
# 2754 |            Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
# 2755 |              mmvar.LF.inductivity in
# 2756 |          let norm = LF.Root (noLoc, LF.MMVar
# ...
# 2759 |          let mf = LF.ClObj (dctx_hat, LF.MObj norm) in
# 2760 |          let x = Comp.M ((noLoc, mf), mT) in
# 2761 |          let (xs, sub) = gen_new_ih_args lst' ys in
# 2762 |          (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((PTyp _|STyp (_, _)), _)
# 
# File "src/core/logic.ml", lines 2771-2779, characters 9-58:
# 2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in
# 2772 |          let mmvar' =
# 2773 |            Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity
# 2774 |              mmvar.LF.inductivity in
# 2775 |          let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in
# 2776 |          let mf = LF.ClObj (dctx_hat, LF.PObj hd) in
# 2777 |          let x = Comp.M ((noLoc, mf), mT) in
# 2778 |          let (xs, sub) = gen_new_ih_args lst' ys in
# 2779 |          (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp ((MTyp _|STyp (_, _)), _)
# 
# File "src/core/logic.ml", lines 2842-2843, characters 11-44:
# 2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in
# 2843 |            (loc, LF.ClObj (dh, LF.PObj hd'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/logic.ml", lines 2920-2921, characters 6-42:
# 2920 | ......match i with
# 2921 |       | Comp.Var(l, k) -> Comp.Var(l, k+1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))|
# LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)|
# Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)|
# Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)|
# AnnBox (_, (_, _), _))
# 
# File "src/core/logic.ml", lines 2977-2978, characters 6-37:
# 2977 | ......match cltyp with
# 2978 |       | LF.MTyp tA | LF.PTyp tA -> tA
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 2998-3001, characters 6-58:
# 2998 | ......match cG_a with
# 2999 |       | [] -> false
# 3000 |       | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' ->
# 3001 |          (Name.equal name name2) || (old_split name cG_a')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (CTypDeclOpt _, _, _, _, _, _)::_
# 
# File "src/core/logic.ml", lines 3005-3009, characters 6-37:
# 3005 | ......match cG_a with
# 3006 |       | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a'
# 3007 |            when Name.equal name name2 ->
# 3008 |          (con, thm, bool)
# 3009 |       | x :: xs -> find_split name xs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3013-3065, characters 6-30:
# 3013 | ......match (cG, cPool) with
# 3014 |       | (LF.Dec(cG',
# 3015 |                 ((Comp.CTypDecl (name, Comp.TypBox
# 3016 |                                          (_, LF.ClTyp (cltyp, cPsi)), _wf))
# 3017 |                  as cdecl)),
# ...
# 3062 |       | (LF.Dec (cG', _), Full (cPool', _)) ->
# 3063 |          update (cG', cPool', ret)
# 3064 | 
# 3065 |       | (LF.Empty, Emp) -> ret
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Dec (cG', _), Emp)
# 
# File "src/core/logic.ml", lines 3084-3087, characters 6-38:
# 3084 | ......match cD_a with
# 3085 |       | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a'
# 3086 |            when Name.equal d.name n -> x
# 3087 |       | _ :: cD_a' -> retrieve n cD_a'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3103-3108, characters 21-41:
# 3103 | .....................match cltyp with
# 3104 |            | LF.MTyp tA ->
# 3105 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
# 3106 |                                 LF.Nil, Plicity.explicit))
# 3107 |            | LF.PTyp tA ->
# 3108 |               LF.PObj (LF.PVar (1, S.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3094-3118, characters 9-31:
# 3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
# 3095 |            retrieve name cD_a in
# 3096 |          let (con', bool') =
# 3097 |            if bool then
# 3098 |               try
# ...
# 3115 |          let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in
# 3116 |          let x = (tdecl', Some i, con', 1, thm, bool') in
# 3117 |          let ret' = shift_cD_a ret in
# 3118 |          update cD' (x :: ret')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (DeclOpt { _ }, _, _, _, _, _)
# 
# File "src/core/logic.ml", lines 3126-3131, characters 21-41:
# 3126 | .....................match cltyp with
# 3127 |            | LF.MTyp tA ->
# 3128 |               LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
# 3129 |                                 LF.Nil, Plicity.explicit))
# 3130 |            | LF.PTyp tA ->
# 3131 |               LF.PObj (LF.PVar (1, S.id))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3090-3157, characters 6-23:
# 3090 | ......match cD with
# 3091 |       | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp)
# 3092 |                                ; plicity = Plicity.Explicit; _ }) as tdecl))
# 3093 |            when is_in name cD_a ->
# 3094 |          let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) =
# ...
# 3154 |          let x = (tdecl', None, con, 1, None, bool) in
# 3155 |          let ret' = shift_cD_a ret in
# 3156 |          update cD' (x :: ret')
# 3157 |       | LF.Empty -> ret
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (_, DeclOpt _)
# 
# File "src/core/logic.ml", lines 3243-3251, characters 6-44:
# 3243 | ......match cG_a with
# 3244 |       | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a'
# 3245 |            when Name.equal name n ->
# 3246 |          (tau, i, thm_var,
# 3247 |           (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false)
# 3248 |           :: cG_a', k)
# 3249 |       | x :: cG_a' ->
# 3250 |          let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in
# 3251 |          (tau, i, thm_var, x :: cG_a'', pos)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3256-3264, characters 6-39:
# 3256 | ......match cD_a with
# 3257 |       | (LF.Decl d, Option.Some i, no, k, thm_var, true)
# 3258 |         :: cD_a' when Name.equal name d.name ->
# 3259 |          let tau = Comp.TypBox(noLoc, d.typ) in
# 3260 |          (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false)
# 3261 |                      :: cD_a')
# 3262 |       | x :: cD_a' ->
# 3263 |          let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in
# 3264 |          (tau, i, thm_var, x :: cD_a'')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3330-3332, characters 9-42:
# 3330 | .........let (Some n) = find_mvar k cD_a in
# 3331 |          let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in
# 3332 |          (tau, i, thm_var, cD_a', cG_a, 0).
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 3358-3365, characters 8-50:
# 3358 | ........match cG_a with
# 3359 |         | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool)
# 3360 |           :: cG_a' when Name.equal name name2 ->
# 3361 |            (cdecl, con, thm, bool, cG_a')
# 3362 |         | x :: xs ->
# 3363 |            let (tdecl, num, thm_var, bool, cG_a') =
# 3364 |              remove xs in
# 3365 |            (tdecl, num, thm_var, bool, x :: cG_a')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 3374-3399, characters 7-25:
# 3374 | .......(match cltyp with
# 3375 |        | LF.MTyp tA ->
# 3376 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in
# 3377 |           let norm =
# 3378 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
# ...
# 3396 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
# 3397 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
# 3398 |                       :: (shift_cD_a cD_a) in
# 3399 |           (cD_a', cG_a'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3403-3428, characters 7-25:
# 3403 | .......(match cltyp with
# 3404 |        | LF.MTyp _ ->
# 3405 |           let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in
# 3406 |           let norm =
# 3407 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in
# ...
# 3425 |           let i = Comp.AnnBox(noLoc, mobj, ctyp) in
# 3426 |           let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool)
# 3427 |                       :: (shift_cD_a cD_a) in
# 3428 |           (cD_a', cG_a'))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3489-3525, characters 7-31:
# 3489 | .......(match cltyp with
# 3490 |         | LF.MTyp _ ->
# 3491 |           let norm =
# 3492 |             LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id),
# 3493 |                      LF.Nil, plicity) in
# ...
# 3522 |             | false -> None
# 3523 |           in
# 3524 |           (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true)
# 3525 |           :: (shift_cD_a cD_a))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# STyp (_, _)
# 
# File "src/core/logic.ml", lines 3646-3651, characters 4-46:
# 3646 | ....match cG with
# 3647 |     | LF.Empty -> cPool
# 3648 |     | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) ->
# 3649 |        let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in
# 3650 |        let cc = (clause, (lengthCPool cPool) + 1, Boxed) in
# 3651 |        gen_cPool cG' (prependToCPool cc cPool)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Dec (cG', CTypDeclOpt _)
# 
# File "src/core/logic.ml", lines 3898-3900, characters 6-46:
# 3898 | ......match cD with
# 3899 |       | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name
# 3900 |       | LF.Dec (cD', _) -> find_name cD' (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/logic.ml", lines 4037-4047, characters 22-64:
# 4037 | ......................match mobj with
# 4038 |         | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
# 4039 |           | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) ->
# 4040 |            mmvar.LF.instantiation :=
# 4041 |              Some (LF.INorm (LF.Root (noLoc,
# ...
# 4044 |         | LF.PObj LF.MPVar ((mmvar, _), _)
# 4045 |           | LF.PObj LF.MMVar ((mmvar, _), _) ->
# 4046 |            mmvar.LF.instantiation :=
# 4047 |              Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0)))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MObj
#   (Root
#      (_,
#      (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|
#      FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _))
# 
# File "src/core/logic.ml", lines 4051-4057, characters 6-26:
# 4051 | ......match ih_args with
# 4052 |       | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs ->
# 4053 |          if Solver.uninstantiated hd then mobj else grab xs
# 4054 |       | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _))
# 4055 |         :: xs->
# 4056 |          if Solver.uninstantiated hd then mobj else grab xs
# 4057 |       | _ :: xs -> grab xs
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# 
# File "src/core/logic.ml", lines 4060-4064, characters 14-56:
# 4060 | ..............match mobj with
# 4061 |       | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _))
# 4062 |       | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _))
# 4063 |       | LF.PObj LF.MPVar ((mmvar, _), _)
# 4064 |       | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ...
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# MObj
#   (Root
#      (_,
#      (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|
#      FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)|
#      HMClo (_, (({instantiation={ _ }; constraints={ _ }; _ }, _), _))), _,
#      _))
# 
# File "src/core/logic.ml", lines 4079-4090, characters 6-88:
# 4079 | ......let Some cid = thm_cid in
# 4080 |       let i = Comp.Const(noLoc, cid) in
# 4081 |       let sc' = (fun e -> sc (Comp.Case (noLoc,
# 4082 |                                        Comp.PragmaNotCase,
# 4083 |                                        Whnf.cnormExp (fS i, LF.MShift 0),
# ...
# 4087 |                                                      pattern,
# 4088 |                                                      LF.MShift 0,
# 4089 |                                                      e)]))) in
# 4090 |       find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 4126-4128, characters 21-40:
# 4126 | .....................match (currDepth, maxDepth) with
# 4127 |         | (Some k, None) -> (k, 0)
# 4128 |         | (Some k1, Some k2) -> (k1, k2)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (None, _)
# 
# File "src/core/logic.ml", lines 4290-4311, characters 9-83:
# 4290 | .........let Some cid = thm_cid in
# 4291 |          let i = arg_builder (Comp.Const(noLoc, cid)) in
# 4292 |          let (ms', fS) =
# 4293 |            C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in
# 4294 |          let ms'' = rev_ms ms' 0 in
# ...
# 4308 |          with
# 4309 |          | U.Failure _ | DepthReached _ | End_Of_Search ->
# 4310 |          focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
# 4311 |            (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 4595-4597, characters 6-57:
# 4595 | ......match cG with
# 4596 |       | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau
# 4597 |       | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Empty
# 
# File "src/core/logic.ml", lines 4895-4905, characters 10-31:
# 4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool,
# 4896 |                 ms_b, pat, td_b, cid)] = blist in
# 4897 | 
# 4898 |           invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b
# 4899 |             (normCompGoal (cg, ms)) ms_b
# ...
# 4902 |                              [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat,
# 4903 |                                           ms_b, e)])))
# 4904 |             (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 4905 |             (ind, thm, td, cid)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid)::
# (_, _, _, _, _, _, _, _, _, _, _, _)::_
# 
# File "src/core/logic.ml", lines 4976-5015, characters 7-35:
# 4976 | .......let Atom tA = g' in
# 4977 |        let cltyp = LF.MTyp tA in
# 4978 |        let sc' =
# 4979 |          (fun (cPsi', tM) ->
# 4980 |            let dctx_hat = Context.dctxToHat cPsi' in
# ...
# 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5014 |                  (ind, thm, td, thm_cid);
# 5015 |                raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Impl ((_, _), _)|All (_, _))
# 
# File "src/core/logic.ml", lines 4975-5015, characters 7-35:
# 4975 | .......let Box(cPsi',g',_) = cg' in
# 4976 |        let Atom tA = g' in
# 4977 |        let cltyp = LF.MTyp tA in
# 4978 |        let sc' =
# 4979 |          (fun (cPsi', tM) ->
# ...
# 5012 |                split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5013 |                  (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5014 |                  (ind, thm, td, thm_cid);
# 5015 |                raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
# 
# File "src/core/logic.ml", lines 5024-5029, characters 11-51:
# 5024 | ...........let LF.Root (_,hd,_,_) = tM in
# 5025 |            let dctx_hat = Context.dctxToHat cPsi' in
# 5026 |            let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in
# 5027 |            let meta_obj = (noLoc, mfront) in
# 5028 |            let meta_typ = LF.ClTyp (cltyp, cPsi') in
# 5029 |            sc (Comp.Box(noLoc, meta_obj, meta_typ)).
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _))
# 
# File "src/core/logic.ml", lines 5020-5060, characters 7-34:
# 5020 | .......let Atom tA = g' in
# 5021 |        let cltyp = LF.PTyp tA in
# 5022 |        let sc' =
# 5023 |          (fun (cPsi', tM) ->
# 5024 |            let LF.Root (_,hd,_,_) = tM in
# ...
# 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5059 |                 (ind, thm, td, thm_cid);
# 5060 |               raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Impl ((_, _), _)|All (_, _))
# 
# File "src/core/logic.ml", lines 5019-5060, characters 7-34:
# 5019 | .......let Box(_,g',_) = cg' in
# 5020 |        let Atom tA = g' in
# 5021 |        let cltyp = LF.PTyp tA in
# 5022 |        let sc' =
# 5023 |          (fun (cPsi', tM) ->
# ...
# 5057 |               split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5058 |                 (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5059 |                 (ind, thm, td, thm_cid);
# 5060 |               raise End_Of_Search)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _))
# 
# File "src/core/logic.ml", lines 4969-5085, characters 4-30:
# 4969 | ....match cg with
# 4970 |     | Box (cPsi, g, Some M) ->
# 4971 |        (* We apply the msub here in case there are FREE MVARS that
# 4972 |           appear from unify   *)
# 4973 |        let ms = Whnf.cnormMSub ms in
# ...
# 5082 |            split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc
# 5083 |              (currDepth, maxDepth, currSplitDepth, maxSplitDepth)
# 5084 |              (ind, thm, td, thm_cid);
# 5085 |            raise End_Of_Search
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Box (_, _, None)
# 
# File "src/core/logic.ml", lines 5223-5246, characters 7-36:
# 5223 | .......let Some cid = thm_cid in
# 5224 |        let cIH_all' = Total.shift cIH_all in
# 5225 |        let cIH'' = Total.shift cIH' in
# 5226 |        let i = Comp.Const(noLoc, cid) in
# 5227 |        (try
# ...
# 5243 |        | End_Of_Search | DepthReached _ ->
# 5244 |           blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc
# 5245 |             (cDepth, mDepth, currSplitDepth, maxSplitDepth)
# 5246 |             (ind, thm, td, thm_cid))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5263-5286, characters 7-32:
# 5263 | .......let Some cid = thm_cid in
# 5264 |        let i = Comp.Const(noLoc, cid) in
# 5265 |        let cIH'' = Total.shift cIH' in
# 5266 |        let cIH_all' = Total.shift cIH_all in
# 5267 |        let exp = Whnf.cnormExp (fS i, LF.MShift 0) in
# ...
# 5283 |        in
# 5284 |        blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc'
# 5285 |          (cDepth, mDepth, currSplitDepth, maxSplitDepth)
# 5286 |          (ind, thm, td, thm_cid)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5393-5394, characters 6-46:
# 5393 | ......match cp with
# 5394 |       | (_cc, _k, Boxed) -> (_cc, _k, Unboxed)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_cc, _k, Unboxed)
# 
# File "src/core/logic.ml", lines 5441-5458, characters 10-49:
# 5441 | ..........match r with
# 5442 |           | LF.ClTyp (LF.MTyp _, cPsi) ->
# 5443 |              let tM =
# 5444 |                LF.Root
# 5445 |                  ( noLoc
# ...
# 5455 |              LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)),
# 5456 |                        LF.PObj hd)
# 5457 |           | LF.CTyp _ ->
# 5458 |              LF.CObj (LF.CtxVar (LF.CtxOffset 1))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# ClTyp (STyp (_, _), _)
# 
# File "src/core/logic.ml", lines 5549-5554, characters 7-37:
# 5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in
# 5550 |        let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in
# 5551 |        let cIH' = Total.shift cIH in
# 5552 |        uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc'
# 5553 |          (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1)
# 5554 |          (ind, thm, td, thm_cid) blur
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# CTypDeclOpt _
# 
# File "src/core/logic.ml", lines 5587-5590, characters 24-19:
# 5587 | ........................match sp with
# 5588 |       | 0 -> Some 0  (* No splitting.    *)
# 5589 |       | 1 -> None    (* Only inversions. *)
# 5590 |       | 2 -> Some 1........................
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# 3
# 
# File "src/core/logic.ml", lines 5795-5798, characters 9-40:
# 5795 | .........let Some iterm = !(mmvar.LF.instantiation) in
# 5796 |          (match iterm with
# 5797 |          | LF.IHead hd -> hd
# 5798 |          | _ -> raise NotImplementedYet)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5800-5803, characters 9-40:
# 5800 | .........let Some iterm = !(mmvar.LF.instantiation) in
# 5801 |          (match iterm with
# 5802 |          | LF.IHead hd -> hd
# 5803 |          | _ -> raise NotImplementedYet)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5805-5808, characters 9-40:
# 5805 | .........let Some iterm = !(mmvar.LF.instantiation) in
# 5806 |          (match iterm with
# 5807 |          | LF.IHead hd -> hd
# 5808 |          | _ -> raise NotImplementedYet)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5834-5835, characters 11-16:
# 5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in
# 5835 |            iterm
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5837-5838, characters 11-16:
# 5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in
# 5838 |            iterm
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5840-5841, characters 11-16:
# 5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in
# 5841 |            iterm
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# None
# 
# File "src/core/logic.ml", lines 5847-5849, characters 9-33:
# 5847 | .........(match remove_head_mvars hd with
# 5848 |          | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p)
# 5849 |          | LF.INorm norm -> norm)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (ISub _|ICtx _)
# 
# File "src/core/logic.ml", lines 6066-6076, characters 8-33:
# 6066 | ........match tau with
# 6067 |         | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n
# 6068 |         | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1)
# 6069 |         | Comp.TypInd (_) -> Option.some n
# 6070 |         | Comp.TypBox (_, _) -> Option.none
# ...
# 6073 |            let ind = ind_index tau1 n in
# 6074 |            match ind with
# 6075 |            | Option.None -> ind_index tau2 (n + 1)
# 6076 |            | Option.Some _ -> ind
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _))
# (cd _build/default && /home/opam/.opam/5.2.0+flambda2/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.2.0+flambda2/lib/extlib -I /home/opam/.opam/5.2.0+flambda2/lib/gen -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/str -I /home/opam/.opam/5.2.0+flambda2/lib/ocaml/unix -I /home/opam/.opam/5.2.0+flambda2/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Load.cmx -c -impl src/core/load.ml)
# File "src/core/load.ml", line 63, characters 33-47:
# 63 |             Parser.Parsing.(only signature_file)
#                                       ^^^^^^^^^^^^^^
# Error: This expression has type
#          "Synprs.signature_file Parser.Parsing.t" =
#            "Parser.Parsing.state ->
#            Parser.Parsing.state * (Synprs.signature_file, exn) result"
#        but an expression was expected of type
#          "Parser.Parsing.state -> Parser.Parsing.state * ('a, exn) result"
#        The layout of Synprs.signature_file is any
#          because the .cmi file for Synprs.signature_file is missing.
#        But the layout of Synprs.signature_file must be a sublayout of value.
#        No .cmi file found containing Synprs.signature_file.
#        Hint: Adding "synprs" to your dependencies might help.



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build beluga 1.1.2
+- 
+- The following changes have been performed
| - install angstrom            0.16.1
| - install basement            v0.18~preview.130.31+242
| - install bigstringaf         0.10.0
| - install cmdliner            1.3.0
| - install cppo                1.8.0
| - install csexp               1.5.2
| - install dune                3.18.2
| - install dune-build-info     3.18.2
| - install dune-configurator   3.18.2
| - install extlib              1.8.0
| - install gen                 1.1
| - install linenoise           1.5.1
| - install ocaml-compiler-libs v0.17.0+jst
| - install ocaml-syntax-shims  1.0.0
| - install ocamlbuild          0.15.0+jst
| - install ocamlfind           1.9.8
| - install omd                 2.0.0~alpha4
| - install ppx_derivers        1.2.1
| - install ppxlib              0.33.0+jst
| - install ppxlib_ast          0.33.0+jst
| - install ppxlib_jane         v0.18~preview.130.31+242
| - install sedlex              3.3+jst
| - install seq                 base
| - install sexplib0            v0.18~preview.130.31+242
| - install stdlib-shims        0.3.0
| - install stringext           1.6.0
| - install topkg               1.0.8+jst
| - install uri                 4.4.0
| - install uucp                16.0.0
| - install uunf                16.0.0
| - install uutf                1.0.3+jst
+- 
# To update the current shell environment, run: eval $(opam env)

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/5.2.0+flambda2/.opam-switch/backup/state-20250513231500.export"
'opam install -vy beluga.1.1.2' failed.
"/usr/bin/env" "bash" "-c" "opam remove -y beluga.1.1.2
opam install -vy beluga.1.1.2
res=$?
if [ $res = 31 ]; then
    if opam show -f x-ci-accept-failures: beluga.1.1.2 | grep -q 'debian-unstable'; then
        echo "This package failed and has been disabled for CI using the 'x-ci-accept-failures' field."
        exit 69
    fi
fi 


exit $res" failed with exit status 31
Failed: Build failed