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


Building on clete.ocamllabs.io

(from ocaml/opam:debian-unstable@sha256:a59c08d2fe55bc0ee92a97b004206ab89a8dd5cacadd8528a0d0e9b978dcba1a)
Unable to find image 'ocaml/opam:debian-unstable@sha256:a59c08d2fe55bc0ee92a97b004206ab89a8dd5cacadd8528a0d0e9b978dcba1a' locally
docker.io/ocaml/opam@sha256:a59c08d2fe55bc0ee92a97b004206ab89a8dd5cacadd8528a0d0e9b978dcba1a: Pulling from ocaml/opam
d94e46e039c4: Pulling fs layer
d94e46e039c4: Verifying Checksum
d94e46e039c4: Download complete
d94e46e039c4: Pull complete
Digest: sha256:a59c08d2fe55bc0ee92a97b004206ab89a8dd5cacadd8528a0d0e9b978dcba1a
Status: Downloaded newer image for ocaml/opam@sha256:a59c08d2fe55bc0ee92a97b004206ab89a8dd5cacadd8528a0d0e9b978dcba1a
2022-11-02 18:34.21 ---> using "6615d3400d8dabf8928c82fbcb18e477501a38f64d3b1412a91a4e86499e265b" from cache

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

/: (env OPAMPRECISETRACKING 1)

/: (env OPAMUTF8 never)

/: (env OPAMEXTERNALSOLVER builtin-0install)

/: (env OPAMCRITERIA +removed)

/: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2022-11-02 18:34.21 ---> using "c909a0ff168e383d01aa2cb84f3e6cbc7a0c470ffe3d07946f43f83d47cc9bfa" 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 94675aaefe68e1e4a4ad959d88dd65afa3a9ed3d"))
2022-11-02 18:34.21 ---> using "5315c90a66cfce3be1f8ac668b7f4445c317bfeb4b1de04fe278a4bdf33753ae" 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.

2022-11-02 18:34.21 ---> using "f46d72ea67943cab7c832114e4ca486dbfd4f12ff8812515d1a06b3a229da8ee" from cache

/: (run (network host)
        (shell "git clone -q 'https://github.com/kit-ty-kate/opam-alpha-repository' ~/'alpha' && git -C ~/'alpha' checkout -q 076a4c8b84954fc0cb7d4b8555dd3ef526983967"))
2022-11-02 18:34.21 ---> using "d0cc4487ef08ec8933669840a0a4a09a690fc372319648cfb5be23220879fd8d" from cache

/: (run (shell "opam repository add --dont-select 'alpha' ~/'alpha'"))
[alpha] Initialised
2022-11-02 18:34.21 ---> using "18078122c14dbafc9fbe33091f99eb13e673e35ecfad480502cb289b424eef02" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell "opam switch create --repositories=alpha,default '5.0+alpha-repo' '5.0.0+trunk'"))

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

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> retrieved ocaml-variants.5.0.0+trunk  (https://github.com/ocaml/ocaml/archive/5.0.tar.gz)
-> installed ocaml-variants.5.0.0+trunk
-> installed ocaml-config.3
-> installed ocaml.5.0.0
-> installed base-domains.base
-> installed base-nnp.base
Done.
# Run eval $(opam env --switch=5.0+alpha-repo) to update the current shell environment
2022-11-02 18:34.21 ---> using "e811ccce4aef603494107dc2894ddc7dc217e1e0779c4853ea06e662027190c7" from cache

/: (run (network host)
        (shell "opam update --depexts"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian unstable InRelease [161 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-2022-11-02-0803.40-F-2022-11-01-2004.36.pdiff [67.9 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2022-11-02-0803.40-F-2022-11-01-2004.36.pdiff [67.9 kB]
- Fetched 293 kB in 3s (113 kB/s)
- Reading package lists...
- 
2022-11-02 18:34.21 ---> using "420d7c62d6115065e8e246a0f9ee37bb9cd8c1d65fd073932b60762f2b3eb596" from cache

/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
        (network host)
        (shell  "\
               \nopam remove -y \"beluga.1.0\"\
               \nopam install -vy \"beluga.1.0\"\
               \nres=$?\
               \nif [ $res = 31 ]; then\
               \n    if opam show -f x-ci-accept-failures: \"beluga.1.0\" | 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\
               \n"))
[NOTE] beluga.1.0 is not installed.

Nothing to do.
The following actions will be performed:
=== install 21 packages
  - install base-bytes          base    [required by gen]
  - install beluga              1.0
  - install cppo                1.6.9   [required by extlib]
  - install csexp               1.5.1   [required by dune-configurator]
  - install dune                3.5.0   [required by beluga]
  - install dune-build-info     3.5.0   [required by beluga]
  - install dune-configurator   3.5.0   [required by gen]
  - install extlib              1.7.9   [required by beluga]
  - install gen                 1.0     [required by beluga]
  - install linenoise           1.4.0   [required by beluga]
  - install ocaml-compiler-libs v0.12.4 [required by ppxlib]
  - install ocamlbuild          0.14.2  [required by uchar]
  - install ocamlfind           1.9.5   [required by base-bytes]
  - install ppx_derivers        1.2.1   [required by ppxlib]
  - install ppxlib              0.28.0  [required by sedlex]
  - install result              1.5     [required by linenoise]
  - install sedlex              3.0     [required by beluga]
  - install seq                 base    [required by gen]
  - install sexplib0            v0.15.1 [required by ppxlib]
  - install stdlib-shims        0.3.0   [required by ppxlib]
  - install uchar               0.0.2   [required by sedlex]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  2/61: [beluga.1.0: http]
Processing  3/61: [beluga.1.0: http]
Processing  4/61: [beluga.1.0: http]
-> retrieved csexp.1.5.1  (cached)
Processing  5/61: [beluga.1.0: http]
-> retrieved cppo.1.6.9  (cached)
Processing  6/61: [beluga.1.0: http]
-> retrieved extlib.1.7.9  (cached)
Processing  7/61: [beluga.1.0: http]
-> retrieved gen.1.0  (cached)
Processing  8/61: [beluga.1.0: http]
-> retrieved linenoise.1.4.0  (cached)
Processing  9/61: [beluga.1.0: http]
-> retrieved ocaml-compiler-libs.v0.12.4  (cached)
Processing 10/61: [beluga.1.0: http]
-> retrieved ocamlbuild.0.14.2  (cached)
Processing 11/61: [beluga.1.0: http]
Processing 12/61: [beluga.1.0: http] [ocamlbuild: make configure.make]
-> retrieved ocamlfind.1.9.5  (cached)
Processing 13/61: [beluga.1.0: http] [ocamlbuild: make configure.make]
[ocamlfind: patch] applying 0001-Fix-bug-when-installing-with-a-system-compiler.patch
Processing 14/61: [beluga.1.0: http] [ocamlbuild: make configure.make] [ocamlfind: patch]
-> retrieved ppx_derivers.1.2.1  (cached)
Processing 15/61: [beluga.1.0: http] [ocamlbuild: make configure.make] [ocamlfind: patch]
Processing 15/61: [beluga.1.0: http] [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.0+alpha-repo" "OCAMLBUILD_BINDIR=/home/opam/.opam/5.0+alpha-repo/bin" "OCAMLBUILD_LIBDIR=/home/opam/.opam/5.0+alpha-repo/lib" "OCAMLBUILD_MANDIR=/home/opam/.opam/5.0+alpha-repo/man" "OCAML_NATIVE=true" "OCAML_NATIVE_TOOLS=true" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2)
- (echo "# This file was generated from configure.make"; \
- echo ;\
- echo "OCAML_PREFIX="; \
- echo "OCAML_BINDIR=/home/opam/.opam/5.0+alpha-repo/bin"; \
- echo "OCAML_LIBDIR=/home/opam/.opam/5.0+alpha-repo/lib/ocaml"; \
- echo "OCAML_MANDIR=/home/opam/.opam/5.0+alpha-repo/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.0+alpha-repo"; \
- echo "BINDIR=/home/opam/.opam/5.0+alpha-repo/bin"; \
- echo "LIBDIR=/home/opam/.opam/5.0+alpha-repo/lib"; \
- echo "MANDIR=/home/opam/.opam/5.0+alpha-repo/man"; \
- ) > Makefile.config
- (echo "(* This file was generated from ../configure.make *)"; \
- echo ;\
- echo 'let bindir = "/home/opam/.opam/5.0+alpha-repo/bin"'; \
- echo 'let libdir = "/home/opam/.opam/5.0+alpha-repo/lib"'; \
- echo 'let ocaml_libdir = "/home/opam/.opam/5.0+alpha-repo/lib/ocaml"'; \
- echo 'let libdir_abs = "/home/opam/.opam/5.0+alpha-repo/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.14.2"'; \
- ) > src/ocamlbuild_config.ml
Processing 15/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved ppxlib.0.28.0  (cached)
Processing 16/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved result.1.5  (cached)
Processing 17/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved sedlex.3.0  (cached)
Processing 18/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 19/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 20/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> installed seq.base
Processing 21/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved sexplib0.v0.15.1  (cached)
Processing 22/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved stdlib-shims.0.3.0  (cached)
Processing 23/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
-> retrieved dune.3.5.0, dune-build-info.3.5.0, dune-configurator.3.5.0  (cached)
Processing 24/61: [beluga.1.0: http] [dune: ocaml bootstrap.ml] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
Processing 24/61: [dune: ocaml bootstrap.ml] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "./configure" "-bindir" "/home/opam/.opam/5.0+alpha-repo/bin" "-sitelib" "/home/opam/.opam/5.0+alpha-repo/lib" "-mandir" "/home/opam/.opam/5.0+alpha-repo/man" "-config" "/home/opam/.opam/5.0+alpha-repo/lib/findlib.conf" "-no-custom" "-no-camlp4" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5)
- Welcome to findlib version 1.9.5
- Configuring core...
- Checking for #remove_directory...
- Testing threading model...
- systhread_supported: true
- Testing DLLs...
- Testing whether ppxopt can be supported...
- Checking for ocamlc -opaque...
- Querying installation: META list not found
- make install will double-check installed META files
- 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: found (in +ocamldoc)
- raw_spacetime: not present (normal since 4.12)
- threads: found (in +threads)
- runtime_events: found (in +runtime_events)
- str: found (in +str)
- labltk: not present (normal since 4.02)
- native dynlink: found
- camlp4: disabled
- bytes: found, installing fake library
- Configuration for stdlib written to site-lib-src/stdlib/META
- Configuration for unix written to site-lib-src/unix/META
- Configuration for dynlink written to site-lib-src/dynlink/META
- Configuration for compiler-libs written to site-lib-src/compiler-libs/META
- Configuration for ocamldoc written to site-lib-src/ocamldoc/META
- Configuration for threads written to site-lib-src/threads/META
- Configuration for runtime_events written to site-lib-src/runtime_events/META
- Configuration for str written to site-lib-src/str/META
- 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.0+alpha-repo/lib/ocaml
-     Binaries:              /home/opam/.opam/5.0+alpha-repo/bin
-     Manual pages:          /home/opam/.opam/5.0+alpha-repo/man
-     Multi-threading type:  posix
- The directory of site-specific packages will be
-     site-lib:              /home/opam/.opam/5.0+alpha-repo/lib
- The configuration file is written to:
-     findlib config file:   /home/opam/.opam/5.0+alpha-repo/lib/findlib.conf
- Software will be installed:
-     Libraries:             in <site-lib>/findlib
-     Binaries:              /home/opam/.opam/5.0+alpha-repo/bin
-     Manual pages:          /home/opam/.opam/5.0+alpha-repo/man
-     topfind script:        /home/opam/.opam/5.0+alpha-repo/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 24/61: [dune: ocaml bootstrap.ml] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make all]
-> retrieved uchar.0.0.2  (cached)
-> retrieved beluga.1.0  (https://github.com/Beluga-lang/Beluga/archive/v1.0.tar.gz)
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "all" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5)
- for p in findlib; do ( cd src/$p; make all ) || exit; done
- make[1]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5/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.0+alpha-repo/lib/findlib.conf' | \
-          ../../tools/patch '@STDLIB@' '/home/opam/.opam/5.0+alpha-repo/lib/ocaml' | \
- 	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 findlib_config.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 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
- File "fl_package_base.ml", line 304, characters 22-40:
- 304 | 	 let pkg_ancestors = query_requirements predlist pkg in
-       	                     ^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "fl_package_base.ml", line 350, characters 18-36:
- 350 |   let ancestors = query_requirements predlist package_name in
-                         ^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "fl_package_base.ml", line 375, characters 23-41:
- 375 | 	  let pkg_ancestors = query_requirements predlist pkg in
-       	                      ^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "fl_package_base.ml", line 510, characters 16-35:
- 510 | 	     ( let c = package_definitions search_path pkg.package_name in
-       	               ^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label search_path was omitted in the application of this function.
- 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
- File "findlib.ml", line 390, characters 2-26:
- 390 |   Fl_package_base.requires predlist pkg
-         ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "findlib.ml", line 396, characters 2-33:
- 396 |   Fl_package_base.requires_deeply predlist pkglist
-         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- 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 findlib_config.cmo fl_split.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 859, characters 10-39:
- 859 |           Fl_package_base.package_users predicates1 packages1
-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- 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 126, characters 40-63:
- 126 |                      match Hashtbl.find Toploop.directive_table "ppx" with
-                                               ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 256, characters 4-27:
- 256 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 266, characters 4-27:
- 266 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 278, characters 4-27:
- 278 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 291, characters 4-27:
- 291 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 305, characters 4-27:
- 305 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 317, characters 4-27:
- 317 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- ocamlc -I +compiler-libs -a -o findlib_top.cma topfind.cmo
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat topfind_rd1.p | \
-          ../../tools/patch '@SITELIB@' '/home/opam/.opam/5.0+alpha-repo/lib' \
-     	    >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.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
- make all-config
- make[1]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
- USE_CYGPATH="0"; \
- export USE_CYGPATH; \
- cat findlib.conf.in | \
-      tools/patch '@SITELIB@' '/home/opam/.opam/5.0+alpha-repo/lib' >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[1]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
Processing 24/61: [dune: ocaml bootstrap.ml] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make opt]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "opt" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5)
- for p in findlib; do ( cd src/$p; make opt ) || exit; done
- make[1]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
- 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_split.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
- File "fl_package_base.ml", line 304, characters 22-40:
- 304 | 	 let pkg_ancestors = query_requirements predlist pkg in
-       	                     ^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "fl_package_base.ml", line 350, characters 18-36:
- 350 |   let ancestors = query_requirements predlist package_name in
-                         ^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "fl_package_base.ml", line 375, characters 23-41:
- 375 | 	  let pkg_ancestors = query_requirements predlist pkg in
-       	                      ^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "fl_package_base.ml", line 510, characters 16-35:
- 510 | 	     ( let c = package_definitions search_path pkg.package_name in
-       	               ^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label search_path was omitted in the application of this function.
- ocamlopt -I +compiler-libs -g -opaque  -I +unix -I +dynlink -c findlib.ml
- File "findlib.ml", line 390, characters 2-26:
- 390 |   Fl_package_base.requires predlist pkg
-         ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- File "findlib.ml", line 396, characters 2-33:
- 396 |   Fl_package_base.requires_deeply predlist pkglist
-         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- 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 findlib_config.cmx fl_split.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 findlib_config.cmx fl_split.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 859, characters 10-39:
- 859 |           Fl_package_base.package_users predicates1 packages1
-                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 6 [labels-omitted]: label preds was omitted in the application of this function.
- 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 126, characters 40-63:
- 126 |                      match Hashtbl.find Toploop.directive_table "ppx" with
-                                               ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 256, characters 4-27:
- 256 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 266, characters 4-27:
- 266 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 278, characters 4-27:
- 278 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 291, characters 4-27:
- 291 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 305, characters 4-27:
- 305 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- File "topfind.ml", line 317, characters 4-27:
- 317 |     Toploop.directive_table
-           ^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Toploop.directive_table
- 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.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
-> compiled  ocamlfind.1.9.5
Processing 24/61: [dune: ocaml bootstrap.ml] [ocamlbuild: make check-if-preinstalled]
Processing 25/61: [dune: ocaml bootstrap.ml] [ocamlbuild: make check-if-preinstalled] [ocamlfind: make install]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "check-if-preinstalled" "all" "opam-install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2)
- if test -d /home/opam/.opam/5.0+alpha-repo/lib/ocaml/ocamlbuild; then\
-   >&2 echo "ERROR: Preinstalled ocamlbuild detected at"\
-        "/home/opam/.opam/5.0+alpha-repo/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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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
- 251 states, 1051 transitions, table size 5710 bytes
- 4334 additional bytes used for bindings
- ocamlc.opt -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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 -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/my_std.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/exit_codes.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 +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 +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 +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c plugin-lib/ocamlbuild_executor.mli
- ocamlc.opt -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_executor.ml
- ocamlc.opt -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.mli
- ocamlc.opt -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 +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 +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 unix.cma src/ocamlbuild_pack.cmo plugin-lib/ocamlbuild_plugin.cmo plugin-lib/ocamlbuild_executor.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_executor.cmo plugin-lib/ocamlbuild_unix_plugin.cmo
- ocamlopt.opt -for-pack Ocamlbuild_pack -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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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/my_std.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/exit_codes.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 +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 +L -w +R -w +Z -I src -I plugin-lib -I bin -I +unix -safe-string -bin-annot -strict-sequence -c plugin-lib/ocamlbuild_executor.ml
- ocamlopt.opt -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 +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 unix.cmxa src/ocamlbuild_pack.cmx plugin-lib/ocamlbuild_plugin.cmx plugin-lib/ocamlbuild_executor.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_executor.cmx plugin-lib/ocamlbuild_unix_plugin.cmx
- ocamlc.opt 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.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- rm -f ocamlbuild.install
- touch ocamlbuild.install
- make install-bin-opam
- make[2]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- 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.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- make install-lib-opam
- make[2]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- echo 'lib: [' >> ocamlbuild.install
- make install-lib-basics-opam
- make[3]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- 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.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- make install-lib-byte-opam
- make[3]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- for lib in plugin-lib/ocamlbuildlib.cma bin/ocamlbuild.cmo src/ocamlbuild_pack.cmi plugin-lib/ocamlbuild_plugin.cmi plugin-lib/ocamlbuild_executor.cmi plugin-lib/ocamlbuild_unix_plugin.cmi; do \
-   echo "  \"$lib\" {\"$(basename $lib)\"}" >> ocamlbuild.install; \
- done
- make[3]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- make install-lib-native-opam
- make[3]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- 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_executor.cmx plugin-lib/ocamlbuild_unix_plugin.cmx plugin-lib/ocamlbuild_plugin.o plugin-lib/ocamlbuild_executor.o plugin-lib/ocamlbuild_unix_plugin.o; do \
-   echo "  \"$lib\" {\"$(basename $lib)\"}" >> ocamlbuild.install; \
- done
- make[3]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- echo ']' >> ocamlbuild.install
- echo >> ocamlbuild.install
- make[2]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- make install-man-opam
- make[2]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- 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.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- make install-doc-opam
- make[2]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- 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.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
- make[1]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlbuild.0.14.2'
-> compiled  ocamlbuild.0.14.2
Processing 25/61: [dune: ocaml bootstrap.ml] [ocamlfind: make install]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "install" "make" "install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5)
- if [ "1" -eq 1 ]; then \
-     for x in camlp4 dbm graphics labltk num ocamlbuild; do \
-       if [ -f "/home/opam/.opam/5.0+alpha-repo/lib/$x/META" ]; then \
-         if ! grep -Fq '[distributed with Ocaml]' "//home/opam/.opam/5.0+alpha-repo/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.0+alpha-repo/bin"
- install -d "/home/opam/.opam/5.0+alpha-repo/man"
- make install-config
- make[1]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
- install -d "`dirname \"/home/opam/.opam/5.0+alpha-repo/lib/findlib.conf\"`"
- test -f "/home/opam/.opam/5.0+alpha-repo/lib/findlib.conf" || install -c findlib.conf "/home/opam/.opam/5.0+alpha-repo/lib/findlib.conf"
- make[1]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
- for p in findlib; do ( cd src/$p; make install ); done
- make[1]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
- install -d "/home/opam/.opam/5.0+alpha-repo/lib/findlib"
- install -d "/home/opam/.opam/5.0+alpha-repo/bin"
- test 1 -eq 0 || install -d "/home/opam/.opam/5.0+alpha-repo/lib/ocaml"
- test 1 -eq 0 || install -c topfind "/home/opam/.opam/5.0+alpha-repo/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` && \
- install -c $files "/home/opam/.opam/5.0+alpha-repo/lib/findlib/"
- f="ocamlfind"; { test -f ocamlfind_opt && f="ocamlfind_opt"; }; \
- install -c $f "/home/opam/.opam/5.0+alpha-repo/bin/ocamlfind"
- # the following "if" block is only needed for 4.00beta2
- if [ 1 -eq 0 -a -f "/home/opam/.opam/5.0+alpha-repo/lib/ocaml/compiler-libs/topdirs.cmi" ]; then \
-     cd "/home/opam/.opam/5.0+alpha-repo/lib/ocaml/compiler-libs/"; \
-     install -c topdirs.cmi toploop.cmi "/home/opam/.opam/5.0+alpha-repo/lib/findlib/"; \
- fi
- make[1]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5/src/findlib'
- make install-meta
- make[1]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
- for x in bytes compiler-libs dynlink ocamldoc runtime_events stdlib str threads unix ; do install -d "/home/opam/.opam/5.0+alpha-repo/lib/$x"; install -c site-lib-src/$x/META "/home/opam/.opam/5.0+alpha-repo/lib/$x/META.tmp" && mv "/home/opam/.opam/5.0+alpha-repo/lib/$x/META.tmp" "/home/opam/.opam/5.0+alpha-repo/lib/$x/META"; done
- install -d "/home/opam/.opam/5.0+alpha-repo/lib/findlib"; install -c Makefile.packages "/home/opam/.opam/5.0+alpha-repo/lib/findlib/Makefile.packages"
- make[1]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
- 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.0+alpha-repo/bin"
- make install-doc
- make[1]: Entering directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
- install -d "/home/opam/.opam/5.0+alpha-repo/man/man1" "/home/opam/.opam/5.0+alpha-repo/man/man3" "/home/opam/.opam/5.0+alpha-repo/man/man5"
- install -c doc/ref-man/ocamlfind.1 "/home/opam/.opam/5.0+alpha-repo/man/man1"
- install -c doc/ref-man/META.5 doc/ref-man/site-lib.5 doc/ref-man/findlib.conf.5 "/home/opam/.opam/5.0+alpha-repo/man/man5"
- make[1]: Leaving directory '/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocamlfind.1.9.5'
-> installed ocamlfind.1.9.5
Processing 25/61: [dune: ocaml bootstrap.ml]
Processing 26/61: [dune: ocaml bootstrap.ml]
-> installed base-bytes.base
Processing 27/61: [dune: ocaml bootstrap.ml]
-> installed ocamlbuild.0.14.2
Processing 28/61: [dune: ocaml bootstrap.ml]
Processing 29/61: [dune: ocaml bootstrap.ml] [uchar: ocaml]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "pkg/git.ml" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/uchar.0.0.2)
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "pkg/build.ml" "native=true" "native-dynlink=true" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/uchar.0.0.2)
-> compiled  uchar.0.0.2
Processing 29/61: [dune: ocaml bootstrap.ml]
-> installed uchar.0.0.2
Processing 30/61: [dune: ocaml bootstrap.ml]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "ocaml" "bootstrap.ml" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune.3.5.0)
- 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 71
- cd _boot && /home/opam/.opam/5.0+alpha-repo/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads build_path_prefix_map.ml
- File "vendor/build_path_prefix_map/src/build_path_prefix_map.ml", line 5, characters 17-31:
- Alert deprecated: Stdlib.Printf.kprintf
- Use Printf.ksprintf instead.
- cd _boot && /home/opam/.opam/5.0+alpha-repo/bin/ocamlopt.opt -c -g -no-alias-deps -w -49-6 -alert -unstable -I +unix -I +threads opamLexer.ml
- File "vendor/opam-file-format/src/opamLexer.mll", line 21, characters 2-16:
- Alert deprecated: Stdlib.Printf.kprintf
- Use Printf.ksprintf instead.
- 

Processing 30/61: [dune: ./dune.exe build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "./dune.exe" "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune.3.5.0)
-> compiled  dune.3.5.0
-> installed dune.3.5.0
Processing 32/61: [cppo: dune build]
Processing 33/61: [cppo: dune build] [csexp: dune build]
Processing 34/61: [cppo: dune build] [csexp: dune build] [dune-build-info: rm]
Processing 35/61: [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [ocaml-compiler-libs: dune build]
Processing 36/61: [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [ocaml-compiler-libs: dune build] [ppx_derivers: dune build]
Processing 37/61: [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [ocaml-compiler-libs: dune build] [ppx_derivers: dune build] [result: dune build]
Processing 38/61: [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [ocaml-compiler-libs: dune build] [ppx_derivers: dune build] [result: dune build] [sexplib0: dune build]
Processing 39/61: [cppo: dune build] [csexp: dune build] [dune-build-info: rm] [ocaml-compiler-libs: dune build] [ppx_derivers: dune build] [result: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "csexp" "-j" "71" "@install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/csexp.1.5.1)
-> compiled  csexp.1.5.1
Processing 39/61: [cppo: dune build] [dune-build-info: rm] [ocaml-compiler-libs: dune build] [ppx_derivers: dune build] [result: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
-> installed csexp.1.5.1
Processing 40/61: [cppo: dune build] [dune-build-info: rm] [ocaml-compiler-libs: dune build] [ppx_derivers: dune build] [result: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
Processing 41/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [ocaml-compiler-libs: dune build] [ppx_derivers: dune build] [result: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/csexp" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune-build-info.3.5.0)
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppx_derivers" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ppx_derivers.1.2.1)
-> compiled  ppx_derivers.1.2.1
Processing 41/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [ocaml-compiler-libs: dune build] [result: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
-> installed ppx_derivers.1.2.1
Processing 42/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [ocaml-compiler-libs: dune build] [result: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "result" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/result.1.5)
-> compiled  result.1.5
Processing 42/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [ocaml-compiler-libs: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
-> installed result.1.5
Processing 43/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [ocaml-compiler-libs: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
Processing 44/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [linenoise: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build] [stdlib-shims: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "stdlib-shims" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/stdlib-shims.0.3.0)
-> compiled  stdlib-shims.0.3.0
Processing 44/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [linenoise: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build]
-> installed stdlib-shims.0.3.0
Processing 45/61: [cppo: dune build] [dune-build-info: rm] [dune-configurator: rm] [linenoise: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/csexp" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune-configurator.3.5.0)
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/pp" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune-build-info.3.5.0)
Processing 45/61: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: rm] [linenoise: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/pp" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune-configurator.3.5.0)
Processing 45/61: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] [sexplib0: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "sexplib0" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/sexplib0.v0.15.1)
-> compiled  sexplib0.v0.15.1
Processing 45/61: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build]
-> installed sexplib0.v0.15.1
Processing 46/61: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "cppo" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/cppo.1.6.9)
-> compiled  cppo.1.6.9
Processing 46/61: [dune-build-info: dune build] [dune-configurator: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build]
-> installed cppo.1.6.9
Processing 47/61: [dune-build-info: dune build] [dune-configurator: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build]
Processing 48/61: [dune-build-info: dune build] [dune-configurator: dune build] [extlib: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "dune-build-info" "-j" "71" "@install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune-build-info.3.5.0)
-> compiled  dune-build-info.3.5.0
Processing 48/61: [dune-configurator: dune build] [extlib: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build]
-> installed dune-build-info.3.5.0
Processing 49/61: [dune-configurator: dune build] [extlib: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "@install" "-p" "linenoise" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/linenoise.1.4.0)
- (cd _build/default/src && /usr/bin/gcc -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -D_FILE_OFFSET_BITS=64 -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -g -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml -I /home/opam/.opam/5.0+alpha-repo/lib/result -o linenoise_stubs.o -c linenoise_stubs.c)
- linenoise_stubs.c: In function 'ml_add_completion':
- linenoise_stubs.c:39:34: warning: "caml_strdup" is deprecated: use "caml_stat_strdup" instead
-    39 |                          caml_strdup(String_val(new_completion)));
-       |                                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                
- linenoise_stubs.c: In function 'hints_bridge':
- linenoise_stubs.c:60:13: warning: "caml_strdup" is deprecated: use "caml_stat_strdup" instead
-    60 |     char *msg = caml_strdup(String_val(Field(Field(cb_result, 0), 0)));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~      
- linenoise_stubs.c: In function 'ml_linenoise':
- linenoise_stubs.c:82:13: warning: "caml_strdup" is deprecated: use "caml_stat_strdup" instead
-    82 |   const char *result = linenoise(caml_strdup(String_val(prompt)));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           
- linenoise_stubs.c: In function 'ml_history_add':
- linenoise_stubs.c:98:13: warning: "caml_strdup" is deprecated: use "caml_stat_strdup" instead
-    98 |   CAMLreturn(Val_int(linenoiseHistoryAdd(caml_strdup(String_val(line)))));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
- linenoise_stubs.c: In function 'ml_history_save':
- linenoise_stubs.c:110:13: warning: "caml_strdup" is deprecated: use "caml_stat_strdup" instead
-   110 |   CAMLreturn(Val_int(linenoiseHistorySave(caml_strdup(String_val(filename)))));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- linenoise_stubs.c: In function 'ml_history_load':
- linenoise_stubs.c:116:13: warning: "caml_strdup" is deprecated: use "caml_stat_strdup" instead
-   116 |   CAMLreturn(Val_int(linenoiseHistoryLoad(caml_strdup(String_val(filename)))));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-> compiled  linenoise.1.4.0
Processing 49/61: [dune-configurator: dune build] [extlib: dune build] [ocaml-compiler-libs: dune build]
-> installed linenoise.1.4.0
Processing 50/61: [dune-configurator: dune build] [extlib: dune build] [ocaml-compiler-libs: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ocaml-compiler-libs" "-j" "71" "@install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ocaml-compiler-libs.v0.12.4)
-> compiled  ocaml-compiler-libs.v0.12.4
Processing 50/61: [dune-configurator: dune build] [extlib: dune build]
-> installed ocaml-compiler-libs.v0.12.4
Processing 51/61: [dune-configurator: dune build] [extlib: dune build]
Processing 52/61: [dune-configurator: dune build] [extlib: dune build] [ppxlib: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "extlib" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/extlib.1.7.9)
-> compiled  extlib.1.7.9
Processing 52/61: [dune-configurator: dune build] [ppxlib: dune build]
-> installed extlib.1.7.9
Processing 53/61: [dune-configurator: dune build] [ppxlib: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "dune-configurator" "-j" "71" "@install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/dune-configurator.3.5.0)
-> compiled  dune-configurator.3.5.0
Processing 53/61: [ppxlib: dune build]
-> installed dune-configurator.3.5.0
Processing 54/61: [ppxlib: dune build]
Processing 55/61: [gen: dune build] [ppxlib: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "@install" "-p" "gen" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/gen.1.0)
-> compiled  gen.1.0
Processing 55/61: [ppxlib: dune build]
-> installed gen.1.0
Processing 56/61: [ppxlib: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppxlib" "-j" "71" "@install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/ppxlib.0.28.0)
-> compiled  ppxlib.0.28.0
-> installed ppxlib.0.28.0
Processing 58/61: [sedlex: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "sedlex" "-j" "71" "@install" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/sedlex.3.0)
-> compiled  sedlex.3.0
-> installed sedlex.3.0
Processing 60/61: [beluga: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "beluga" "-j" "71" (CWD=/home/opam/.opam/5.0+alpha-repo/.opam-switch/build/beluga.1.0)
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Gensym.cmi -c -intf src/core/gensym.pp.mli)
- File "src/core/gensym.mli", line 1, characters 44-52:
- 1 | val create_symbols : string array -> string Stream.t
-                                                 ^^^^^^^^
- Error: Unbound module Stream
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__LinkStream.cmi -c -intf src/core/linkStream.pp.mli)
- File "src/core/linkStream.mli", line 41, characters 19-27:
- 41 | val of_stream : 'a Stream.t -> 'a t
-                         ^^^^^^^^
- Error: Unbound module Stream
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Error.cmx -c -impl src/core/error.pp.ml)
- File "src/core/error.ml", lines 116-122, characters 4-7:
- 116 | ....begin fun (Sys_error msg) ->
- 117 |     print
- 118 |       begin fun ppf ->
- 119 |       Format.fprintf ppf "System error: %s"
- 120 |         msg
- 121 |       end
- 122 |     end.
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- File "src/core/error.ml", lines 125-131, characters 4-7:
- 125 | ....begin fun (Violation msg) ->
- 126 |     print
- 127 |       begin fun ppf ->
- 128 |       Format.fprintf ppf "@[<v>Internal error (please report as a bug):@,@[%a@]@]"
- 129 |         Format.pp_print_string msg
- 130 |       end
- 131 |     end.
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- File "src/core/error.ml", lines 134-141, characters 4-7:
- 134 | ....begin fun (NotImplemented (loc, msg)) ->
- 135 |     print
- 136 |       begin fun ppf ->
- 137 |       Maybe.when_some loc print_location;
- 138 |       Format.fprintf ppf "@[<v>Not implemented.@,@[%a@]@]"
- 139 |         Format.pp_print_string msg
- 140 |       end
- 141 |     end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Synint.cmo -c -impl src/core/synint.pp.ml)
- File "src/core/synint.ml", lines 373-376, characters 4-42:
- 373 | ....function
- 374 |     | tS when k = 0 -> tS
- 375 |     | Nil -> Nil
- 376 |     | App (_, tS') -> drop_spine (k-1) tS'
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- SClo _
- (However, some guarded clause may match this value.)
- File "src/core/synint.ml", lines 606-609, characters 4-60:
- 606 | ....function
- 607 |     | PatNil -> PatNil
- 608 |     | PatApp (loc, p, pS) ->
- 609 |        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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Order.cmo -c -impl src/core/order.pp.ml)
- File "src/core/order.ml", lines 33-41, characters 2-24:
- 33 | ..function
- 34 |   | I.Arg x -> Some [x]
- 35 |   | I.Lex xs ->
- 36 |      let f =
- 37 |        function
- 38 |        | I.Arg x -> Some x
- 39 |        | _ -> None (* We don't support nested lexicographic orders. *)
- 40 |      in
- 41 |      Maybe.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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Showext.cmo -c -impl src/core/showext.pp.ml)
- File "src/core/showext.ml", lines 28-32, characters 4-20:
- 28 | ....function
- 29 |     | TypDecl (x, t) ->
- 30 |        fprintf ppf "TypDecl(@[<hv>%a,@ %a@])"
- 31 |          Id.print x
- 32 |          show_type t
- 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/showext.ml", lines 49-53, characters 4-23:
- 49 | ....function
- 50 |     | ClTyp (cltyp, cPsi) ->
- 51 |        fprintf ppf "ClTyp(@[<hv>%a,@ %a@])"
- 52 |          show_cltyp cltyp
- 53 |          show_dctx cPsi
- 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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__ScopeCheck.cmo -c -impl src/core/scopeCheck.pp.ml)
- File "src/core/scopeCheck.ml", lines 118-121, characters 4-7:
- 118 | ....begin fun (Error (loc, err)) ->
- 119 |     Error.print_with_location loc
- 120 |       (fun ppf -> format_error ppf err)
- 121 |     end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Apxnorm.cmo -c -impl src/core/apxnorm.pp.ml)
- File "src/core/apxnorm.ml", lines 24-35, characters 4-7:
- 24 | ....begin fun (Error (loc, err)) ->
- 25 |     Error.print_with_location loc
- 26 |       begin fun ppf ->
- 27 |       let open Format in
- 28 |       match err with
- ...
- 32 |          fprintf ppf "Indexing invariant failed: %a@."
- 33 |            f ()
- 34 |       end
- 35 |     end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- File "src/core/apxnorm.ml", lines 45-50, characters 2-33:
- 45 | ..function
- 46 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k+1) m')
- 47 |   | Apx.LF.Root (loc, h , spine) ->
- 48 |      let h' = shiftApxHead k h in
- 49 |      let spine' = shiftApxSpine k spine in
- 50 |      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 71-81, characters 2-35:
- 71 | ..function
- 72 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
- 73 |   | Apx.LF.Id -> Apx.LF.Id
- 74 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
- 75 |      let h' = shiftApxHead k h in
- ...
- 78 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
- 79 |      let m' = shiftApxTerm k m in
- 80 |      let s' = shiftApxSub k s in
- 81 |      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 127-129, characters 4-49:
- 127 | ....match (l_delta, t) with
- 128 |     | (0, t) -> t
- 129 |     | (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 135-152, characters 6-36:
- 135 | ......match Substitution.LF.applyMSub offset t with
- 136 |       | Int.LF.MV u -> Apx.LF.Offset u
- 137 |       | Int.LF.ClObj (_, clobj) ->
- 138 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
- 139 |          dprintf
- ...
- 149 |            end;
- 150 |          let t' = drop t l_delta in
- 151 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
- 152 |          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 346-365, characters 2-33:
- 346 | ..match i with
- 347 |   | Apx.Comp.Var _ -> i
- 348 |   | Apx.Comp.DataConst _ -> i
- 349 |   | Apx.Comp.Obs (loc, e, obs) ->
- 350 |      let e' = cnormApxExp cD delta e cDt in
- ...
- 362 | 
- 363 |   | Apx.Comp.BoxVal (loc, mobj) ->
- 364 |      let mobj' = cnormApxMetaObj cD delta mobj cDt in
- 365 |      Apx.Comp.BoxVal (loc, mobj')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (FVar _|Ann (_, _))
- File "src/core/apxnorm.ml", lines 398-402, characters 4-75:
- 398 | ....function
- 399 |     | Apx.LF.Empty -> cD''
- 400 |     | Apx.LF.Dec (delta2', Apx.LF.Decl(x, _, dep)) ->
- 401 |        let cD1'' = append_mctx cD'' delta2' in
- 402 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt (x, Int.LF.Depend.to_plicity dep))
- 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/apxnorm.ml", lines 431-441, characters 2-27:
- 431 | ..function
- 432 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
- 433 | 
- 434 |   | Apx.LF.Root (_, h, s) ->
- 435 |      let fMVs' = collectApxHead fMVs h in
- ...
- 438 |   | Apx.LF.Tuple (_, tuple) ->
- 439 |      collectApxTuple fMVs tuple
- 440 | 
- 441 |   | 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", lines 512-513, characters 27-22:
- 512 | ...........................(Apx.LF.TypDecl (_, a))=
- 513 |   collectApxTyp fMVs 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 540-548, characters 2-44:
- 540 | ..function
- 541 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
- 542 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
- 543 |      let fMVs' = collectApxDCtx fMVs c_psi in
- 544 |      collectApxTyp fMVs' a
- 545 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
- 546 |      let fMVs' = collectApxDCtx fMVs c_psi in
- 547 |      collectApxDCtx fMVs' c_phi
- 548 |   | 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 566-573, characters 2-31:
- 566 | ..function
- 567 |   | Apx.LF.Atom (loc, c, tS) ->
- 568 |      collectApxSpine fMVd tS
- 569 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA),_ ), tB) ->
- 570 |      let fMVd1 = collectApxTyp fMVd tA in
- 571 |      collectApxTyp fMVd1 tB
- 572 |   | Apx.LF.Sigma trec ->
- 573 |      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 583-591, characters 2-43:
- 583 | ..function
- 584 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
- 585 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 586 |      collectApxDCtx fMVd1 cPhi
- 587 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
- 588 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
- 589 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 590 |      collectApxTyp fMVd1 tA
- 591 |   | 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 594-612, characters 2-32:
- 594 | ..function
- 595 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
- 596 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
- 597 |      collectApxCompTyp fMVd1 tau2
- 598 |   | Apx.Comp.TypCross (_, tau1, tau2) ->
- ...
- 609 |      let fMVd1 = collectApxDCtx fMVd cPsi in
- 610 |      collectApxDCtx fMVd1 cPhi
- 611 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
- 612 |      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 615-626, characters 2-32:
- 615 | ..function
- 616 |   | Apx.Comp.PatMetaObj (loc, mO) ->
- 617 |      collectApxMetaObj fMVd mO
- 618 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
- 619 |      collectApxPatSpine fMVd pat_spine
- ...
- 623 |      collectApxPattern fMVs1 pat2
- 624 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
- 625 |      let fMVd1 = collectApxCompTyp fMVd tau in
- 626 |      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 881-900, characters 2-37:
- 881 | ..function
- 882 |   | Apx.Comp.Var _ as i -> i
- 883 |   | Apx.Comp.DataConst _ as i -> i
- 884 |   | Apx.Comp.Obs (loc, e, obs) ->
- 885 |      let e' = fmvApxExp fMVs cD d_param e in
- ...
- 897 |   | Apx.Comp.PairVal (loc, i1, i2) ->
- 898 |      let i1' = fmvApxExp' fMVs cD d_param i1 in
- 899 |      let i2' = fmvApxExp' fMVs cD d_param i2 in
- 900 |      Apx.Comp.PairVal (loc, i1', i2')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (FVar _|Ann (_, _))
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyext.cmo -c -impl src/core/prettyext.pp.ml)
- File "src/core/prettyext.ml", lines 74-143, characters 4-26:
-  74 | ....function
-  75 |     | LF.AtomTerm (_, n) -> fmt_ppr_lf_normal lvl ppf n
-  76 | 
-  77 |     | LF.Atom (_, a, LF.Nil) ->
-  78 |        let name = to_html (Id.render_name a) Link in
- ...
- 140 |        fprintf ppf "%s%a%s"
- 141 |          (l_paren_if cond)
- 142 |          (fmt_ppr_lf_dctx 0) cPsi
- 143 |          (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:
- PiTyp (_, TypDeclOpt _, _)
- File "src/core/prettyext.ml", lines 159-203, characters 4-39:
- 159 | ....function
- 160 |     | LF.Lam (_, x, m) ->
- 161 |        let cond = lvl > 0 in
- 162 |        fprintf ppf "%s%s%s. %a%s"
- 163 |          (l_paren_if cond)
- ...
- 200 |             else fprintf ppf "%a " (fmt_ppr_lf_normal (lvl + 1)) x
- 201 |             end;
- 202 |        fprintf ppf "%s" (r_paren_if (lvl > 0));
- 203 |     | LF.PatEmpty _ -> fprintf ppf "{}"
- 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/prettyext.ml", lines 207-240, characters 4-35:
- 207 | ....match head with
- 208 |     | LF.PVar (_,  x, s) ->
- 209 |        fprintf ppf "%s%s%a%s"
- 210 |          (l_paren_if (paren s))
- 211 |          (Id.render_name x)
- ...
- 237 |        fprintf ppf "%s.%a%a"
- 238 |          (Id.render_name x)
- 239 |          (fmt_ppr_lf_proj lvl) p
- 240 |          (fmt_ppr_lf_sub_opt lvl) s
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Proj (_, (Hole _|Proj (_, _, _)), _)
- File "src/core/prettyext.ml", lines 372-389, characters 4-27:
- 372 | ....function
- 373 |     | LF.Null ->
- 374 |        fprintf ppf ""
- 375 | 
- 376 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
- ...
- 386 | 
- 387 |     | LF.CtxVar (_, x) ->
- 388 |        fprintf ppf "%s"
- 389 |          (Id.render_name x)
- 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/prettyext.ml", lines 393-407, characters 4-33:
- 393 | ....function
- 394 |     | LF.Null -> fprintf ppf ""
- 395 | 
- 396 |     | LF.CtxVar (_, x) -> (***)
- 397 |        fprintf ppf "%s"
- ...
- 404 |     | LF.DDec (cPsi, LF.TypDecl (x, _)) ->
- 405 |        fprintf ppf "%s, %a"
- 406 |          (Id.render_name x)
- 407 |          fmt_ppr_lf_dctx_hat cPsi
- 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/prettyext.ml", lines 448-470, characters 4-26:
- 448 | ....function
- 449 |     | LF.Typ _ ->
- 450 |        fprintf ppf "%s"
- 451 |          (to_html "type" Keyword)
- 452 | 
- ...
- 467 |          (fmt_ppr_lf_typ 0) a
- 468 |          (symbol_to_html RArr)
- 469 |          (fmt_ppr_lf_kind 0) k
- 470 |          (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/prettyext.ml", lines 473-509, characters 4-51:
- 473 | ....function
- 474 |     | LF.Decl (u, (_, LF.ClTyp (LF.MTyp tA, cPsi)), _) ->
- 475 |        fprintf ppf "{%s : [%a %s %a]}"
- 476 |          (Id.render_name u)
- 477 |          (fmt_ppr_lf_dctx 0) cPsi
- ...
- 506 |     | LF.Decl (name, (_, LF.CTyp schemaName), _) ->
- 507 |        fprintf ppf "{%s : %s}"
- 508 |          (Id.render_name name)
- 509 |          (to_html (Id.render_name schemaName) Link)
- 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/prettyext.ml", lines 552-609, characters 4-26:
- 552 | ....function
- 553 |     | Comp.TypBase (_, x, mS)->
- 554 |        fprintf ppf "%s%a"
- 555 |          (to_html (Id.render_name x) Link)
- 556 |          (fmt_ppr_meta_spine 0) mS
- ...
- 606 |          (l_paren_if cond)
- 607 |          fmt_ppr_lf_ctyp_decl ctyp_decl
- 608 |          (fmt_ppr_cmp_typ 1) tau
- 609 |          (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:
- TypInd _
- File "src/core/prettyext.ml", lines 787-794, characters 9-39:
- 787 | .........function
- 788 |          | LF.Dec (LF.Empty, decl) ->
- 789 |             fprintf ppf "%a"
- 790 |               fmt_ppr_lf_ctyp_decl decl
- 791 |          | LF.Dec (cD, decl) ->
- 792 |             fprintf ppf "%a@ %a"
- 793 |               fmt_ppr_ctyp_decls' cD
- 794 |               fmt_ppr_lf_ctyp_decl 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/prettyext.ml", lines 893-896, characters 4-31:
- 893 | ....function
- 894 |     | Sgn.CompTyp (_, _, _, _) -> "inductive"
- 895 |     | Sgn.CompCotyp (_, _, _) -> "coinductive"
- 896 |     | Sgn.Typ (_, _, _) -> "LF"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Const (_, _, _)|CompConst (_, _, _)|CompDest (_, _, _, _, _)|
- CompTypAbbrev (_, _, _, _)|Schema (_, _, _)|Pragma (_, _)|
- GlobalPragma (_, _)|MRecTyp (_, _)|Theorem (_, _)|Val (_, _, _, _)|
- Query (_, _, _, _, _)|Module (_, _, _)|Comment (_, _))
- File "src/core/prettyext.ml", lines 903-907, characters 4-37:
- 903 | ....function
- 904 |     | [h] -> fmt_ppr_mrec' lvl ppf h; fprintf ppf ";@\n"
- 905 |     | h :: t -> fmt_ppr_mrec' lvl ppf h;
- 906 |               fprintf ppf "@\n%s " (to_html "and" Keyword);
- 907 |               fmt_ppr_mrecs lvl ppf t
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- []
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyint.cmo -c -impl src/core/prettyint.pp.ml)
- File "src/core/prettyint.ml", lines 66-112, characters 4-39:
-  66 | ....function
-  67 |     | LF.Atom (_, a, LF.Nil) ->
-  68 |        fprintf ppf "%s"
-  69 |          (R.render_cid_typ a)
-  70 | 
- ...
- 109 |     | LF.TClo (typ, s) ->
- 110 |        fprintf ppf "TClo(%a,@ %a)"
- 111 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
- 112 |          (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 ((TypDecl (_, _), Inductive), _)
- File "src/core/prettyint.ml", lines 252-363, characters 6-51:
- 252 | ......function
- 253 |       | LF.HClo (h, s, sigma) ->
- 254 |          fprintf ppf "%s[%a[%a]]"
- 255 |            (R.render_bvar cPsi h)
- 256 |            (fmt_ppr_lf_offset cD) s
- ...
- 360 |            (r_paren_if (paren s))
- 361 | 
- 362 |       | LF.Proj (head, k) ->
- 363 |          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 577-579, characters 7-52:
- 577 | .......match LF.(v.typ) with
- 578 |        | LF.ClTyp (_, cPsi) ->
- 579 |           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 593-602, characters 7-10:
- 593 | .......begin match !g with
- 594 |        | None ->
- 595 |           fprintf ppf "?%a[%a]"
- 596 |             Id.print LF.(v.name)
- 597 |             (fmt_ppr_lf_msub cD 0) theta
- 598 | 
- 599 |        | Some (LF.ICtx cPsi) ->
- 600 |           fprintf ppf "%a"
- 601 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
- 602 |        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 684-697, characters 4-38:
- 684 | ....function
- 685 |     | LF.Null ->
- 686 |        fprintf ppf ""
- 687 | 
- 688 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
- ...
- 694 |        fprintf ppf "%a, %s : %a"
- 695 |          (ppr_typ_decl_dctx cD) cPsi
- 696 |          (Id.render_name x)
- 697 |          (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 (_, TypDeclOpt _)
- File "src/core/prettyint.ml", lines 775-796, characters 4-26:
- 775 | ....function
- 776 |     | LF.Typ ->
- 777 |        fprintf ppf "type"
- 778 | 
- 779 |     | LF.PiKind ((LF.TypDecl (x, a), LF.Maybe), k) ->
- ...
- 793 |          (l_paren_if cond)
- 794 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
- 795 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
- 796 |          (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 ((TypDecl (_, _), Inductive), _)
- File "src/core/prettyint.ml", lines 895-907, characters 4-40:
- 895 | ....function
- 896 |     | LF.Queued id ->
- 897 |        fprintf ppf "@[QUEUED %d@]" id
- 898 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
- 899 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
- ...
- 904 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
- 905 |          id
- 906 |          (fmt_ppr_lf_head cD cPsi l0) h1
- 907 |          (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 _, (IHead _|ISub _|ICtx _))
- File "src/core/prettyint.ml", lines 945-1016, characters 4-39:
-  945 | ....function
-  946 |     | Comp.TypBase (_, c, mS)->
-  947 |        let cond = lvl > 10 in
-  948 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
-  949 |          (l_paren_if cond)
- ...
- 1013 |          fprintf ppf "@[%a@]*"
- 1014 |            (fmt_ppr_cmp_typ cD 10) tau
- 1015 |        else
- 1016 |          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 1024-1029, characters 4-48:
- 1024 | ....function
- 1025 |     | Comp.PatNil -> fprintf ppf ""
- 1026 |     | Comp.PatApp (_, pat, pat_spine) ->
- 1027 |        fprintf ppf "@[%a@]@ @[%a@]"
- 1028 |          (fmt_ppr_cmp_pattern cD cG (lvl+1)) pat
- 1029 |          (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 1033-1036, characters 6-65:
- 1033 | ......match (ms, n) with
- 1034 |       | (_, 0) -> ms
- 1035 |       | (Comp.PatNil, _) -> ms
- 1036 |       | (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 1303-1347, characters 4-26:
- 1303 | ....function
- 1304 |     | Comp.FunValue _ -> fprintf ppf " fn "
- 1305 |     | Comp.ThmValue _ -> fprintf ppf " rec "
- 1306 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
- 1307 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
- ...
- 1344 |        fprintf ppf "%s%s%a%s"
- 1345 |          (l_paren_if cond)
- 1346 |          (R.render_cid_comp_const c) print_spine pat_spine
- 1347 |          (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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Unify.cmo -c -impl src/core/unify.pp.ml)
- File "src/core/unify.ml", lines 165-197, characters 30-63:
- 165 | ..............................(Atom (_, a, _) as tP, s) =
- 166 |     dprintf
- 167 |       begin fun p ->
- 168 |       p.fmt "@[<v 6>[genMMVarstr] of type @[%a@]@,in context cPsi = @[%a@]@]"
- 169 |         (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tP, s))
- ...
- 194 |          cPsi |- s_proj : cPhi
- 195 |          cPsi |- comp  ss' s_proj   : cPhi' *)
- 196 |     let ss_proj = Substitution.LF.comp ss' s_proj in
- 197 |     Root (loc, MMVar ((u, Whnf.m_id), ss_proj), Nil, `explicit)
- 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 577-587, characters 6-9:
- 577 | ......begin match applyMSub k ms with
- 578 |       | MUndef ->
- 579 |          (* Psi1, x:tA |- s' <= Psi2 *)
- 580 |          (Whnf.mcomp mt' (MShift 1), cD2)
- 581 | 
- ...
- 584 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
- 585 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
- 586 |          (Whnf.mvar_dot1 mt', Dec (cD2, (Decl (n, Whnf.cnormMTyp (ctyp, mtt'), dep))))
- 587 |       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 568-592, characters 4-38:
- 568 | ....match (t, cD1) with
- 569 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
- 570 | 
- 571 |    | (MShift k, Dec _) ->
- 572 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
- ...
- 589 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
- 590 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
- 591 |       (* cD1 |- mt' <= cD2 *)
- 592 |       (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 _, _), Dec (_, DeclOpt (_, _)))
- File "src/core/unify.ml", lines 812-821, characters 7-10:
- 812 | .......begin match applyMSub u ms with
- 813 |        | MV v ->
- 814 |           Root
- 815 |             ( loc
- 816 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
- 817 |             , Nil
- 818 |             , plicity
- 819 |             )
- 820 |        | MUndef -> raise NotInvertible
- 821 |        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 824-832, characters 7-46:
- 824 | .......let (cD_d, Decl (_, ClTyp (_, cPsi1), _)) = Store.FCVar.get u in
- 825 |        let d = Context.length cD0 - Context.length cD_d in
- 826 |        let cPsi1 =
- 827 |          if d = 0
- 828 |          then cPsi1
- 829 |          else Whnf.cnormDCtx (cPsi1, MShift d)
- 830 |        in
- 831 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
- 832 |        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:
- (_, Decl (_, CTyp _, _))
- File "src/core/unify.ml", lines 835-843, characters 7-46:
- 835 | .......let (cD_d, Decl (_, ClTyp (_, cPsi1), _)) = Store.FCVar.get p in
- 836 |        let d = Context.length cD0 - Context.length cD_d in
- 837 |        let cPsi1 =
- 838 |          if d = 0
- 839 |          then cPsi1
- 840 |          else Whnf.cnormDCtx (cPsi1, MShift d)
- 841 |        in
- 842 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
- 843 |        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:
- (_, Decl (_, CTyp _, _))
- File "src/core/unify.ml", lines 848-852, characters 7-10:
- 848 | .......begin match applyMSub p ms with
- 849 |        | MV q ->
- 850 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
- 851 |        | MUndef -> raise NotInvertible
- 852 |        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 749-864, characters 4-62:
- 749 | ....match sM with
- 750 |     | (Lam (loc, x, tM), s) ->
- 751 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
- 752 | 
- 753 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
- ...
- 861 |          )
- 862 | 
- 863 |     | (Tuple (loc, trec), s) ->
- 864 |        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 890-893, characters 7-10:
- 890 | .......begin match bvarSub k ssubst with
- 891 |        | Undef -> raise NotInvertible
- 892 |        | Head (BVar k') -> BVar k'
- 893 |        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 896-899, characters 7-10:
- 896 | .......begin match bvarSub k ssubst with
- 897 |        | Head (BVar _ as head) -> head
- 898 |        | Undef -> raise NotInvertible
- 899 |        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 934-938, characters 7-10:
- 934 | .......begin match applyMSub u ms with
- 935 |        | MV v ->
- 936 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
- 937 |        | MUndef -> raise NotInvertible
- 938 |        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 942-946, characters 7-10:
- 942 | .......begin match applyMSub p ms with
- 943 |        | MV q ->
- 944 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
- 945 |        | MUndef -> raise NotInvertible
- 946 |        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 950-954, characters 7-10:
- 950 | .......begin match applyMSub p ms with
- 951 |        | MV q ->
- 952 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
- 953 |        | MUndef -> raise NotInvertible
- 954 |        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 888-954, characters 4-10:
- 888 | ....match head with
- 889 |     | BVar k ->
- 890 |        begin match bvarSub k ssubst with
- 891 |        | Undef -> raise NotInvertible
- 892 |        | Head (BVar k') -> BVar k'
- ...
- 951 |        | MV q ->
- 952 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
- 953 |        | MUndef -> raise NotInvertible
- 954 |        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 958-961, characters 4-46:
- 958 | ....function
- 959 |     | Undefs -> raise (Failure "Variable dependency")
- 960 |     | Shift k -> Shift (n + k)
- 961 |     | 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 983-987, characters 9-40:
- 983 | .........match applyMSub s ms with
- 984 |          | MV v ->
- 985 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
- 986 |             (v, cPhi, cPsi')
- 987 |          | 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 1026-1032, characters 7-10:
- 1026 | .......begin match applyMSub s ms with
- 1027 |        | MV v ->
- 1028 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
- 1029 |           (* applyMSub to ctx_offset ? *)
- 1030 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
- 1031 |        | MUndef -> raise NotInvertible
- 1032 |        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 1035-1036, characters 7-64:
- 1035 | .......let (_, Decl (_, ClTyp (STyp (LF.Subst, _), cPsi'), _)) = Store.FCVar.get s_name in
- 1036 |        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 (_, ClTyp (STyp (Ren, _), _), _))
- File "src/core/unify.ml", lines 1065-1071, characters 4-74:
- 1065 | ....match (mt, cD1) with
- 1066 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
- 1067 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl (_, ClTyp (STyp (_, cPhi), _), _))) ->
- 1068 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
- 1069 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
- 1070 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
- 1071 |        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 (_, _), Empty)
- File "src/core/unify.ml", lines 1074-1082, characters 4-90:
- 1074 | ....match mobj with
- 1075 |     | MV n ->
- 1076 |        begin match applyMSub n ms with
- 1077 |        | MUndef -> raise NotInvertible
- 1078 |        | ft -> ft
- 1079 |        end
- 1080 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
- 1081 |     | CObj cPsi -> raise (Error.Violation "Not implemented")
- 1082 |     | 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 1154-1156, characters 7-80:
- 1154 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
- 1155 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
- 1156 |        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 1126-1156, characters 4-80:
- 1126 | ....match sM with
- 1127 |     | (LFHole _ as n, _) -> n
- 1128 |     | (Lam (loc, x, tM), s) ->
- 1129 |        dprintf
- 1130 |          begin fun p ->
- ...
- 1153 |     | (Root (loc, head, tS, plicity), s) ->
- 1154 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
- 1155 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
- 1156 |        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 1175-1186, characters 4-9:
- 1175 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
- 1176 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
- 1177 |     then raise (Failure "Variable occurrence")
- 1178 |     else
- 1179 |       begin
- ...
- 1183 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
- 1184 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
- 1185 |         ((v, mr), r)
- 1186 |       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 1189-1201, characters 4-37:
- 1189 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
- 1190 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
- 1191 |     then raise (Failure "Variable occurrence")
- 1192 |     else
- 1193 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
- ...
- 1198 |         , Root (loc, MVar (v, idsub), Nil, `explicit)
- 1199 |         , mmvar.constraints.contents
- 1200 |         );
- 1201 |       (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 1204-1213, characters 3-10:
- 1204 | ...let (cD_d, Decl (_, ClTyp (_, cPsi1), _)) = Store.FCVar.get u in
- 1205 |    let d = Context.length cD0 - Context.length cD_d in
- 1206 |    let cPsi1 =
- 1207 |      if d = 0
- 1208 |      then cPsi1
- 1209 |      else Whnf.cnormDCtx (cPsi1, MShift d)
- 1210 |    in
- 1211 |    let t' = simplifySub cD0 cPsi t in
- 1212 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
- 1213 |    (u, s')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl (_, CTyp _, _))
- File "src/core/unify.ml", lines 1218-1221, characters 7-14:
- 1218 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
- 1219 |        let t' = simplifySub cD0 cPsi t in
- 1220 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
- 1221 |        (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 1216-1222, characters 4-63:
- 1216 | ....match applyMSub u ms with
- 1217 |     | MV v ->
- 1218 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
- 1219 |        let t' = simplifySub cD0 cPsi t in
- 1220 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
- 1221 |        (v, s')
- 1222 |     | 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 1248-1258, characters 7-10:
- 1248 | .......begin match bvarSub k ssubst with
- 1249 |        | Undef ->
- 1250 |           let s =
- 1251 |             let open Format in
- 1252 |             fprintf str_formatter "[Prune] Bound variable dependency : head = %a"
- ...
- 1255 |           in
- 1256 |           raise (Failure s)
- 1257 |        | Head (BVar _ as h') -> h'
- 1258 |        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 1225-1262, characters 4-11:
- 1225 | ....match head with
- 1226 |     | MMVar ((i, mt), t) ->
- 1227 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
- 1228 |     | MVar (Inst i, t) ->
- 1229 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
- ...
- 1259 | 
- 1260 |     | Const _
- 1261 |       | FVar _ ->
- 1262 |        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 1297-1321, characters 4-59:
- 1297 | ....match (s, cPsi1) with
- 1298 |     | (EmptySub, Null) -> EmptySub
- 1299 |     | (Undefs, Null) -> EmptySub
- 1300 |     | (Shift n, DDec _) ->
- 1301 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
- ...
- 1318 | 
- 1319 |     | (Dot _, _)
- 1320 |       | (EmptySub, _)
- 1321 |       -> raise (Error.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 1325-1327, characters 4-72:
- 1325 | ....match ft with
- 1326 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
- 1327 |     | Head h -> Head (pruneHead cD cPsi (Syntax.Loc.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 1358-1361, characters 9-59:
- 1358 | .........function
- 1359 |          | Undefs -> (EmptySub, Null)
- 1360 |          | Shift k -> (id, CtxVar psi)
- 1361 |          | 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 1374-1378, characters 9-40:
- 1374 | .........match applyMSub s mt with
- 1375 |          | MV v ->
- 1376 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
- 1377 |             cPsi'
- 1378 |          | 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 1391-1394, characters 7-18:
- 1391 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
- 1392 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
- 1393 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
- 1394 |        (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 1402-1404, characters 7-18:
- 1402 | .......let (_, Decl (_, ClTyp (STyp _, cPsi'), _)) = Store.FCVar.get s in
- 1403 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
- 1404 |        (id, cPsi1)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))
- File "src/core/unify.ml", lines 1411-1430, characters 7-10:
- 1411 | .......begin match bvarSub n ssubst with
- 1412 |        | Undef ->
- 1413 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
- 1414 |           (comp s1' shift, cPsi1')
- 1415 | 
- ...
- 1427 |           in
- 1428 |           (* cPsi1' |- s1_i <= cPsi' *)
- 1429 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
- 1430 |        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 1435-1452, characters 7-10:
- 1435 | .......begin match bvarSub n ssubst with
- 1436 |        | Undef ->
- 1437 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
- 1438 |           (comp s1' shift, cPsi1')
- 1439 | 
- ...
- 1449 |           in
- 1450 |           (* cPsi1' |- s1_i <= cPsi' *)
- 1451 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
- 1452 |        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 1347-1475, characters 4-31:
- 1347 | ....match (s, cPsi1) with
- 1348 |     | (Shift n, DDec _) ->
- 1349 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
- 1350 |     | (Shift _, Null)
- 1351 |       | (EmptySub, Null)
- ...
- 1472 | 
- 1473 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
- 1474 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
- 1475 |        (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 1478-1491, characters 4-21:
- 1478 | ....match sA with
- 1479 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
- 1480 |     | (PiTyp ((TypDecl (x, tA), dep), tB), s) ->
- 1481 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
- 1482 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
- ...
- 1488 | 
- 1489 |     | (Sigma typ_rec, s) ->
- 1490 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
- 1491 |        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 1508-1511, characters 7-10:
- 1508 | .......begin match applyMSub psi ms with
- 1509 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
- 1510 |        | MV k -> CtxVar (CtxOffset k)
- 1511 |        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 1514-1518, characters 7-10:
- 1514 | .......begin match mmvar.instantiation.contents with
- 1515 |        | None -> cPsi
- 1516 |        | Some (ICtx cPhi) ->
- 1517 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
- 1518 |        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 1505-1533, characters 4-37:
- 1505 | ....match cPsi with
- 1506 |     | Null -> Null
- 1507 |     | CtxVar (CtxOffset psi) ->
- 1508 |        begin match applyMSub psi ms with
- 1509 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
- ...
- 1530 |            (ms, Substitution.LF.id)
- 1531 |            rOccur
- 1532 |        in
- 1533 |        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 (_, TypDeclOpt _)
- File "src/core/unify.ml", lines 1578-1587, characters 7-10:
- 1578 | .......begin match bvarSub k ssubst with
- 1579 |        | Undef ->
- 1580 |           (* Psi1, x:tA |- s' <= Psi2 *)
- 1581 |           (comp s' shift, cPsi2)
- 1582 | 
- 1583 |        | Head (BVar _) ->
- 1584 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
- 1585 |                   A = [s']([s']^-1 A) *)
- 1586 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
- 1587 |        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 1594-1603, characters 7-10:
- 1594 | .......begin match bvarSub k ssubst with
- 1595 |        | Undef ->
- 1596 |           (* Psi1, x:tA |- s' <= Psi2 *)
- 1597 |           (comp s' shift, cPsi2)
- 1598 | 
- 1599 |        | Head (BVar _) ->
- 1600 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
- 1601 |                   A = [s']([s']^-1 A) *)
- 1602 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
- 1603 |        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 1555-1608, characters 4-29:
- 1555 | ....match (t, cPsi1) with
- 1556 |     | (EmptySub, Null)
- 1557 |       | (Undefs, Null)
- 1558 |       | (Shift _, Null) ->
- 1559 |        (id, Null)
- ...
- 1605 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
- 1606 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
- 1607 |        (* sP1 |- s' <= cPsi2 *)
- 1608 |        (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 1650-1655, characters 4-56:
- 1650 | ....match (sTup1, sTup2) with
- 1651 |     | ((Last tM, s1), (Last tN, s2)) ->
- 1652 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
- 1653 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
- 1654 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
- 1655 |         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 _, _), (Cons (_, _), _))
- File "src/core/unify.ml", lines 1658-1684, characters 4-9:
- 1658 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1659 |     if isId t1'
- 1660 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
- 1661 |     else
- 1662 |       begin
- ...
- 1681 |            (* This might actually need to add a constraint, in which case
- 1682 |            "NotInvertible" seems the wrong kind of exception... *)
- 1683 |            raise (Error.Violation "Unification violation")
- 1684 |       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 1698-1709, characters 9-35:
- 1698 | .........match Whnf.whnfTyp sA with
- 1699 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _), tB), s) ->
- 1700 |             (* cPsi' |- Pi x:A.B <= typ
- 1701 |                cPsi  |- s <= cPsi'
- 1702 |                cPsi  |- tN <= [s]tA
- ...
- 1706 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
- 1707 |             LF.App (tN, tS)
- 1708 | 
- 1709 |          | (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 1687-1714, characters 4-15:
- 1687 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1688 |     match sM2 with
- 1689 |     | Root (loc, Const c, _, plicity) ->
- 1690 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
- 1691 |        dprintf
- ...
- 1711 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
- 1712 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
- 1713 |        Some tM1
- 1714 |     | _ -> 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 1720-1733, characters 6-32:
- 1720 | ......match Whnf.whnfTyp sA with
- 1721 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _), tB), s) ->
- 1722 |          (* cPsi' |- Pi x:A.B <= typ
- 1723 |             cPsi  |- s <= cPsi'
- 1724 |             cPsi  |- tN <= [s]tA
- ...
- 1730 |          in
- 1731 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
- 1732 |          LF.App (tN, tS)
- 1733 |       | (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 1718-1766, characters 4-15:
- 1718 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
- 1719 |     let rec genSpine cD1 cPsi1 sA =
- 1720 |       match Whnf.whnfTyp sA with
- 1721 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _), tB), s) ->
- 1722 |          (* cPsi' |- Pi x:A.B <= typ
- ...
- 1763 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
- 1764 |        Some tM1
- 1765 | 
- 1766 |     | _ -> 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 1770-1773, characters 4-79:
- 1770 | ....match tm with
- 1771 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
- 1772 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Syntax.Loc.ghost, h) ss rOccur)
- 1773 |     | (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 _, (MTyp _|PTyp _))
- File "src/core/unify.ml", lines 1776-1800, characters 4-9:
- 1776 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
- 1777 |     if isId t1' && isMId mt1
- 1778 |     then
- 1779 |       begin
- 1780 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
- ...
- 1797 |         (* with | NotInvertible -> raise (Error.Violation "Unification violation") *)
- 1798 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
- 1799 |            the wrong kind of exception... *)
- 1800 |       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 1814-1863, characters 4-76:
- 1814 | ....let ClTyp (_, cPsi1) = mmvar.typ in
- 1815 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
- 1816 |     (* cD |- mtt1 : cD0 *)
- 1817 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
- 1818 |     dprintf
- ...
- 1860 |       p.fmt "[unifyMMVarTermProj] - done: %a"
- 1861 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
- 1862 |       end;
- 1863 |     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 1866-1898, characters 4-102:
- 1866 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
- 1867 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
- 1868 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
- 1869 |          then cD ; cPsi1 |- s' <= cPsi' *)
- 1870 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
- ...
- 1895 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
- 1896 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
- 1897 |      *)
- 1898 |     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 1914-1955, characters 7-12:
- 1914 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
- 1915 |        dprnt "(000) MVar-MVar";
- 1916 |        (* by invariant of whnf:
- 1917 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
- 1918 |           r1 and r2 are uninstantiated  (None)
- ...
- 1952 |          begin
- 1953 |            let id = next_constraint_id () in
- 1954 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
- 1955 |          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 1913-1955, characters 7-12:
- 1913 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
- 1914 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
- 1915 |        dprnt "(000) MVar-MVar";
- 1916 |        (* by invariant of whnf:
- 1917 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
- ...
- 1952 |          begin
- 1953 |            let id = next_constraint_id () in
- 1954 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
- 1955 |          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 2419-2432, characters 4-52:
- 2419 | ....match (spine1, spine2) with
- 2420 |     | ((Nil, _), (Nil, _)) -> ()
- 2421 | 
- 2422 |     | ((SClo (tS1, s1'), s1), sS) ->
- 2423 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
- ...
- 2429 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
- 2430 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
- 2431 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
- 2432 |        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 2641-2691, characters 7-61:
- 2641 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
- 2642 |        if mmvar1.instantiation == mmvar2.instantiation
- 2643 |        then
- 2644 |          if Maybe.equals Id.cid_equals schema1 schema2
- 2645 |          then
- ...
- 2688 |          Error.violation
- 2689 |            "Case where both meta-substitutions associated with \
- 2690 |             context variables are not pattern substitutions \
- 2691 |             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 _, ClTyp (_, _))
- File "src/core/unify.ml", lines 2695-2719, characters 7-61:
- 2695 | .......let CTyp s_cid = mmvar.typ in
- 2696 |        if isPatMSub theta
- 2697 |        then
- 2698 |          begin
- 2699 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
- ...
- 2716 |          Error.violation
- 2717 |            "Case where both meta-substitutions associated with \
- 2718 |             context variables are not pattern substitutions \
- 2719 |             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 2757-2758, characters 4-43:
- 2757 | ....let Decl (_, cT, _) = cdecl in
- 2758 |     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 2792-2804, characters 7-53:
- 2792 | .......let Comp.PiKind (_, cdecl, cK') = cK in
- 2793 |        let mOt = Whnf.cnormMetaObj (mO, t) in
- 2794 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
- 2795 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
- 2796 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
- ...
- 2801 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
- 2802 |          end;
- 2803 |        unifyMetaTyp cD (mT, t) (mT', t');
- 2804 |        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 2809-2812, characters 4-81:
- 2809 | ....function
- 2810 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2811 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2812 |     | (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 _, (PTyp _|STyp (_, _)))
- File "src/core/unify.ml", lines 2808-2812, characters 17-81:
- 2808 | .................Unification cD cPsi =
- 2809 |     function
- 2810 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2811 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
- 2812 |     | (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:
- Matching
- File "src/core/unify.ml", lines 2814-2822, characters 18-57:
- 2814 | ..................Unification cD ctyp1 ctyp2 =
- 2815 |     match (ctyp1, ctyp2) with
- 2816 |     | (ClTyp (tp1, cPsi1), ClTyp (tp2, cPsi2)) ->
- 2817 |        unifyDCtx1 Unification cD cPsi1 cPsi2;
- 2818 |        unifyClTyp Unification cD cPsi1 (tp1, tp2)
- 2819 |     | (CTyp schema1, CTyp schema2) ->
- 2820 |        if not (Maybe.equals Id.cid_equals schema1 schema2)
- 2821 |        then raise (Failure "CtxPi schema clash")
- 2822 |     | _ -> raise (Failure "Computation-level Type Clash")
- 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 2910-2913, characters 4-62:
- 2910 | ....match (itM1, itM2) with
- 2911 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
- 2912 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
- 2913 |     | (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 _, (IHead _|ISub _|ICtx _))
- File "src/core/unify.ml", lines 2922-2934, characters 7-10:
- 2922 | .......begin match !cnstr with
- 2923 |        | Queued id ->
- 2924 |           forceCnstr mflag (nextCnstr ())
- 2925 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
- 2926 |           solveConstraint cnstr;
- ...
- 2931 |           solveConstraint cnstr;
- 2932 |           unifyHead mflag cD cPsi h1 h2;
- 2933 |           forceCnstr mflag (nextCnstr ())
- 2934 |        end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Eqn (_, _, _, INorm _, (IHead _|ISub _|ICtx _))
- File "src/core/unify.ml", lines 2964-3001, characters 7-95:
- 2964 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
- 2965 |        solveConstraint c;
- 2966 |        dprintf
- 2967 |          begin fun p ->
- 2968 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
- ...
- 2998 |         *)
- 2999 |        if solvedCnstrs (!globalCnstrs)
- 3000 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
- 3001 |        else raise (GlobalCnstrFailure (Loc.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 3151-3153, characters 4-64:
- 3151 | ....match (m1, m2) with
- 3152 |     | (MObj tM1, MObj tM2) -> unify Empty cPsi (tM1, id) (tM2, id)
- 3153 |     | (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 _, (PObj _|SObj _))
- File "src/core/unify.ml", lines 3156-3165, characters 4-49:
- 3156 | ....match (m1, m2) with
- 3157 |     | (CObj cPsi, CObj cPhi) ->
- 3158 |        unifyDCtx1
- 3159 |          Unification
- 3160 |          Empty
- 3161 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
- 3162 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
- 3163 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
- 3164 |        (* unify_phat phat1 phat2; *)
- 3165 |        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 _, (MUndef|ClObj (_, _)|MV _))
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Total.cmo -c -impl src/core/total.pp.ml)
- File "src/core/total.ml", lines 37-51, characters 9-12:
- 37 | .........begin match (x, args) with
- 38 |          | (_, []) ->
- 39 |             Format.fprintf ppf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
- 40 |          | (Comp.M cM, (Comp.M cM' :: _)) ->
- 41 |             Format.fprintf ppf "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@"
- ...
- 48 | 
- 49 |          | (Comp.V _, _) ->
- 50 |             Format.fprintf ppf "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."
- 51 |          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 30-72, characters 4-7:
- 30 | ....begin fun (E (loc, err)) ->
- 31 |     Error.print_with_location loc
- 32 |       begin fun ppf ->
- 33 |       match err with
- 34 |       | TooManyArg ->
- ...
- 69 |          Format.fprintf ppf "The case %s is not implemented yet."
- 70 |            n
- 71 |       end
- 72 |     end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- File "src/core/total.ml", lines 144-147, characters 2-56:
- 144 | ..function
- 145 |   | LF.Empty -> LF.Empty
- 146 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
- 147 |      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 (_, CTypDeclOpt _)
- File "src/core/total.ml", lines 161-163, characters 2-40:
- 161 | ..function
- 162 |   | None -> " _ "
- 163 |   | 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 255, characters 25-43:
- 255 |        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 251-261, characters 4-41:
- 251 | ....match dec.order with
- 252 |     | `inductive (Arg x) ->
- 253 |        (dec.name, Some [x], (tau, Whnf.m_id))
- 254 |     | `inductive (Lex xs) ->
- 255 |        let xs = List.map (fun (Arg x) -> x) xs in
- ...
- 258 |     | `not_recursive
- 259 |       | `trust
- 260 |       | `partial ->
- 261 |        (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", lines 332-333, characters 19-25:
- 332 | ...................(LF.Decl (x, cU, dep)) =
- 333 |   gen_var' loc cD (x, 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 351-402, characters 2-30:
- 351 | ..function
- 352 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
- 353 |   (*  | 0, n, (Comp.TypPiBox (_, tau), theta) ->
- 354 |       let (spine, tau_r) = rec_spine cD (cM, cU) (i, k - 1, (tau, theta)) in
- 355 |       (Comp.DC :: spine, tau_r)
- ...
- 399 | 
- 400 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
- 401 |      let (spine, tau_r) = rec_spine cD (cM, cU) (n - 1, (tau2, theta)) in
- 402 |      (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 405-438, characters 2-30:
- 405 | ..function
- 406 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
- 407 |   (* i = 0, k =/= 0
- 408 |      | (n, (Comp.TypPiBox (_, tau), theta)) ->
- 409 |      let (spine, tau_r) = rec_spine' cD (x, tau) (i, k - 1, (tau, theta)) in
- ...
- 435 | 
- 436 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
- 437 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
- 438 |      (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 484-493, characters 2-31:
- 484 | ..function
- 485 |   | [] -> []
- 486 |   | Comp.M cM :: args ->
- 487 |      if uninstantiated_arg cM
- 488 |      then Comp.DC :: generalize args
- 489 |      else Comp.M cM :: generalize args
- 490 |   | Comp.V x :: args ->
- 491 |      Comp.V x:: generalize args
- 492 |   | Comp.DC :: args ->
- 493 |      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", lines 501-593, characters 2-41:
- 501 | ..match cD' with
- 502 |   | LF.Empty -> cIH
- 503 | 
- 504 |   | LF.Dec (cD', LF.Decl (u, cU, dep))
- 505 |        when not (is_inductive dep) ->
- ...
- 590 |      dprint (fun () -> "[gen_rec_calls] for j = " ^ string_of_int j ^ "\n");
- 591 |      let cIH' = mk_all (cIH, j) mf_list in
- 592 |      dprint (fun () -> "[gen_rec_calls] for j = " ^ string_of_int (j+1) ^ "\n");
- 593 |      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 (_, DeclOpt (_, _))
- File "src/core/total.ml", lines 605-671, characters 2-47:
- 605 | ..match cG0 with
- 606 |   | LF.Empty -> cIH
- 607 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
- 608 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
- 609 | 
- ...
- 668 |           mk_all cIH' mf_list
- 669 |      in
- 670 |      let cIH' = mk_all cIH mf_list in
- 671 |      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 740-748, characters 2-69:
- 740 | ..match cPsi with
- 741 |   (* cPsi |- tA *)
- 742 |   | LF.Null -> None
- 743 |   | LF.CtxVar _ -> None
- 744 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
- 745 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
- 746 |      then Some k
- 747 |      else
- 748 |        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 (_, TypDeclOpt _)
- File "src/core/total.ml", lines 850-853, characters 5-39:
- 850 | .....let LF.Root (_, tH', _, _) =
- 851 |        Whnf.norm (LF.Root (l, tH, LF.Nil, `explicit), s_proj)
- 852 |      in
- 853 |      (l, LF.ClObj (phat0, 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/total.ml", lines 862-868, characters 2-55:
- 862 | ..match args with
- 863 |   | [] -> []
- 864 |   | Comp.DC :: args -> Comp.DC :: shiftArgs args (cPsi', s_proj, cPsi)
- 865 |   | Comp.V x :: args -> Comp.V x :: shiftArgs args (cPsi', s_proj, cPsi)
- 866 |   | Comp.M cM :: args ->
- 867 |      let cM' = shiftMetaObj cM (cPsi', s_proj, cPsi) in
- 868 |      Comp.M cM' :: shiftArgs 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 1029-1050, characters 2-40:
- 1029 | ..function
- 1030 |   | Comp.TypBase (loc, c, _) ->
- 1031 |      not (Id.cid_equals a c)
- 1032 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
- 1033 |         | Sgn.Positivity -> true
- ...
- 1047 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
- 1048 |   | Comp.TypCross (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
- 1049 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
- 1050 |   | 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 1053-1073, characters 2-40:
- 1053 | ..function
- 1054 |   | Comp.TypBase (loc, c, _) ->
- 1055 |      Id.cid_equals a c
- 1056 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
- 1057 |         | Sgn.Positivity -> true
- ...
- 1070 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
- 1071 |   | Comp.TypCross (_, tau1, tau2) -> check_positive a tau1 && check_positive a tau2
- 1072 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
- 1073 |   | 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 1077-1085, characters 2-40:
- 1077 | ..function
- 1078 |   | Comp.TypBase _ -> true
- 1079 |   | Comp.TypCobase _ -> true
- 1080 |   | Comp.TypDef _ -> raise Unimplemented
- 1081 |   | Comp.TypBox _ -> true
- 1082 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
- 1083 |   | Comp.TypCross (_, tau1, tau2) -> positive a tau1 && positive a tau2
- 1084 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
- 1085 |   | 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 1205-1242, characters 2-27:
- 1205 | ..match tau1 with
- 1206 |   | Comp.TypBase (loc, c, mS1) ->
- 1207 |      if Id.cid_equals a c
- 1208 |      then
- 1209 |        begin
- ...
- 1239 |   | Comp.TypBox _
- 1240 |     | Comp.TypClo _
- 1241 |     | Comp.TypCobase _
- 1242 |     | 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 1266-1291, characters 8-48:
- 1266 | ........function
- 1267 |         | Comp.TypBase _
- 1268 |           | Comp.TypCobase _
- 1269 |           | Comp.TypBox _ -> true
- 1270 | 
- ...
- 1288 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
- 1289 | 
- 1290 |         | Comp.TypDef _
- 1291 |           | 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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfcheck.cmo -c -impl src/core/lfcheck.pp.ml)
- File "src/core/lfcheck.ml", lines 43-171, characters 4-7:
-  43 | ....begin fun (Error (loc, err)) ->
-  44 |     Error.print_with_location loc
-  45 |       begin fun ppf ->
-  46 |       match err with
-  47 |       | ParamVarInst (cD, cPsi, sA) ->
- ...
- 168 |          Format.fprintf ppf "Offending substitution: %a @."
- 169 |            (P.fmt_ppr_lf_sub cD cPsi P.l0) sub
- 170 |       end
- 171 |     end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- File "src/core/lfcheck.ml", lines 228-233, characters 2-19:
- 228 | ..function
- 229 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
- 230 |   | DDec (cPsi', TypDecl (n, tA)) ->
- 231 |      let s = (ctxToSub' cPhi cPsi' : sub) in
- 232 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Maybe in
- 233 |      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 (_, TypDeclOpt _)
- File "src/core/lfcheck.ml", lines 249-337, characters 2-8:
- 249 | ..match (sM, sA) with
- 250 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _), tB), s2)) -> (* Offset by 1 *)
- 251 |      check cD
- 252 |        (DDec (cPsi, S.LF.decSub tX s2))
- 253 |        (tM, S.LF.dot1 s1)
- ...
- 334 |        with
- 335 |        | SpineMismatch ->
- 336 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
- 337 |      end
- 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 368-377, characters 4-23:
- 368 | ....match (tS, sA) with
- 369 |     | ((Nil, _), sP) -> sP
- 370 | 
- 371 |     | ((SClo (tS, s'), s), sA) ->
- 372 |        syn (tS, S.LF.comp s' s) sA
- 373 | 
- 374 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _), tB2), s2)) ->
- 375 |        check cD cPsi (tM, s1) (tA1, s2);
- 376 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
- 377 |        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 (_, _), _), (PiTyp ((TypDeclOpt _, _), _), _))
- File "src/core/lfcheck.ml", lines 353-384, characters 16-23:
- 353 | ................(Root (loc, h, tS, _), s (* id *)) =
- 354 |   let rec spineLength =
- 355 |     function
- 356 |     | Nil -> 0
- 357 |     | SClo (tS, _) -> spineLength tS
- ...
- 381 |   (* Check first that we didn't supply too many arguments. *)
- 382 |   if typLength sA' < spineLength tS
- 383 |   then raise (Error (loc, SpineIllTyped (typLength sA', spineLength tS)));
- 384 |   syn (tS, s) (sA', s')
- 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 400-401, characters 5-7:
- 400 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
- 401 |      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 407-416, characters 10-25:
- 407 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
- 408 |           dprintf
- 409 |             begin fun p ->
- 410 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
- 411 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
- 412 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
- 413 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
- 414 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
- 415 |             end;
- 416 |           (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 418-420, characters 10-19:
- 418 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
- 419 |           checkSub loc cD cPsi s Subst cPsi';
- 420 |           (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 405-421, characters 7-64:
- 405 | .......match tuple_head with
- 406 |        | BVar k' ->
- 407 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
- 408 |           dprintf
- 409 |             begin fun p ->
- ...
- 418 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
- 419 |           checkSub loc cD cPsi s Subst cPsi';
- 420 |           (recA, s)
- 421 |        | 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 453-464, characters 5-17:
- 453 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
- 454 |      dprintf
- 455 |        begin fun p ->
- 456 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
- 457 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
- ...
- 461 |          f cPsi'
- 462 |        end;
- 463 |      checkSub loc cD cPsi s Subst cPsi' ;
- 464 |      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 468-481, characters 5-37:
- 468 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
- 469 |      dprintf
- 470 |        begin fun p ->
- 471 |        let f = P.fmt_ppr_lf_mctx P.l0 in
- 472 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
- ...
- 478 |      checkMSub loc cD t' mmvar.cD;
- 479 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
- 480 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
- 481 |      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 398-513, characters 2-41:
- 398 | ..match (head, cl) with
- 399 |   | (BVar k', _) ->
- 400 |      let TypDecl (_, tA) = ctxDec cPsi k' in
- 401 |      tA
- 402 | 
- ...
- 510 |      TClo (tA, s)
- 511 | 
- 512 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
- 513 |      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 516-535, characters 2-13:
- 516 | ..match cPsi with
- 517 |   | Null -> true (* we need to succeed because coverage should detect that
- 518 |                       it is not inhabited *)
- 519 | 
- 520 |   | CtxVar ctx_var ->
- ...
- 532 | 
- 533 |   | DDec (rest, TypDecl _) ->
- 534 |      canAppear cD rest head sA loc
- 535 |      || false...........................................
- 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/lfcheck.ml", lines 650-662, characters 2-23:
- 650 | ..match sS1, sK with
- 651 |   | (Nil, _), sK ->
- 652 |     sK
- 653 | 
- 654 |   | (SClo (tS, s'), s), sK ->
- ...
- 659 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
- 660 | 
- 661 |   | (App _, _), (Typ, _) ->
- 662 |     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 671-688, characters 2-47:
- 671 | ..match tA with
- 672 |   | Atom (loc, a, tS) ->
- 673 |      let tK = (Typ.get a).Typ.Entry.kind in
- 674 |      begin
- 675 |        try
- ...
- 685 |      checkTyp cD cPsi (tA, s);
- 686 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
- 687 | 
- 688 |   | 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 717-721, characters 2-53:
- 717 | ..function
- 718 |   | Typ -> ()
- 719 |   | PiKind ((TypDecl (x, tA), _), kind) ->
- 720 |      checkTyp cD cPsi (tA, S.LF.id);
- 721 |      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 731-732, characters 2-47:
- 731 | ..match decl with
- 732 |   | 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 741-761, characters 2-7:
- 741 | ..match cPsi with
- 742 |   | Null -> ()
- 743 |   | DDec (cPsi, tX) ->
- 744 |      checkDCtx cD cPsi;
- 745 |      checkDec cD cPsi (tX, S.LF.id)
- ...
- 758 |          (P.fmt_ppr_lf_mctx P.l0) cD
- 759 |        end;
- 760 |      ignore (Whnf.mctxLookup cD k);
- 761 |      ()
- 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 957-958, characters 5-47:
- 957 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
- 958 |      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 1014-1022, characters 2-57:
- 1014 | ..match (sArec, sBrec) with
- 1015 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
- 1016 |      None
- 1017 | 
- 1018 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
- 1019 |      Some (recA, s)
- 1020 | 
- 1021 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
- 1022 |      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 1070-1096, characters 2-71:
- 1070 | ..match (cM, cTt) with
- 1071 |   | (CObj cPsi, (CTyp (Some w), _)) ->
- 1072 |      let { Schema.Entry.name; schema; decl = _ } = Schema.get w in
- 1073 |      checkSchema loc cD cPsi name schema
- 1074 | 
- ...
- 1093 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
- 1094 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
- 1095 |      if not (Whnf.convMTyp mtyp1 mtyp2)
- 1096 |      then raise (Error.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 _, (CTyp None, _))
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfrecon.cmo -c -impl src/core/lfrecon.pp.ml)
- File "src/core/lfrecon.ml", lines 240-249, characters 4-7:
- 240 | ....begin fun (Error (loc, err, hints)) ->
- 241 |     Error.print_with_location loc
- 242 |       begin fun ppf ->
- 243 |       fprintf ppf "@[<v>%a%a@]"
- 244 |         print_error err
- 245 |         (pp_print_list ~pp_sep: (fun _ _ -> ())
- 246 |            (fun ppf x -> fprintf ppf "@,  - %a" print_hint x))
- 247 |         hints
- 248 |       end
- 249 |     end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- *extension*
- Matching over values of extensible variant types (the *extension* above)
- must include a wild card pattern in order to be exhaustive.
- File "src/core/lfrecon.ml", lines 257-266, characters 2-29:
- 257 | ..function
- 258 |   | Apx.LF.BVar _ -> "BVar"
- 259 |   | Apx.LF.Const _ -> "Const"
- 260 |   | Apx.LF.MVar _ -> "MVar"
- 261 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
- 262 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
- 263 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
- 264 |   | Apx.LF.FVar _ -> "FVar"
- 265 |   | Apx.LF.FMVar _ -> "FMVar"
- 266 |   | 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 279-280, characters 5-19:
- 279 | .....let (None, d) = Context.dctxToHat cPsi in
- 280 |      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 315-328, characters 8-75:
- 315 | ........let CTyp s_cid = mmvar1.typ in
- 316 |         if d = d'
- 317 |         then
- 318 |           begin
- 319 |             begin match c_var with
- ...
- 325 |             true
- 326 |           end
- 327 |         else
- 328 |           Error.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 353-354, characters 9-32:
- 353 | .........let (_, Int.LF.Decl (_, Int.LF.CTyp (Some s_cid), _dep)) = FCVar.get n in
- 354 |          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 (_, CTyp None, _))
- File "src/core/lfrecon.ml", lines 347-361, characters 2-94:
- 347 | ..match ctxvar with
- 348 |   | Some (Int.LF.CtxOffset _ as phi) ->
- 349 |      Schema.get_schema (Context.lookupCtxVarSchema cD phi)
- 350 |   | Some (Int.LF.CtxName n) ->
- 351 |      begin
- ...
- 358 | 
- 359 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
- 360 |      Schema.get_schema s_cid
- 361 |   | None -> raise (Error.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 367-371, characters 2-44:
- 367 | ..function
- 368 |   | Int.LF.Atom _ -> m
- 369 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _), tA) ->
- 370 |      dprint (fun () -> "eta FMV - add Lam ");
- 371 |      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 380-384, characters 4-62:
- 380 | ....function
- 381 |     | Int.LF.Atom _ -> (k, s)
- 382 |     | Int.LF.PiTyp (_, tA) ->
- 383 |        let (k', s') = go (k+1) s tA in
- 384 |        (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 386-390, characters 2-18:
- 386 | ..match tA, s with
- 387 |   | Int.LF.Atom _, _ -> (k, s)
- 388 |   | Int.LF.PiTyp _, None ->
- 389 |      let (k', s') = go k Apx.LF.Id tA in
- 390 |      (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", lines 394-396, characters 20-71:
- 394 | ....................(Apx.LF.MVar (x, s)) tA =
- 395 |   let (_, s') = etaExpSub 0 s tA in
- 396 |   addPrefix loc (Apx.LF.Root (loc, Apx.LF.MVar (x, s'), Apx.LF.Nil)) 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 401-405, characters 4-50:
- 401 | ....function
- 402 |     | Int.LF.Atom _ -> (k, tS)
- 403 |     | Int.LF.PiTyp (_, tA') ->
- 404 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, `explicit) in
- 405 |        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 409-412, characters 4-54:
- 409 | ....match tA with
- 410 |     | Int.LF.Atom _ -> tM
- 411 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _), tA') ->
- 412 |        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 417-419, characters 4-24:
- 417 | ....match h with
- 418 |     | Int.LF.BVar x -> Int.LF.BVar (x+k-1)
- 419 |     | 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 452-456, characters 4-53:
- 452 | ....function
- 453 |     | Int.LF.Atom _ -> (k, tS)
- 454 |     | Int.LF.PiTyp (_, tA') ->
- 455 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
- 456 |        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 459-463, characters 4-57:
- 459 | ....match tA with
- 460 |     | Int.LF.Atom _ -> tM
- 461 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _), tA') ->
- 462 |        dprint (fun () -> "eta - add Lam ");
- 463 |        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 608-609, characters 2-33:
- 608 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
- 609 |   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 612-625, characters 2-19:
- 612 | ..match h with
- 613 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
- 614 | 
- 615 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
- 616 |      let tp =
- ...
- 622 |      let j = getProjIndexFromType loc cD cPsi tp p in
- 623 |      dprint (fun () -> "flattenProjPat Proj Case: k = " ^ string_of_int k ^ "    j = " ^ string_of_int j ^ "\n");
- 624 |      let k' = ConvSigma.map conv_list k - j + 1 in
- 625 |      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 632-638, characters 7-41:
- 632 | .......function
- 633 |        | Apx.LF.Id -> Apx.LF.Id
- 634 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
- 635 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
- 636 |           let s' = go s in
- 637 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
- 638 |           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 674-686, characters 2-38:
- 674 | ..match s with
- 675 |   | Apx.LF.Id -> s
- 676 | 
- 677 |   | Apx.LF.EmptySub -> s
- 678 | 
- ...
- 683 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
- 684 | 
- 685 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
- 686 |      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 692-693, characters 2-77:
- 692 | ..function
- 693 |   | 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 _, App (_, _))
- File "src/core/lfrecon.ml", lines 822-824, characters 5-60:
- 822 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
- 823 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j 1 in
- 824 |      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 (_, (Atom (_, (_, _), _)|PiTyp ((_, _), _)|TClo (_, _)))
- File "src/core/lfrecon.ml", lines 817-824, characters 2-60:
- 817 | ..function
- 818 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
- 819 |   | Apx.LF.Proj (h, nj) ->
- 820 |      let (tp, h') = synHead cD loc cPsi h in
- 821 |      let j = getProjIndexFromType loc cD cPsi tp nj in
- 822 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
- 823 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j 1 in
- 824 |      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 847-856, characters 5-8:
- 847 | .....begin match synHead cD loc cPsi h with
- 848 |      | (Int.LF.TypDecl (x, tA), h') ->
- 849 |         let tA' =
- 850 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
- 851 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
- 852 |         in
- 853 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
- 854 |         , Int.LF.Dot (Int.LF.Head h', s')
- 855 |         )
- 856 |      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 877-879, characters 7-37:
- 877 | .......match dep with
- 878 |        | Apx.LF.No -> Int.LF.No
- 879 |        | Apx.LF.Maybe -> Int.LF.Maybe
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Inductive
- File "src/core/lfrecon.ml", lines 873-884, characters 2-55:
- 873 | ..function
- 874 |   | Apx.LF.Typ -> Int.LF.Typ
- 875 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), dep), k) ->
- 876 |      let dep' =
- 877 |        match dep with
- ...
- 881 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
- 882 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
- 883 |      let tK = elKind cD cPsi' k in
- 884 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), dep'), 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 914-916, characters 7-37:
- 914 | .......match dep with
- 915 |        | Apx.LF.No -> Int.LF.No
- 916 |        | Apx.LF.Maybe -> Int.LF.Maybe
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Inductive
- File "src/core/lfrecon.ml", lines 903-925, characters 2-25:
- 903 | ..function
- 904 |   | Apx.LF.Atom (loc, a, s) ->
- 905 |      let tK = (Typ.get a).Typ.Entry.kind in
- 906 |      let i = (Typ.get a).Typ.Entry.implicit_arguments in
- 907 |      let s' = mkShift recT cPsi 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 1082-1092, characters 9-12:
- 1082 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 1083 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
- 1084 |          begin
- 1085 |            try
- 1086 |              Unify.unifyTyp cD cPsi sQ sP;
- ...
- 1089 |            | Unify.Failure msg ->
- 1090 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1091 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1092 |          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 1103-1120, characters 12-15:
- 1103 | ............let Int.LF.Type tA = FVar.get x in
- 1104 |             (* For type reconstruction to succeed, we must have
- 1105 |              *
- 1106 |              *  . |- tA <= type
- 1107 |              *  This will be enforced during abstraction
- ...
- 1117 |                  throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1118 |               | _ ->
- 1119 |                  throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1120 |             end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- TypVar (TInst (_, _, _, _))
- File "src/core/lfrecon.ml", lines 1214-1281, characters 9-12:
- 1214 | .........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi), _)) = FCVar.get u in
- 1215 |          dprintf
- 1216 |            begin fun p ->
- 1217 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
- 1218 |              Id.print u
- ...
- 1278 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
- 1279 |            |_ ->
- 1280 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
- 1281 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))
- File "src/core/lfrecon.ml", lines 1462-1486, characters 9-12:
- 1462 | .........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi), _)) = FCVar.get p in
- 1463 |          let d = Context.length cD - Context.length cD_d in
- 1464 |          let (tA, cPhi) =
- 1465 |            if d = 0
- 1466 |            then (tA, cPhi)
- ...
- 1483 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
- 1484 |            | _ ->
- 1485 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
- 1486 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))
- File "src/core/lfrecon.ml", lines 1550-1586, characters 9-12:
- 1550 | .........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi), _)) =
- 1551 |            FCVar.get p
- 1552 |          in
- 1553 |          let d = Context.length cD - Context.length cD_d in
- 1554 |          let (tA, cPhi) =
- ...
- 1583 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1584 |            | _ ->
- 1585 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1586 |          end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_,
- Decl
-   (_, ClTyp (PTyp (Atom (_, (_, _), _)|PiTyp ((_, _), _)|TClo (_, _)), _), _))
- File "src/core/lfrecon.ml", lines 1787-1792, characters 10-13:
- 1787 | ..........begin match S.LF.bvarSub k s'' with
- 1788 |           | Int.LF.Head (Int.LF.BVar j) ->
- 1789 |              Int.LF.Root (loc, Int.LF.BVar j, tS, `explicit)
- 1790 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
- 1791 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, `explicit)
- 1792 |           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 1785-1796, characters 7-10:
- 1785 | .......begin match h with
- 1786 |        | Int.LF.BVar k ->
- 1787 |           begin match S.LF.bvarSub k s'' with
- 1788 |           | Int.LF.Head (Int.LF.BVar j) ->
- 1789 |              Int.LF.Root (loc, Int.LF.BVar j, tS, `explicit)
- ...
- 1793 |        | Int.LF.PVar (p, r) ->
- 1794 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, `explicit)
- 1795 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
- 1796 |        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 1836-1858, characters 5-8:
- 1836 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
- 1837 |        try
- 1838 |          Context.ctxSigmaDec cPsi x
- 1839 |        with
- 1840 |        | _ ->
- ...
- 1855 |        with
- 1856 |        | Unify.Failure msg ->
- 1857 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
- 1858 |      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 1861-1889, characters 5-8:
- 1861 | .....begin
- 1862 |        match Whnf.mctxPDec cD p with
- 1863 |        | (_, Int.LF.Sigma recA, cPsi') ->
- 1864 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
- 1865 |           let k = getProjIndex loc cD cPsi recA proj in
- ...
- 1886 |           end
- 1887 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
- 1888 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
- 1889 |      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 1920-1930, characters 12-15:
- 1920 | ............begin match S.LF.bvarSub y s'' with
- 1921 |             | Int.LF.Head (Int.LF.BVar x) ->
- 1922 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, `explicit)
- 1923 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
- 1924 |                Int.LF.Root
- ...
- 1927 |                  , tS
- 1928 |                  , `explicit
- 1929 |                  )
- 1930 |             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 1918-1938, characters 9-12:
- 1918 | .........begin match h with
- 1919 |          | Int.LF.BVar y ->
- 1920 |             begin match S.LF.bvarSub y s'' with
- 1921 |             | Int.LF.Head (Int.LF.BVar x) ->
- 1922 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, `explicit)
- ...
- 1935 |               , tS
- 1936 |               , `explicit
- 1937 |               )
- 1938 |          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-1959, 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 (loc, m_name) ->
- ...
- 1956 | 
- 1957 |   | Apx.LF.Root (loc, h, _) ->
- 1958 |      dprint (fun () -> "[elTerm' **] h = " ^ what_head h ^ "\n");
- 1959 |      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 2082-2084, characters 5-58:
- 2082 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 2083 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
- 2084 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, `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 2139-2149, characters 5-75:
- 2139 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
- 2140 |      let k = getProjIndex loc cD cPsi recA proj in
- 2141 |      let sA =
- 2142 |        try
- 2143 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k 1
- ...
- 2146 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
- 2147 |      in
- 2148 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
- 2149 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, `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 2256-2290, characters 11-14:
- 2256 | ...........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0), dep)) =
- 2257 |              FCVar.get s_name
- 2258 |            in
- 2259 |            svar_le (cl0, cl);
- 2260 |            let d = Context.length cD - Context.length cD_d in
- ...
- 2287 |              with
- 2288 |              | Unify.Failure msg ->
- 2289 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
- 2290 |            end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))
- File "src/core/lfrecon.ml", lines 2493-2495, characters 9-40:
- 2493 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
- 2494 |          dprint (fun () -> "[elHead] done");
- 2495 |          (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 2553-2555, characters 9-59:
- 2553 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
- 2554 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
- 2555 |          (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:
- (_, ClTyp ((PTyp _|STyp (_, _)), _))
- File "src/core/lfrecon.ml", lines 2562-2564, characters 5-41:
- 2562 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
- 2563 |      let s' = elSub loc recT cD cPsi s cl cPhi in
- 2564 |      (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:
- (_, ClTyp ((MTyp _|STyp (_, _)), _))
- File "src/core/lfrecon.ml", lines 2622-2653, characters 4-36:
- 2622 | ....match (sA, recT) with
- 2623 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _), tB), s), Pi) ->
- 2624 |        (* cPsi' |- tA <= typ
- 2625 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
- 2626 |         *
- ...
- 2650 |        in
- 2651 | 
- 2652 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
- 2653 |        (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 2684-2687, characters 4-25:
- 2684 | ....function
- 2685 |     | Int.LF.Atom _ -> 0
- 2686 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
- 2687 |     | 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 2704-2711, characters 4-32:
- 2704 | ....match (spine, Whnf.whnfTyp sA) with
- 2705 |     | (Apx.LF.Nil, sP) ->
- 2706 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
- 2707 | 
- 2708 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _), tB), s)) ->
- 2709 |        let tM = elTerm recT cD cPsi m (tA, s) in
- 2710 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
- 2711 |        (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 (_, _), (PiTyp ((TypDeclOpt _, _), _), _))
- File "src/core/lfrecon.ml", lines 2720-2739, characters 4-30:
- 2720 | ....match (sK, recT) with
- 2721 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _), tK), s), Pi) ->
- 2722 |        (* let sshift = mkShift recT cPsi in *)
- 2723 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
- 2724 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Int.LF.Maybe in
- ...
- 2736 |            Whnf.etaExpandMMV Syntax.Loc.ghost cD cPsi (tA, s) n S.LF.id Int.LF.Maybe
- 2737 |        in
- 2738 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
- 2739 |        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 2813-2841, characters 5-32:
- 2813 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
- 2814 |      (* cPsi |- tA : type
- 2815 |       * cPsi |- s' : cPsi'
- 2816 |       *)
- 2817 |      let ss = S.LF.invert s' in
- ...
- 2838 |      in
- 2839 | 
- 2840 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
- 2841 |      (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 2803-2841, characters 2-32:
- 2803 | ..match (spine, sP) with
- 2804 |   | (Apx.LF.Nil, _) ->
- 2805 |      let ss = S.LF.invert s' in
- 2806 |      let tQ = pruningTyp Syntax.Loc.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
- 2807 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
- ...
- 2838 |      in
- 2839 | 
- 2840 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
- 2841 |      (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 (_, BVar _, App (_, _)), _), _)
- File "src/core/lfrecon.ml", lines 2912-2975, characters 5-8:
- 2912 | .....begin match instantiation.contents with
- 2913 |      | None ->
- 2914 |         begin
- 2915 |           try
- 2916 |             begin match FVar.get x with
- ...
- 2972 |           | _ ->
- 2973 |              throw loc (UnboundName x)
- 2974 |         end
- 2975 |      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 2908-2975, characters 2-8:
- 2908 | ..function
- 2909 |   | [] -> ()
- 2910 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
- 2911 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
- 2912 |      begin match instantiation.contents with
- ...
- 2972 |           | _ ->
- 2973 |              throw loc (UnboundName x)
- 2974 |         end
- 2975 |      end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Root (_, FVar _, _), Inst {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::_
- File "src/core/lfrecon.ml", lines 2997-3002, characters 7-92:
- 2997 | .......let (cD_d, Int.LF.(Decl (_, ClTyp (MTyp _tP, cPhi), _))) =
- 2998 |          lookup_fcvar loc u
- 2999 |        in
- 3000 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3001 |        let s'' = elSub loc cPsi s cPhi in
- 3002 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, `explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))
- File "src/core/lfrecon.ml", lines 3004-3010, characters 7-91:
- 3004 | .......let (cD_d, Int.LF.(Decl (_, ClTyp (PTyp tA, cPhi), _))) =
- 3005 |          lookup_fcvar loc x
- 3006 |        in
- 3007 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3008 |        let s'' = elSub loc cPsi s cPhi in
- 3009 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
- 3010 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, `explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))
- File "src/core/lfrecon.ml", lines 2994-3010, characters 4-91:
- 2994 | ....match tM, Int.LF.(v.typ) with
- 2995 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
- 2996 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
- 2997 |        let (cD_d, Int.LF.(Decl (_, ClTyp (MTyp _tP, cPhi), _))) =
- 2998 |          lookup_fcvar loc u
- ...
- 3007 |        let cPhi = weakenAppropriately cD_d cPhi in
- 3008 |        let s'' = elSub loc cPsi s cPhi in
- 3009 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
- 3010 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, `explicit))))
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (Root (_, FMVar (_, _), _), ClTyp ((PTyp _|STyp (_, _)), _))
- (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Interactive.cmo -c -impl src/core/interactive.pp.ml)
- File "src/core/interactive.ml", lines 271-286, characters 10-26:
- 271 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
- 272 |           (* let _ = Printf.printf "\n[Generated CovGoal] %s\n %s\n"
- 273 |             (P.mctxToString cDg') (Cover.covGoalToString cDg' cg); Format.flush_str_formatter () in  *)
- 274 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
- 275 |           let k = List.length cD_tail in
- ...
- 283 |           in
- 284 |           (*        let _ = Printf.printf "\n[Generated CovGoal – shifted] k = %s\n cD'' = %s\n %s\n"
- 285 |                    (string_of_int k) (P.mctxToString cD'') (Cover.covGoalToString cD'' cg'); Format.flush_str_formatter () in *)
- 286 |           (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", lines 252-287, characters 18-13:
- 252 | ..................(LF.Decl (n, mtyp, dep)) cD_tail =
- 253 |   match mtyp with
- 254 |   | LF.CTyp _ ->
- 255 |      Cover.genContextGoals cD' (n, mtyp, dep)
- 256 |      |> List.map
- ...
- 284 |           (*        let _ = Printf.printf "\n[Generated CovGoal – shifted] k = %s\n cD'' = %s\n %s\n"
- 285 |                    (string_of_int k) (P.mctxToString cD'') (Cover.covGoalToString cD'' cg'); Format.flush_str_formatter () in *)
- 286 |           (cD'', cg', ms0)
- 287 |           end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- DeclOpt (_, _)
[ERROR] The compilation of beluga.1.0 failed at "dune build -p beluga -j 71".

#=== ERROR while compiling beluga.1.0 =========================================#
# context              2.2.0~alpha~dev | linux/x86_64 | ocaml-variants.5.0.0+trunk | file:///home/opam/opam-repository
# path                 ~/.opam/5.0+alpha-repo/.opam-switch/build/beluga.1.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p beluga -j 71
# exit-code            1
# env-file             ~/.opam/log/beluga-8-d9f969.env
# output-file          ~/.opam/log/beluga-8-d9f969.out
### output ###
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Gensym.cmi -c -intf src/core/gensym.pp.mli)
# File "src/core/gensym.mli", line 1, characters 44-52:
# 1 | val create_symbols : string array -> string Stream.t
#                                                 ^^^^^^^^
# Error: Unbound module Stream
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__LinkStream.cmi -c -intf src/core/linkStream.pp.mli)
# File "src/core/linkStream.mli", line 41, characters 19-27:
# 41 | val of_stream : 'a Stream.t -> 'a t
#                         ^^^^^^^^
# Error: Unbound module Stream
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Error.cmx -c -impl src/core/error.pp.ml)
# File "src/core/error.ml", lines 116-122, characters 4-7:
# 116 | ....begin fun (Sys_error msg) ->
# 117 |     print
# 118 |       begin fun ppf ->
# 119 |       Format.fprintf ppf "System error: %s"
# 120 |         msg
# 121 |       end
# 122 |     end.
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# File "src/core/error.ml", lines 125-131, characters 4-7:
# 125 | ....begin fun (Violation msg) ->
# 126 |     print
# 127 |       begin fun ppf ->
# 128 |       Format.fprintf ppf "@[<v>Internal error (please report as a bug):@,@[%a@]@]"
# 129 |         Format.pp_print_string msg
# 130 |       end
# 131 |     end.
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# File "src/core/error.ml", lines 134-141, characters 4-7:
# 134 | ....begin fun (NotImplemented (loc, msg)) ->
# 135 |     print
# 136 |       begin fun ppf ->
# 137 |       Maybe.when_some loc print_location;
# 138 |       Format.fprintf ppf "@[<v>Not implemented.@,@[%a@]@]"
# 139 |         Format.pp_print_string msg
# 140 |       end
# 141 |     end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Synint.cmo -c -impl src/core/synint.pp.ml)
# File "src/core/synint.ml", lines 373-376, characters 4-42:
# 373 | ....function
# 374 |     | tS when k = 0 -> tS
# 375 |     | Nil -> Nil
# 376 |     | App (_, tS') -> drop_spine (k-1) tS'
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# SClo _
# (However, some guarded clause may match this value.)
# File "src/core/synint.ml", lines 606-609, characters 4-60:
# 606 | ....function
# 607 |     | PatNil -> PatNil
# 608 |     | PatApp (loc, p, pS) ->
# 609 |        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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Order.cmo -c -impl src/core/order.pp.ml)
# File "src/core/order.ml", lines 33-41, characters 2-24:
# 33 | ..function
# 34 |   | I.Arg x -> Some [x]
# 35 |   | I.Lex xs ->
# 36 |      let f =
# 37 |        function
# 38 |        | I.Arg x -> Some x
# 39 |        | _ -> None (* We don't support nested lexicographic orders. *)
# 40 |      in
# 41 |      Maybe.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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Showext.cmo -c -impl src/core/showext.pp.ml)
# File "src/core/showext.ml", lines 28-32, characters 4-20:
# 28 | ....function
# 29 |     | TypDecl (x, t) ->
# 30 |        fprintf ppf "TypDecl(@[<hv>%a,@ %a@])"
# 31 |          Id.print x
# 32 |          show_type t
# 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/showext.ml", lines 49-53, characters 4-23:
# 49 | ....function
# 50 |     | ClTyp (cltyp, cPsi) ->
# 51 |        fprintf ppf "ClTyp(@[<hv>%a,@ %a@])"
# 52 |          show_cltyp cltyp
# 53 |          show_dctx cPsi
# 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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__ScopeCheck.cmo -c -impl src/core/scopeCheck.pp.ml)
# File "src/core/scopeCheck.ml", lines 118-121, characters 4-7:
# 118 | ....begin fun (Error (loc, err)) ->
# 119 |     Error.print_with_location loc
# 120 |       (fun ppf -> format_error ppf err)
# 121 |     end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Apxnorm.cmo -c -impl src/core/apxnorm.pp.ml)
# File "src/core/apxnorm.ml", lines 24-35, characters 4-7:
# 24 | ....begin fun (Error (loc, err)) ->
# 25 |     Error.print_with_location loc
# 26 |       begin fun ppf ->
# 27 |       let open Format in
# 28 |       match err with
# ...
# 32 |          fprintf ppf "Indexing invariant failed: %a@."
# 33 |            f ()
# 34 |       end
# 35 |     end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# File "src/core/apxnorm.ml", lines 45-50, characters 2-33:
# 45 | ..function
# 46 |   | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k+1) m')
# 47 |   | Apx.LF.Root (loc, h , spine) ->
# 48 |      let h' = shiftApxHead k h in
# 49 |      let spine' = shiftApxSpine k spine in
# 50 |      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 71-81, characters 2-35:
# 71 | ..function
# 72 |   | Apx.LF.EmptySub -> Apx.LF.EmptySub
# 73 |   | Apx.LF.Id -> Apx.LF.Id
# 74 |   | Apx.LF.Dot (Apx.LF.Head h, s) ->
# 75 |      let h' = shiftApxHead k h in
# ...
# 78 |   | Apx.LF.Dot (Apx.LF.Obj m, s) ->
# 79 |      let m' = shiftApxTerm k m in
# 80 |      let s' = shiftApxSub k s in
# 81 |      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 127-129, characters 4-49:
# 127 | ....match (l_delta, t) with
# 128 |     | (0, t) -> t
# 129 |     | (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 135-152, characters 6-36:
# 135 | ......match Substitution.LF.applyMSub offset t with
# 136 |       | Int.LF.MV u -> Apx.LF.Offset u
# 137 |       | Int.LF.ClObj (_, clobj) ->
# 138 |          let (u, mtyp) = Whnf.mctxLookup cD offset' in
# 139 |          dprintf
# ...
# 149 |            end;
# 150 |          let t' = drop t l_delta in
# 151 |          let mtyp' = Whnf.cnormMTyp (mtyp, t')in
# 152 |          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 346-365, characters 2-33:
# 346 | ..match i with
# 347 |   | Apx.Comp.Var _ -> i
# 348 |   | Apx.Comp.DataConst _ -> i
# 349 |   | Apx.Comp.Obs (loc, e, obs) ->
# 350 |      let e' = cnormApxExp cD delta e cDt in
# ...
# 362 | 
# 363 |   | Apx.Comp.BoxVal (loc, mobj) ->
# 364 |      let mobj' = cnormApxMetaObj cD delta mobj cDt in
# 365 |      Apx.Comp.BoxVal (loc, mobj')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (FVar _|Ann (_, _))
# File "src/core/apxnorm.ml", lines 398-402, characters 4-75:
# 398 | ....function
# 399 |     | Apx.LF.Empty -> cD''
# 400 |     | Apx.LF.Dec (delta2', Apx.LF.Decl(x, _, dep)) ->
# 401 |        let cD1'' = append_mctx cD'' delta2' in
# 402 |        Int.LF.Dec (cD1'', Int.LF.DeclOpt (x, Int.LF.Depend.to_plicity dep))
# 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/apxnorm.ml", lines 431-441, characters 2-27:
# 431 | ..function
# 432 |   | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m'
# 433 | 
# 434 |   | Apx.LF.Root (_, h, s) ->
# 435 |      let fMVs' = collectApxHead fMVs h in
# ...
# 438 |   | Apx.LF.Tuple (_, tuple) ->
# 439 |      collectApxTuple fMVs tuple
# 440 | 
# 441 |   | 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", lines 512-513, characters 27-22:
# 512 | ...........................(Apx.LF.TypDecl (_, a))=
# 513 |   collectApxTyp fMVs 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 540-548, characters 2-44:
# 540 | ..function
# 541 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _)
# 542 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) ->
# 543 |      let fMVs' = collectApxDCtx fMVs c_psi in
# 544 |      collectApxTyp fMVs' a
# 545 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) ->
# 546 |      let fMVs' = collectApxDCtx fMVs c_psi in
# 547 |      collectApxDCtx fMVs' c_phi
# 548 |   | 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 566-573, characters 2-31:
# 566 | ..function
# 567 |   | Apx.LF.Atom (loc, c, tS) ->
# 568 |      collectApxSpine fMVd tS
# 569 |   | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA),_ ), tB) ->
# 570 |      let fMVd1 = collectApxTyp fMVd tA in
# 571 |      collectApxTyp fMVd1 tB
# 572 |   | Apx.LF.Sigma trec ->
# 573 |      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 583-591, characters 2-43:
# 583 | ..function
# 584 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) ->
# 585 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 586 |      collectApxDCtx fMVd1 cPhi
# 587 |   | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _)
# 588 |     | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) ->
# 589 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 590 |      collectApxTyp fMVd1 tA
# 591 |   | 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 594-612, characters 2-32:
# 594 | ..function
# 595 |   | Apx.Comp.TypArr (_, tau1, tau2) ->
# 596 |      let fMVd1 = collectApxCompTyp fMVd tau1 in
# 597 |      collectApxCompTyp fMVd1 tau2
# 598 |   | Apx.Comp.TypCross (_, tau1, tau2) ->
# ...
# 609 |      let fMVd1 = collectApxDCtx fMVd cPsi in
# 610 |      collectApxDCtx fMVd1 cPhi
# 611 |   | Apx.Comp.TypBase (_loc, _c, mS) ->
# 612 |      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 615-626, characters 2-32:
# 615 | ..function
# 616 |   | Apx.Comp.PatMetaObj (loc, mO) ->
# 617 |      collectApxMetaObj fMVd mO
# 618 |   | Apx.Comp.PatConst (loc, c, pat_spine) ->
# 619 |      collectApxPatSpine fMVd pat_spine
# ...
# 623 |      collectApxPattern fMVs1 pat2
# 624 |   | Apx.Comp.PatAnn (loc, pat, tau) ->
# 625 |      let fMVd1 = collectApxCompTyp fMVd tau in
# 626 |      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 881-900, characters 2-37:
# 881 | ..function
# 882 |   | Apx.Comp.Var _ as i -> i
# 883 |   | Apx.Comp.DataConst _ as i -> i
# 884 |   | Apx.Comp.Obs (loc, e, obs) ->
# 885 |      let e' = fmvApxExp fMVs cD d_param e in
# ...
# 897 |   | Apx.Comp.PairVal (loc, i1, i2) ->
# 898 |      let i1' = fmvApxExp' fMVs cD d_param i1 in
# 899 |      let i2' = fmvApxExp' fMVs cD d_param i2 in
# 900 |      Apx.Comp.PairVal (loc, i1', i2')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (FVar _|Ann (_, _))
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyext.cmo -c -impl src/core/prettyext.pp.ml)
# File "src/core/prettyext.ml", lines 74-143, characters 4-26:
#  74 | ....function
#  75 |     | LF.AtomTerm (_, n) -> fmt_ppr_lf_normal lvl ppf n
#  76 | 
#  77 |     | LF.Atom (_, a, LF.Nil) ->
#  78 |        let name = to_html (Id.render_name a) Link in
# ...
# 140 |        fprintf ppf "%s%a%s"
# 141 |          (l_paren_if cond)
# 142 |          (fmt_ppr_lf_dctx 0) cPsi
# 143 |          (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:
# PiTyp (_, TypDeclOpt _, _)
# File "src/core/prettyext.ml", lines 159-203, characters 4-39:
# 159 | ....function
# 160 |     | LF.Lam (_, x, m) ->
# 161 |        let cond = lvl > 0 in
# 162 |        fprintf ppf "%s%s%s. %a%s"
# 163 |          (l_paren_if cond)
# ...
# 200 |             else fprintf ppf "%a " (fmt_ppr_lf_normal (lvl + 1)) x
# 201 |             end;
# 202 |        fprintf ppf "%s" (r_paren_if (lvl > 0));
# 203 |     | LF.PatEmpty _ -> fprintf ppf "{}"
# 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/prettyext.ml", lines 207-240, characters 4-35:
# 207 | ....match head with
# 208 |     | LF.PVar (_,  x, s) ->
# 209 |        fprintf ppf "%s%s%a%s"
# 210 |          (l_paren_if (paren s))
# 211 |          (Id.render_name x)
# ...
# 237 |        fprintf ppf "%s.%a%a"
# 238 |          (Id.render_name x)
# 239 |          (fmt_ppr_lf_proj lvl) p
# 240 |          (fmt_ppr_lf_sub_opt lvl) s
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Proj (_, (Hole _|Proj (_, _, _)), _)
# File "src/core/prettyext.ml", lines 372-389, characters 4-27:
# 372 | ....function
# 373 |     | LF.Null ->
# 374 |        fprintf ppf ""
# 375 | 
# 376 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
# ...
# 386 | 
# 387 |     | LF.CtxVar (_, x) ->
# 388 |        fprintf ppf "%s"
# 389 |          (Id.render_name x)
# 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/prettyext.ml", lines 393-407, characters 4-33:
# 393 | ....function
# 394 |     | LF.Null -> fprintf ppf ""
# 395 | 
# 396 |     | LF.CtxVar (_, x) -> (***)
# 397 |        fprintf ppf "%s"
# ...
# 404 |     | LF.DDec (cPsi, LF.TypDecl (x, _)) ->
# 405 |        fprintf ppf "%s, %a"
# 406 |          (Id.render_name x)
# 407 |          fmt_ppr_lf_dctx_hat cPsi
# 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/prettyext.ml", lines 448-470, characters 4-26:
# 448 | ....function
# 449 |     | LF.Typ _ ->
# 450 |        fprintf ppf "%s"
# 451 |          (to_html "type" Keyword)
# 452 | 
# ...
# 467 |          (fmt_ppr_lf_typ 0) a
# 468 |          (symbol_to_html RArr)
# 469 |          (fmt_ppr_lf_kind 0) k
# 470 |          (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/prettyext.ml", lines 473-509, characters 4-51:
# 473 | ....function
# 474 |     | LF.Decl (u, (_, LF.ClTyp (LF.MTyp tA, cPsi)), _) ->
# 475 |        fprintf ppf "{%s : [%a %s %a]}"
# 476 |          (Id.render_name u)
# 477 |          (fmt_ppr_lf_dctx 0) cPsi
# ...
# 506 |     | LF.Decl (name, (_, LF.CTyp schemaName), _) ->
# 507 |        fprintf ppf "{%s : %s}"
# 508 |          (Id.render_name name)
# 509 |          (to_html (Id.render_name schemaName) Link)
# 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/prettyext.ml", lines 552-609, characters 4-26:
# 552 | ....function
# 553 |     | Comp.TypBase (_, x, mS)->
# 554 |        fprintf ppf "%s%a"
# 555 |          (to_html (Id.render_name x) Link)
# 556 |          (fmt_ppr_meta_spine 0) mS
# ...
# 606 |          (l_paren_if cond)
# 607 |          fmt_ppr_lf_ctyp_decl ctyp_decl
# 608 |          (fmt_ppr_cmp_typ 1) tau
# 609 |          (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:
# TypInd _
# File "src/core/prettyext.ml", lines 787-794, characters 9-39:
# 787 | .........function
# 788 |          | LF.Dec (LF.Empty, decl) ->
# 789 |             fprintf ppf "%a"
# 790 |               fmt_ppr_lf_ctyp_decl decl
# 791 |          | LF.Dec (cD, decl) ->
# 792 |             fprintf ppf "%a@ %a"
# 793 |               fmt_ppr_ctyp_decls' cD
# 794 |               fmt_ppr_lf_ctyp_decl 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/prettyext.ml", lines 893-896, characters 4-31:
# 893 | ....function
# 894 |     | Sgn.CompTyp (_, _, _, _) -> "inductive"
# 895 |     | Sgn.CompCotyp (_, _, _) -> "coinductive"
# 896 |     | Sgn.Typ (_, _, _) -> "LF"
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Const (_, _, _)|CompConst (_, _, _)|CompDest (_, _, _, _, _)|
# CompTypAbbrev (_, _, _, _)|Schema (_, _, _)|Pragma (_, _)|
# GlobalPragma (_, _)|MRecTyp (_, _)|Theorem (_, _)|Val (_, _, _, _)|
# Query (_, _, _, _, _)|Module (_, _, _)|Comment (_, _))
# File "src/core/prettyext.ml", lines 903-907, characters 4-37:
# 903 | ....function
# 904 |     | [h] -> fmt_ppr_mrec' lvl ppf h; fprintf ppf ";@\n"
# 905 |     | h :: t -> fmt_ppr_mrec' lvl ppf h;
# 906 |               fprintf ppf "@\n%s " (to_html "and" Keyword);
# 907 |               fmt_ppr_mrecs lvl ppf t
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# []
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyint.cmo -c -impl src/core/prettyint.pp.ml)
# File "src/core/prettyint.ml", lines 66-112, characters 4-39:
#  66 | ....function
#  67 |     | LF.Atom (_, a, LF.Nil) ->
#  68 |        fprintf ppf "%s"
#  69 |          (R.render_cid_typ a)
#  70 | 
# ...
# 109 |     | LF.TClo (typ, s) ->
# 110 |        fprintf ppf "TClo(%a,@ %a)"
# 111 |          (fmt_ppr_lf_typ cD cPsi lvl) typ
# 112 |          (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 ((TypDecl (_, _), Inductive), _)
# File "src/core/prettyint.ml", lines 252-363, characters 6-51:
# 252 | ......function
# 253 |       | LF.HClo (h, s, sigma) ->
# 254 |          fprintf ppf "%s[%a[%a]]"
# 255 |            (R.render_bvar cPsi h)
# 256 |            (fmt_ppr_lf_offset cD) s
# ...
# 360 |            (r_paren_if (paren s))
# 361 | 
# 362 |       | LF.Proj (head, k) ->
# 363 |          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 577-579, characters 7-52:
# 577 | .......match LF.(v.typ) with
# 578 |        | LF.ClTyp (_, cPsi) ->
# 579 |           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 593-602, characters 7-10:
# 593 | .......begin match !g with
# 594 |        | None ->
# 595 |           fprintf ppf "?%a[%a]"
# 596 |             Id.print LF.(v.name)
# 597 |             (fmt_ppr_lf_msub cD 0) theta
# 598 | 
# 599 |        | Some (LF.ICtx cPsi) ->
# 600 |           fprintf ppf "%a"
# 601 |             (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta))
# 602 |        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 684-697, characters 4-38:
# 684 | ....function
# 685 |     | LF.Null ->
# 686 |        fprintf ppf ""
# 687 | 
# 688 |     | LF.DDec (LF.Null, LF.TypDecl (x, tA)) ->
# ...
# 694 |        fprintf ppf "%a, %s : %a"
# 695 |          (ppr_typ_decl_dctx cD) cPsi
# 696 |          (Id.render_name x)
# 697 |          (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 (_, TypDeclOpt _)
# File "src/core/prettyint.ml", lines 775-796, characters 4-26:
# 775 | ....function
# 776 |     | LF.Typ ->
# 777 |        fprintf ppf "type"
# 778 | 
# 779 |     | LF.PiKind ((LF.TypDecl (x, a), LF.Maybe), k) ->
# ...
# 793 |          (l_paren_if cond)
# 794 |          (fmt_ppr_lf_typ LF.Empty cPsi 1) a
# 795 |          (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k
# 796 |          (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 ((TypDecl (_, _), Inductive), _)
# File "src/core/prettyint.ml", lines 895-907, characters 4-40:
# 895 | ....function
# 896 |     | LF.Queued id ->
# 897 |        fprintf ppf "@[QUEUED %d@]" id
# 898 |     | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) ->
# 899 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
# ...
# 904 |        fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]"
# 905 |          id
# 906 |          (fmt_ppr_lf_head cD cPsi l0) h1
# 907 |          (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 _, (IHead _|ISub _|ICtx _))
# File "src/core/prettyint.ml", lines 945-1016, characters 4-39:
#  945 | ....function
#  946 |     | Comp.TypBase (_, c, mS)->
#  947 |        let cond = lvl > 10 in
#  948 |        fprintf ppf "%s@[<2>%s@[%a@]@]%s"
#  949 |          (l_paren_if cond)
# ...
# 1013 |          fprintf ppf "@[%a@]*"
# 1014 |            (fmt_ppr_cmp_typ cD 10) tau
# 1015 |        else
# 1016 |          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 1024-1029, characters 4-48:
# 1024 | ....function
# 1025 |     | Comp.PatNil -> fprintf ppf ""
# 1026 |     | Comp.PatApp (_, pat, pat_spine) ->
# 1027 |        fprintf ppf "@[%a@]@ @[%a@]"
# 1028 |          (fmt_ppr_cmp_pattern cD cG (lvl+1)) pat
# 1029 |          (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 1033-1036, characters 6-65:
# 1033 | ......match (ms, n) with
# 1034 |       | (_, 0) -> ms
# 1035 |       | (Comp.PatNil, _) -> ms
# 1036 |       | (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 1303-1347, characters 4-26:
# 1303 | ....function
# 1304 |     | Comp.FunValue _ -> fprintf ppf " fn "
# 1305 |     | Comp.ThmValue _ -> fprintf ppf " rec "
# 1306 |     | Comp.MLamValue _ -> fprintf ppf " mlam "
# 1307 |     | Comp.CtxValue _ -> fprintf ppf " mlam "
# ...
# 1344 |        fprintf ppf "%s%s%a%s"
# 1345 |          (l_paren_if cond)
# 1346 |          (R.render_cid_comp_const c) print_spine pat_spine
# 1347 |          (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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Unify.cmo -c -impl src/core/unify.pp.ml)
# File "src/core/unify.ml", lines 165-197, characters 30-63:
# 165 | ..............................(Atom (_, a, _) as tP, s) =
# 166 |     dprintf
# 167 |       begin fun p ->
# 168 |       p.fmt "@[<v 6>[genMMVarstr] of type @[%a@]@,in context cPsi = @[%a@]@]"
# 169 |         (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tP, s))
# ...
# 194 |          cPsi |- s_proj : cPhi
# 195 |          cPsi |- comp  ss' s_proj   : cPhi' *)
# 196 |     let ss_proj = Substitution.LF.comp ss' s_proj in
# 197 |     Root (loc, MMVar ((u, Whnf.m_id), ss_proj), Nil, `explicit)
# 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 577-587, characters 6-9:
# 577 | ......begin match applyMSub k ms with
# 578 |       | MUndef ->
# 579 |          (* Psi1, x:tA |- s' <= Psi2 *)
# 580 |          (Whnf.mcomp mt' (MShift 1), cD2)
# 581 | 
# ...
# 584 |                   A = [mt']([mt']^-1 A)  and cPsi = [mt']([mt']^-1 cPsi *)
# 585 |          let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in
# 586 |          (Whnf.mvar_dot1 mt', Dec (cD2, (Decl (n, Whnf.cnormMTyp (ctyp, mtt'), dep))))
# 587 |       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 568-592, characters 4-38:
# 568 | ....match (t, cD1) with
# 569 |     | (MShift _, Empty) -> (Whnf.m_id, Empty)
# 570 | 
# 571 |    | (MShift k, Dec _) ->
# 572 |        pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms
# ...
# 589 |    | (MDot (MUndef, mt), Dec (cD1, _)) ->
# 590 |       let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in
# 591 |       (* cD1 |- mt' <= cD2 *)
# 592 |       (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 _, _), Dec (_, DeclOpt (_, _)))
# File "src/core/unify.ml", lines 812-821, characters 7-10:
# 812 | .......begin match applyMSub u ms with
# 813 |        | MV v ->
# 814 |           Root
# 815 |             ( loc
# 816 |             , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur)
# 817 |             , Nil
# 818 |             , plicity
# 819 |             )
# 820 |        | MUndef -> raise NotInvertible
# 821 |        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 824-832, characters 7-46:
# 824 | .......let (cD_d, Decl (_, ClTyp (_, cPsi1), _)) = Store.FCVar.get u in
# 825 |        let d = Context.length cD0 - Context.length cD_d in
# 826 |        let cPsi1 =
# 827 |          if d = 0
# 828 |          then cPsi1
# 829 |          else Whnf.cnormDCtx (cPsi1, MShift d)
# 830 |        in
# 831 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
# 832 |        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:
# (_, Decl (_, CTyp _, _))
# File "src/core/unify.ml", lines 835-843, characters 7-46:
# 835 | .......let (cD_d, Decl (_, ClTyp (_, cPsi1), _)) = Store.FCVar.get p in
# 836 |        let d = Context.length cD0 - Context.length cD_d in
# 837 |        let cPsi1 =
# 838 |          if d = 0
# 839 |          then cPsi1
# 840 |          else Whnf.cnormDCtx (cPsi1, MShift d)
# 841 |        in
# 842 |        let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in
# 843 |        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:
# (_, Decl (_, CTyp _, _))
# File "src/core/unify.ml", lines 848-852, characters 7-10:
# 848 | .......begin match applyMSub p ms with
# 849 |        | MV q ->
# 850 |           Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity)
# 851 |        | MUndef -> raise NotInvertible
# 852 |        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 749-864, characters 4-62:
# 749 | ....match sM with
# 750 |     | (Lam (loc, x, tM), s) ->
# 751 |        Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur))
# 752 | 
# 753 |     | (Root (loc, MVar (Inst u, t), tS, plicity), s) ->
# ...
# 861 |          )
# 862 | 
# 863 |     | (Tuple (loc, trec), s) ->
# 864 |        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 890-893, characters 7-10:
# 890 | .......begin match bvarSub k ssubst with
# 891 |        | Undef -> raise NotInvertible
# 892 |        | Head (BVar k') -> BVar k'
# 893 |        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 896-899, characters 7-10:
# 896 | .......begin match bvarSub k ssubst with
# 897 |        | Head (BVar _ as head) -> head
# 898 |        | Undef -> raise NotInvertible
# 899 |        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 934-938, characters 7-10:
# 934 | .......begin match applyMSub u ms with
# 935 |        | MV v ->
# 936 |           MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur)
# 937 |        | MUndef -> raise NotInvertible
# 938 |        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 942-946, characters 7-10:
# 942 | .......begin match applyMSub p ms with
# 943 |        | MV q ->
# 944 |           PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur)
# 945 |        | MUndef -> raise NotInvertible
# 946 |        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 950-954, characters 7-10:
# 950 | .......begin match applyMSub p ms with
# 951 |        | MV q ->
# 952 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
# 953 |        | MUndef -> raise NotInvertible
# 954 |        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 888-954, characters 4-10:
# 888 | ....match head with
# 889 |     | BVar k ->
# 890 |        begin match bvarSub k ssubst with
# 891 |        | Undef -> raise NotInvertible
# 892 |        | Head (BVar k') -> BVar k'
# ...
# 951 |        | MV q ->
# 952 |           Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i)
# 953 |        | MUndef -> raise NotInvertible
# 954 |        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 958-961, characters 4-46:
# 958 | ....function
# 959 |     | Undefs -> raise (Failure "Variable dependency")
# 960 |     | Shift k -> Shift (n + k)
# 961 |     | 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 983-987, characters 9-40:
# 983 | .........match applyMSub s ms with
# 984 |          | MV v ->
# 985 |             let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in
# 986 |             (v, cPhi, cPsi')
# 987 |          | 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 1026-1032, characters 7-10:
# 1026 | .......begin match applyMSub s ms with
# 1027 |        | MV v ->
# 1028 |           let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in
# 1029 |           (* applyMSub to ctx_offset ? *)
# 1030 |           SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur)
# 1031 |        | MUndef -> raise NotInvertible
# 1032 |        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 1035-1036, characters 7-64:
# 1035 | .......let (_, Decl (_, ClTyp (STyp (LF.Subst, _), cPsi'), _)) = Store.FCVar.get s_name in
# 1036 |        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 (_, ClTyp (STyp (Ren, _), _), _))
# File "src/core/unify.ml", lines 1065-1071, characters 4-74:
# 1065 | ....match (mt, cD1) with
# 1066 |     | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms)
# 1067 |     | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl (_, ClTyp (STyp (_, cPhi), _), _))) ->
# 1068 |        let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in
# 1069 |        MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur)
# 1070 |     | (MDot (mobj, mt'), Dec (cD', _)) ->
# 1071 |        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 (_, _), Empty)
# File "src/core/unify.ml", lines 1074-1082, characters 4-90:
# 1074 | ....match mobj with
# 1075 |     | MV n ->
# 1076 |        begin match applyMSub n ms with
# 1077 |        | MUndef -> raise NotInvertible
# 1078 |        | ft -> ft
# 1079 |        end
# 1080 |     | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur)))
# 1081 |     | CObj cPsi -> raise (Error.Violation "Not implemented")
# 1082 |     | 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 1154-1156, characters 7-80:
# 1154 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *)
# 1155 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
# 1156 |        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 1126-1156, characters 4-80:
# 1126 | ....match sM with
# 1127 |     | (LFHole _ as n, _) -> n
# 1128 |     | (Lam (loc, x, tM), s) ->
# 1129 |        dprintf
# 1130 |          begin fun p ->
# ...
# 1153 |     | (Root (loc, head, tS, plicity), s) ->
# 1154 |        let Shift 0 = s in (* Assert s is supposed to be the identity *)
# 1155 |        let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in
# 1156 |        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 1175-1186, characters 4-9:
# 1175 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
# 1176 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
# 1177 |     then raise (Failure "Variable occurrence")
# 1178 |     else
# 1179 |       begin
# ...
# 1183 |         instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents;
# 1184 |         let (mr, r) = comp2 (comp2 id2 mtt) ss in
# 1185 |         ((v, mr), r)
# 1186 |       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 1189-1201, characters 4-37:
# 1189 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in
# 1190 |     if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur
# 1191 |     then raise (Failure "Variable occurrence")
# 1192 |     else
# 1193 |       let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in
# ...
# 1198 |         , Root (loc, MVar (v, idsub), Nil, `explicit)
# 1199 |         , mmvar.constraints.contents
# 1200 |         );
# 1201 |       (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 1204-1213, characters 3-10:
# 1204 | ...let (cD_d, Decl (_, ClTyp (_, cPsi1), _)) = Store.FCVar.get u in
# 1205 |    let d = Context.length cD0 - Context.length cD_d in
# 1206 |    let cPsi1 =
# 1207 |      if d = 0
# 1208 |      then cPsi1
# 1209 |      else Whnf.cnormDCtx (cPsi1, MShift d)
# 1210 |    in
# 1211 |    let t' = simplifySub cD0 cPsi t in
# 1212 |    let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in
# 1213 |    (u, s')
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl (_, CTyp _, _))
# File "src/core/unify.ml", lines 1218-1221, characters 7-14:
# 1218 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
# 1219 |        let t' = simplifySub cD0 cPsi t in
# 1220 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
# 1221 |        (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 1216-1222, characters 4-63:
# 1216 | ....match applyMSub u ms with
# 1217 |     | MV v ->
# 1218 |        let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in
# 1219 |        let t' = simplifySub cD0 cPsi t in
# 1220 |        let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in
# 1221 |        (v, s')
# 1222 |     | 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 1248-1258, characters 7-10:
# 1248 | .......begin match bvarSub k ssubst with
# 1249 |        | Undef ->
# 1250 |           let s =
# 1251 |             let open Format in
# 1252 |             fprintf str_formatter "[Prune] Bound variable dependency : head = %a"
# ...
# 1255 |           in
# 1256 |           raise (Failure s)
# 1257 |        | Head (BVar _ as h') -> h'
# 1258 |        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 1225-1262, characters 4-11:
# 1225 | ....match head with
# 1226 |     | MMVar ((i, mt), t) ->
# 1227 |        MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur)
# 1228 |     | MVar (Inst i, t) ->
# 1229 |        MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur)
# ...
# 1259 | 
# 1260 |     | Const _
# 1261 |       | FVar _ ->
# 1262 |        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 1297-1321, characters 4-59:
# 1297 | ....match (s, cPsi1) with
# 1298 |     | (EmptySub, Null) -> EmptySub
# 1299 |     | (Undefs, Null) -> EmptySub
# 1300 |     | (Shift n, DDec _) ->
# 1301 |        pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
# ...
# 1318 | 
# 1319 |     | (Dot _, _)
# 1320 |       | (EmptySub, _)
# 1321 |       -> raise (Error.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 1325-1327, characters 4-72:
# 1325 | ....match ft with
# 1326 |     | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur)
# 1327 |     | Head h -> Head (pruneHead cD cPsi (Syntax.Loc.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 1358-1361, characters 9-59:
# 1358 | .........function
# 1359 |          | Undefs -> (EmptySub, Null)
# 1360 |          | Shift k -> (id, CtxVar psi)
# 1361 |          | 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 1374-1378, characters 9-40:
# 1374 | .........match applyMSub s mt with
# 1375 |          | MV v ->
# 1376 |             let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in
# 1377 |             cPsi'
# 1378 |          | 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 1391-1394, characters 7-18:
# 1391 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in
# 1392 |        let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in
# 1393 |        ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur);
# 1394 |        (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 1402-1404, characters 7-18:
# 1402 | .......let (_, Decl (_, ClTyp (STyp _, cPsi'), _)) = Store.FCVar.get s in
# 1403 |        ignore (invSub cD0 phat (sigma, cPsi') ss rOccur);
# 1404 |        (id, cPsi1)
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))
# File "src/core/unify.ml", lines 1411-1430, characters 7-10:
# 1411 | .......begin match bvarSub n ssubst with
# 1412 |        | Undef ->
# 1413 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
# 1414 |           (comp s1' shift, cPsi1')
# 1415 | 
# ...
# 1427 |           in
# 1428 |           (* cPsi1' |- s1_i <= cPsi' *)
# 1429 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
# 1430 |        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 1435-1452, characters 7-10:
# 1435 | .......begin match bvarSub n ssubst with
# 1436 |        | Undef ->
# 1437 |           let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in
# 1438 |           (comp s1' shift, cPsi1')
# 1439 | 
# ...
# 1449 |           in
# 1450 |           (* cPsi1' |- s1_i <= cPsi' *)
# 1451 |           (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i))))
# 1452 |        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 1347-1475, characters 4-31:
# 1347 | ....match (s, cPsi1) with
# 1348 |     | (Shift n, DDec _) ->
# 1349 |        pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur
# 1350 |     | (Shift _, Null)
# 1351 |       | (EmptySub, Null)
# ...
# 1472 | 
# 1473 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
# 1474 |        let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in
# 1475 |        (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 1478-1491, characters 4-21:
# 1478 | ....match sA with
# 1479 |     | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur)
# 1480 |     | (PiTyp ((TypDecl (x, tA), dep), tB), s) ->
# 1481 |        let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in
# 1482 |        let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in
# ...
# 1488 | 
# 1489 |     | (Sigma typ_rec, s) ->
# 1490 |        let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in
# 1491 |        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 1508-1511, characters 7-10:
# 1508 | .......begin match applyMSub psi ms with
# 1509 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
# 1510 |        | MV k -> CtxVar (CtxOffset k)
# 1511 |        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 1514-1518, characters 7-10:
# 1514 | .......begin match mmvar.instantiation.contents with
# 1515 |        | None -> cPsi
# 1516 |        | Some (ICtx cPhi) ->
# 1517 |           pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur
# 1518 |        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 1505-1533, characters 4-37:
# 1505 | ....match cPsi with
# 1506 |     | Null -> Null
# 1507 |     | CtxVar (CtxOffset psi) ->
# 1508 |        begin match applyMSub psi ms with
# 1509 |        | CObj (cPsi') -> Whnf.normDCtx cPsi'
# ...
# 1530 |            (ms, Substitution.LF.id)
# 1531 |            rOccur
# 1532 |        in
# 1533 |        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 (_, TypDeclOpt _)
# File "src/core/unify.ml", lines 1578-1587, characters 7-10:
# 1578 | .......begin match bvarSub k ssubst with
# 1579 |        | Undef ->
# 1580 |           (* Psi1, x:tA |- s' <= Psi2 *)
# 1581 |           (comp s' shift, cPsi2)
# 1582 | 
# 1583 |        | Head (BVar _) ->
# 1584 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
# 1585 |                   A = [s']([s']^-1 A) *)
# 1586 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
# 1587 |        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 1594-1603, characters 7-10:
# 1594 | .......begin match bvarSub k ssubst with
# 1595 |        | Undef ->
# 1596 |           (* Psi1, x:tA |- s' <= Psi2 *)
# 1597 |           (comp s' shift, cPsi2)
# 1598 | 
# 1599 |        | Head (BVar _) ->
# 1600 |           (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since
# 1601 |                   A = [s']([s']^-1 A) *)
# 1602 |           (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s')))))
# 1603 |        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 1555-1608, characters 4-29:
# 1555 | ....match (t, cPsi1) with
# 1556 |     | (EmptySub, Null)
# 1557 |       | (Undefs, Null)
# 1558 |       | (Shift _, Null) ->
# 1559 |        (id, Null)
# ...
# 1605 |     | (Dot (Undef, t), DDec (cPsi1, _)) ->
# 1606 |        let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in
# 1607 |        (* sP1 |- s' <= cPsi2 *)
# 1608 |        (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 1650-1655, characters 4-56:
# 1650 | ....match (sTup1, sTup2) with
# 1651 |     | ((Last tM, s1), (Last tN, s2)) ->
# 1652 |        unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2)
# 1653 |     | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) ->
# 1654 |        (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2);
# 1655 |         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 _, _), (Cons (_, _), _))
# File "src/core/unify.ml", lines 1658-1684, characters 4-9:
# 1658 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1659 |     if isId t1'
# 1660 |     then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents)
# 1661 |     else
# 1662 |       begin
# ...
# 1681 |            (* This might actually need to add a constraint, in which case
# 1682 |            "NotInvertible" seems the wrong kind of exception... *)
# 1683 |            raise (Error.Violation "Unification violation")
# 1684 |       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 1698-1709, characters 9-35:
# 1698 | .........match Whnf.whnfTyp sA with
# 1699 |          | (LF.PiTyp ((LF.TypDecl (n, tA), _), tB), s) ->
# 1700 |             (* cPsi' |- Pi x:A.B <= typ
# 1701 |                cPsi  |- s <= cPsi'
# 1702 |                cPsi  |- tN <= [s]tA
# ...
# 1706 |             let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
# 1707 |             LF.App (tN, tS)
# 1708 | 
# 1709 |          | (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 1687-1714, characters 4-15:
# 1687 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1688 |     match sM2 with
# 1689 |     | Root (loc, Const c, _, plicity) ->
# 1690 |        let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in
# 1691 |        dprintf
# ...
# 1711 |        let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in
# 1712 |        instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
# 1713 |        Some tM1
# 1714 |     | _ -> 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 1720-1733, characters 6-32:
# 1720 | ......match Whnf.whnfTyp sA with
# 1721 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _), tB), s) ->
# 1722 |          (* cPsi' |- Pi x:A.B <= typ
# 1723 |             cPsi  |- s <= cPsi'
# 1724 |             cPsi  |- tN <= [s]tA
# ...
# 1730 |          in
# 1731 |          let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in
# 1732 |          LF.App (tN, tS)
# 1733 |       | (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 1718-1766, characters 4-15:
# 1718 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in
# 1719 |     let rec genSpine cD1 cPsi1 sA =
# 1720 |       match Whnf.whnfTyp sA with
# 1721 |       | (LF.PiTyp ((LF.TypDecl (n, tA), _), tB), s) ->
# 1722 |          (* cPsi' |- Pi x:A.B <= typ
# ...
# 1763 |        instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents);
# 1764 |        Some tM1
# 1765 | 
# 1766 |     | _ -> 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 1770-1773, characters 4-79:
# 1770 | ....match tm with
# 1771 |     | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur)
# 1772 |     | (IHead h, _) -> IHead (pruneHead cD cPsi (Syntax.Loc.ghost, h) ss rOccur)
# 1773 |     | (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 _, (MTyp _|PTyp _))
# File "src/core/unify.ml", lines 1776-1800, characters 4-9:
# 1776 | ....let ClTyp (tp, cPsi1) = mmvar.typ in
# 1777 |     if isId t1' && isMId mt1
# 1778 |     then
# 1779 |       begin
# 1780 |         dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id");
# ...
# 1797 |         (* with | NotInvertible -> raise (Error.Violation "Unification violation") *)
# 1798 |         (* This might actually need to add a constraint, in which case "NotInvertible" seems
# 1799 |            the wrong kind of exception... *)
# 1800 |       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 1814-1863, characters 4-76:
# 1814 | ....let ClTyp (_, cPsi1) = mmvar.typ in
# 1815 |     let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in
# 1816 |     (* cD |- mtt1 : cD0 *)
# 1817 |     let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in
# 1818 |     dprintf
# ...
# 1860 |       p.fmt "[unifyMMVarTermProj] - done: %a"
# 1861 |         (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2'
# 1862 |       end;
# 1863 |     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 1866-1898, characters 4-102:
# 1866 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in
# 1867 |     let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in
# 1868 |     (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1
# 1869 |          then cD ; cPsi1 |- s' <= cPsi' *)
# 1870 |     let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in
# ...
# 1895 |        [|w[s']/u|](u[t1]) = [t1](w[s'])
# 1896 |        [|w[s']/u|](u[t2]) = [t2](w[s'])
# 1897 |      *)
# 1898 |     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 1914-1955, characters 7-12:
# 1914 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
# 1915 |        dprnt "(000) MVar-MVar";
# 1916 |        (* by invariant of whnf:
# 1917 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
# 1918 |           r1 and r2 are uninstantiated  (None)
# ...
# 1952 |          begin
# 1953 |            let id = next_constraint_id () in
# 1954 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
# 1955 |          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 1913-1955, characters 7-12:
# 1913 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in
# 1914 |        let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in
# 1915 |        dprnt "(000) MVar-MVar";
# 1916 |        (* by invariant of whnf:
# 1917 |           meta-variables are lowered during whnf, s1 = s2 = id or co-id
# ...
# 1952 |          begin
# 1953 |            let id = next_constraint_id () in
# 1954 |            addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM)))
# 1955 |          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 2419-2432, characters 4-52:
# 2419 | ....match (spine1, spine2) with
# 2420 |     | ((Nil, _), (Nil, _)) -> ()
# 2421 | 
# 2422 |     | ((SClo (tS1, s1'), s1), sS) ->
# 2423 |        unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS
# ...
# 2429 |        (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^
# 2430 |                     " == " ^ P.normalToString cD0 cPsi (tM2, s2));*)
# 2431 |        unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2);
# 2432 |        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 2641-2691, characters 7-61:
# 2641 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in
# 2642 |        if mmvar1.instantiation == mmvar2.instantiation
# 2643 |        then
# 2644 |          if Maybe.equals Id.cid_equals schema1 schema2
# 2645 |          then
# ...
# 2688 |          Error.violation
# 2689 |            "Case where both meta-substitutions associated with \
# 2690 |             context variables are not pattern substitutions \
# 2691 |             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 _, ClTyp (_, _))
# File "src/core/unify.ml", lines 2695-2719, characters 7-61:
# 2695 | .......let CTyp s_cid = mmvar.typ in
# 2696 |        if isPatMSub theta
# 2697 |        then
# 2698 |          begin
# 2699 |            let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in
# ...
# 2716 |          Error.violation
# 2717 |            "Case where both meta-substitutions associated with \
# 2718 |             context variables are not pattern substitutions \
# 2719 |             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 2757-2758, characters 4-43:
# 2757 | ....let Decl (_, cT, _) = cdecl in
# 2758 |     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 2792-2804, characters 7-53:
# 2792 | .......let Comp.PiKind (_, cdecl, cK') = cK in
# 2793 |        let mOt = Whnf.cnormMetaObj (mO, t) in
# 2794 |        (* let mOt' = Whnf.cnormMetaObj (mO', t') in *)
# 2795 |        unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt);
# 2796 |        let mt' = MDot (Comp.metaObjToMFront mOt, mt) in
# ...
# 2801 |            P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t'))
# 2802 |          end;
# 2803 |        unifyMetaTyp cD (mT, t) (mT', t');
# 2804 |        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 2809-2812, characters 4-81:
# 2809 | ....function
# 2810 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2811 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2812 |     | (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 _, (PTyp _|STyp (_, _)))
# File "src/core/unify.ml", lines 2808-2812, characters 17-81:
# 2808 | .................Unification cD cPsi =
# 2809 |     function
# 2810 |     | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2811 |     | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id)
# 2812 |     | (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:
# Matching
# File "src/core/unify.ml", lines 2814-2822, characters 18-57:
# 2814 | ..................Unification cD ctyp1 ctyp2 =
# 2815 |     match (ctyp1, ctyp2) with
# 2816 |     | (ClTyp (tp1, cPsi1), ClTyp (tp2, cPsi2)) ->
# 2817 |        unifyDCtx1 Unification cD cPsi1 cPsi2;
# 2818 |        unifyClTyp Unification cD cPsi1 (tp1, tp2)
# 2819 |     | (CTyp schema1, CTyp schema2) ->
# 2820 |        if not (Maybe.equals Id.cid_equals schema1 schema2)
# 2821 |        then raise (Failure "CtxPi schema clash")
# 2822 |     | _ -> raise (Failure "Computation-level Type Clash")
# 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 2910-2913, characters 4-62:
# 2910 | ....match (itM1, itM2) with
# 2911 |     | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id)
# 2912 |     | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2
# 2913 |     | (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 _, (IHead _|ISub _|ICtx _))
# File "src/core/unify.ml", lines 2922-2934, characters 7-10:
# 2922 | .......begin match !cnstr with
# 2923 |        | Queued id ->
# 2924 |           forceCnstr mflag (nextCnstr ())
# 2925 |        | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) ->
# 2926 |           solveConstraint cnstr;
# ...
# 2931 |           solveConstraint cnstr;
# 2932 |           unifyHead mflag cD cPsi h1 h2;
# 2933 |           forceCnstr mflag (nextCnstr ())
# 2934 |        end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Eqn (_, _, _, INorm _, (IHead _|ISub _|ICtx _))
# File "src/core/unify.ml", lines 2964-3001, characters 7-95:
# 2964 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in
# 2965 |        solveConstraint c;
# 2966 |        dprintf
# 2967 |          begin fun p ->
# 2968 |          p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\
# ...
# 2998 |         *)
# 2999 |        if solvedCnstrs (!globalCnstrs)
# 3000 |        then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs)
# 3001 |        else raise (GlobalCnstrFailure (Loc.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 3151-3153, characters 4-64:
# 3151 | ....match (m1, m2) with
# 3152 |     | (MObj tM1, MObj tM2) -> unify Empty cPsi (tM1, id) (tM2, id)
# 3153 |     | (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 _, (PObj _|SObj _))
# File "src/core/unify.ml", lines 3156-3165, characters 4-49:
# 3156 | ....match (m1, m2) with
# 3157 |     | (CObj cPsi, CObj cPhi) ->
# 3158 |        unifyDCtx1
# 3159 |          Unification
# 3160 |          Empty
# 3161 |          (Whnf.cnormDCtx (cPsi, Whnf.m_id))
# 3162 |          (Whnf.cnormDCtx (cPhi, Whnf.m_id))
# 3163 |     | (ClObj (phat1, m1), ClObj (phat2, m2)) ->
# 3164 |        (* unify_phat phat1 phat2; *)
# 3165 |        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 _, (MUndef|ClObj (_, _)|MV _))
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Total.cmo -c -impl src/core/total.pp.ml)
# File "src/core/total.ml", lines 37-51, characters 9-12:
# 37 | .........begin match (x, args) with
# 38 |          | (_, []) ->
# 39 |             Format.fprintf ppf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug."
# 40 |          | (Comp.M cM, (Comp.M cM' :: _)) ->
# 41 |             Format.fprintf ppf "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@"
# ...
# 48 | 
# 49 |          | (Comp.V _, _) ->
# 50 |             Format.fprintf ppf "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."
# 51 |          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 30-72, characters 4-7:
# 30 | ....begin fun (E (loc, err)) ->
# 31 |     Error.print_with_location loc
# 32 |       begin fun ppf ->
# 33 |       match err with
# 34 |       | TooManyArg ->
# ...
# 69 |          Format.fprintf ppf "The case %s is not implemented yet."
# 70 |            n
# 71 |       end
# 72 |     end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# File "src/core/total.ml", lines 144-147, characters 2-56:
# 144 | ..function
# 145 |   | LF.Empty -> LF.Empty
# 146 |   | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) ->
# 147 |      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 (_, CTypDeclOpt _)
# File "src/core/total.ml", lines 161-163, characters 2-40:
# 161 | ..function
# 162 |   | None -> " _ "
# 163 |   | 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 255, characters 25-43:
# 255 |        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 251-261, characters 4-41:
# 251 | ....match dec.order with
# 252 |     | `inductive (Arg x) ->
# 253 |        (dec.name, Some [x], (tau, Whnf.m_id))
# 254 |     | `inductive (Lex xs) ->
# 255 |        let xs = List.map (fun (Arg x) -> x) xs in
# ...
# 258 |     | `not_recursive
# 259 |       | `trust
# 260 |       | `partial ->
# 261 |        (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", lines 332-333, characters 19-25:
# 332 | ...................(LF.Decl (x, cU, dep)) =
# 333 |   gen_var' loc cD (x, 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 351-402, characters 2-30:
# 351 | ..function
# 352 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
# 353 |   (*  | 0, n, (Comp.TypPiBox (_, tau), theta) ->
# 354 |       let (spine, tau_r) = rec_spine cD (cM, cU) (i, k - 1, (tau, theta)) in
# 355 |       (Comp.DC :: spine, tau_r)
# ...
# 399 | 
# 400 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
# 401 |      let (spine, tau_r) = rec_spine cD (cM, cU) (n - 1, (tau2, theta)) in
# 402 |      (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 405-438, characters 2-30:
# 405 | ..function
# 406 |   | (0, ttau) -> ([], Whnf.cnormCTyp ttau)
# 407 |   (* i = 0, k =/= 0
# 408 |      | (n, (Comp.TypPiBox (_, tau), theta)) ->
# 409 |      let (spine, tau_r) = rec_spine' cD (x, tau) (i, k - 1, (tau, theta)) in
# ...
# 435 | 
# 436 |   | (n, (Comp.TypArr (_, _, tau2), theta)) ->
# 437 |      let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in
# 438 |      (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 484-493, characters 2-31:
# 484 | ..function
# 485 |   | [] -> []
# 486 |   | Comp.M cM :: args ->
# 487 |      if uninstantiated_arg cM
# 488 |      then Comp.DC :: generalize args
# 489 |      else Comp.M cM :: generalize args
# 490 |   | Comp.V x :: args ->
# 491 |      Comp.V x:: generalize args
# 492 |   | Comp.DC :: args ->
# 493 |      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", lines 501-593, characters 2-41:
# 501 | ..match cD' with
# 502 |   | LF.Empty -> cIH
# 503 | 
# 504 |   | LF.Dec (cD', LF.Decl (u, cU, dep))
# 505 |        when not (is_inductive dep) ->
# ...
# 590 |      dprint (fun () -> "[gen_rec_calls] for j = " ^ string_of_int j ^ "\n");
# 591 |      let cIH' = mk_all (cIH, j) mf_list in
# 592 |      dprint (fun () -> "[gen_rec_calls] for j = " ^ string_of_int (j+1) ^ "\n");
# 593 |      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 (_, DeclOpt (_, _))
# File "src/core/total.ml", lines 605-671, characters 2-47:
# 605 | ..match cG0 with
# 606 |   | LF.Empty -> cIH
# 607 |   | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) ->
# 608 |      gen_rec_calls' cD cG cIH (cG', j + 1) mfs
# 609 | 
# ...
# 668 |           mk_all cIH' mf_list
# 669 |      in
# 670 |      let cIH' = mk_all cIH mf_list in
# 671 |      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 740-748, characters 2-69:
# 740 | ..match cPsi with
# 741 |   (* cPsi |- tA *)
# 742 |   | LF.Null -> None
# 743 |   | LF.CtxVar _ -> None
# 744 |   | LF.DDec (cPsi, LF.TypDecl (_, tB)) ->
# 745 |      if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id)
# 746 |      then Some k
# 747 |      else
# 748 |        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 (_, TypDeclOpt _)
# File "src/core/total.ml", lines 850-853, characters 5-39:
# 850 | .....let LF.Root (_, tH', _, _) =
# 851 |        Whnf.norm (LF.Root (l, tH, LF.Nil, `explicit), s_proj)
# 852 |      in
# 853 |      (l, LF.ClObj (phat0, 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/total.ml", lines 862-868, characters 2-55:
# 862 | ..match args with
# 863 |   | [] -> []
# 864 |   | Comp.DC :: args -> Comp.DC :: shiftArgs args (cPsi', s_proj, cPsi)
# 865 |   | Comp.V x :: args -> Comp.V x :: shiftArgs args (cPsi', s_proj, cPsi)
# 866 |   | Comp.M cM :: args ->
# 867 |      let cM' = shiftMetaObj cM (cPsi', s_proj, cPsi) in
# 868 |      Comp.M cM' :: shiftArgs 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 1029-1050, characters 2-40:
# 1029 | ..function
# 1030 |   | Comp.TypBase (loc, c, _) ->
# 1031 |      not (Id.cid_equals a c)
# 1032 |      && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
# 1033 |         | Sgn.Positivity -> true
# ...
# 1047 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
# 1048 |   | Comp.TypCross (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2
# 1049 |   | Comp.TypPiBox (_, _, tau') -> no_occurs a tau'
# 1050 |   | 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 1053-1073, characters 2-40:
# 1053 | ..function
# 1054 |   | Comp.TypBase (loc, c, _) ->
# 1055 |      Id.cid_equals a c
# 1056 |      || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with
# 1057 |         | Sgn.Positivity -> true
# ...
# 1070 |   | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2
# 1071 |   | Comp.TypCross (_, tau1, tau2) -> check_positive a tau1 && check_positive a tau2
# 1072 |   | Comp.TypPiBox (_, _, tau') -> check_positive a tau'
# 1073 |   | 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 1077-1085, characters 2-40:
# 1077 | ..function
# 1078 |   | Comp.TypBase _ -> true
# 1079 |   | Comp.TypCobase _ -> true
# 1080 |   | Comp.TypDef _ -> raise Unimplemented
# 1081 |   | Comp.TypBox _ -> true
# 1082 |   | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2
# 1083 |   | Comp.TypCross (_, tau1, tau2) -> positive a tau1 && positive a tau2
# 1084 |   | Comp.TypPiBox (_, _, tau') -> positive a tau'
# 1085 |   | 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 1205-1242, characters 2-27:
# 1205 | ..match tau1 with
# 1206 |   | Comp.TypBase (loc, c, mS1) ->
# 1207 |      if Id.cid_equals a c
# 1208 |      then
# 1209 |        begin
# ...
# 1239 |   | Comp.TypBox _
# 1240 |     | Comp.TypClo _
# 1241 |     | Comp.TypCobase _
# 1242 |     | 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 1266-1291, characters 8-48:
# 1266 | ........function
# 1267 |         | Comp.TypBase _
# 1268 |           | Comp.TypCobase _
# 1269 |           | Comp.TypBox _ -> true
# 1270 | 
# ...
# 1288 |         | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau'
# 1289 | 
# 1290 |         | Comp.TypDef _
# 1291 |           | 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.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfcheck.cmo -c -impl src/core/lfcheck.pp.ml)
# File "src/core/lfcheck.ml", lines 43-171, characters 4-7:
#  43 | ....begin fun (Error (loc, err)) ->
#  44 |     Error.print_with_location loc
#  45 |       begin fun ppf ->
#  46 |       match err with
#  47 |       | ParamVarInst (cD, cPsi, sA) ->
# ...
# 168 |          Format.fprintf ppf "Offending substitution: %a @."
# 169 |            (P.fmt_ppr_lf_sub cD cPsi P.l0) sub
# 170 |       end
# 171 |     end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# File "src/core/lfcheck.ml", lines 228-233, characters 2-19:
# 228 | ..function
# 229 |   | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *)
# 230 |   | DDec (cPsi', TypDecl (n, tA)) ->
# 231 |      let s = (ctxToSub' cPhi cPsi' : sub) in
# 232 |      let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Maybe in
# 233 |      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 (_, TypDeclOpt _)
# File "src/core/lfcheck.ml", lines 249-337, characters 2-8:
# 249 | ..match (sM, sA) with
# 250 |   | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _), tB), s2)) -> (* Offset by 1 *)
# 251 |      check cD
# 252 |        (DDec (cPsi, S.LF.decSub tX s2))
# 253 |        (tM, S.LF.dot1 s1)
# ...
# 334 |        with
# 335 |        | SpineMismatch ->
# 336 |           raise (Error (loc, (CheckError (cD, cPsi, sM, sA))))
# 337 |      end
# 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 368-377, characters 4-23:
# 368 | ....match (tS, sA) with
# 369 |     | ((Nil, _), sP) -> sP
# 370 | 
# 371 |     | ((SClo (tS, s'), s), sA) ->
# 372 |        syn (tS, S.LF.comp s' s) sA
# 373 | 
# 374 |     | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _), tB2), s2)) ->
# 375 |        check cD cPsi (tM, s1) (tA1, s2);
# 376 |        let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in
# 377 |        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 (_, _), _), (PiTyp ((TypDeclOpt _, _), _), _))
# File "src/core/lfcheck.ml", lines 353-384, characters 16-23:
# 353 | ................(Root (loc, h, tS, _), s (* id *)) =
# 354 |   let rec spineLength =
# 355 |     function
# 356 |     | Nil -> 0
# 357 |     | SClo (tS, _) -> spineLength tS
# ...
# 381 |   (* Check first that we didn't supply too many arguments. *)
# 382 |   if typLength sA' < spineLength tS
# 383 |   then raise (Error (loc, SpineIllTyped (typLength sA', spineLength tS)));
# 384 |   syn (tS, s) (sA', s')
# 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 400-401, characters 5-7:
# 400 | .....let TypDecl (_, tA) = ctxDec cPsi k' in
# 401 |      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 407-416, characters 10-25:
# 407 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
# 408 |           dprintf
# 409 |             begin fun p ->
# 410 |             p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]"
# 411 |               (P.fmt_ppr_lf_dctx cD P.l0) cPsi
# 412 |               (P.fmt_ppr_lf_head cD cPsi P.l0) head
# 413 |               (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head
# 414 |               (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA
# 415 |             end;
# 416 |           (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 418-420, characters 10-19:
# 418 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
# 419 |           checkSub loc cD cPsi s Subst cPsi';
# 420 |           (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 405-421, characters 7-64:
# 405 | .......match tuple_head with
# 406 |        | BVar k' ->
# 407 |           let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in
# 408 |           dprintf
# 409 |             begin fun p ->
# ...
# 418 |           let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in
# 419 |           checkSub loc cD cPsi s Subst cPsi';
# 420 |           (recA, s)
# 421 |        | 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 453-464, characters 5-17:
# 453 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
# 454 |      dprintf
# 455 |        begin fun p ->
# 456 |        let f = P.fmt_ppr_lf_dctx cD P.l0 in
# 457 |        p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]"
# ...
# 461 |          f cPsi'
# 462 |        end;
# 463 |      checkSub loc cD cPsi s Subst cPsi' ;
# 464 |      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 468-481, characters 5-37:
# 468 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in
# 469 |      dprintf
# 470 |        begin fun p ->
# 471 |        let f = P.fmt_ppr_lf_mctx P.l0 in
# 472 |        p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]"
# ...
# 478 |      checkMSub loc cD t' mmvar.cD;
# 479 |      dprint (fun () -> "[inferHead] MMVar - msub done \n");
# 480 |      checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ;
# 481 |      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 398-513, characters 2-41:
# 398 | ..match (head, cl) with
# 399 |   | (BVar k', _) ->
# 400 |      let TypDecl (_, tA) = ctxDec cPsi k' in
# 401 |      tA
# 402 | 
# ...
# 510 |      TClo (tA, s)
# 511 | 
# 512 |   | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) ->
# 513 |      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 516-535, characters 2-13:
# 516 | ..match cPsi with
# 517 |   | Null -> true (* we need to succeed because coverage should detect that
# 518 |                       it is not inhabited *)
# 519 | 
# 520 |   | CtxVar ctx_var ->
# ...
# 532 | 
# 533 |   | DDec (rest, TypDecl _) ->
# 534 |      canAppear cD rest head sA loc
# 535 |      || false...........................................
# 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/lfcheck.ml", lines 650-662, characters 2-23:
# 650 | ..match sS1, sK with
# 651 |   | (Nil, _), sK ->
# 652 |     sK
# 653 | 
# 654 |   | (SClo (tS, s'), s), sK ->
# ...
# 659 |     synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2))
# 660 | 
# 661 |   | (App _, _), (Typ, _) ->
# 662 |     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 671-688, characters 2-47:
# 671 | ..match tA with
# 672 |   | Atom (loc, a, tS) ->
# 673 |      let tK = (Typ.get a).Typ.Entry.kind in
# 674 |      begin
# 675 |        try
# ...
# 685 |      checkTyp cD cPsi (tA, s);
# 686 |      checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s)
# 687 | 
# 688 |   | 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 717-721, characters 2-53:
# 717 | ..function
# 718 |   | Typ -> ()
# 719 |   | PiKind ((TypDecl (x, tA), _), kind) ->
# 720 |      checkTyp cD cPsi (tA, S.LF.id);
# 721 |      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 731-732, characters 2-47:
# 731 | ..match decl with
# 732 |   | 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 741-761, characters 2-7:
# 741 | ..match cPsi with
# 742 |   | Null -> ()
# 743 |   | DDec (cPsi, tX) ->
# 744 |      checkDCtx cD cPsi;
# 745 |      checkDec cD cPsi (tX, S.LF.id)
# ...
# 758 |          (P.fmt_ppr_lf_mctx P.l0) cD
# 759 |        end;
# 760 |      ignore (Whnf.mctxLookup cD k);
# 761 |      ()
# 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 957-958, characters 5-47:
# 957 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in
# 958 |      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 1014-1022, characters 2-57:
# 1014 | ..match (sArec, sBrec) with
# 1015 |   | ((SigmaLast _, _), (SigmaLast _, _)) ->
# 1016 |      None
# 1017 | 
# 1018 |   | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) ->
# 1019 |      Some (recA, s)
# 1020 | 
# 1021 |   | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) ->
# 1022 |      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 1070-1096, characters 2-71:
# 1070 | ..match (cM, cTt) with
# 1071 |   | (CObj cPsi, (CTyp (Some w), _)) ->
# 1072 |      let { Schema.Entry.name; schema; decl = _ } = Schema.get w in
# 1073 |      checkSchema loc cD cPsi name schema
# 1074 | 
# ...
# 1093 |      let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in
# 1094 |      let (_, mtyp2) = Whnf.mctxLookup cD u in
# 1095 |      if not (Whnf.convMTyp mtyp1 mtyp2)
# 1096 |      then raise (Error.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 _, (CTyp None, _))
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfrecon.cmo -c -impl src/core/lfrecon.pp.ml)
# File "src/core/lfrecon.ml", lines 240-249, characters 4-7:
# 240 | ....begin fun (Error (loc, err, hints)) ->
# 241 |     Error.print_with_location loc
# 242 |       begin fun ppf ->
# 243 |       fprintf ppf "@[<v>%a%a@]"
# 244 |         print_error err
# 245 |         (pp_print_list ~pp_sep: (fun _ _ -> ())
# 246 |            (fun ppf x -> fprintf ppf "@,  - %a" print_hint x))
# 247 |         hints
# 248 |       end
# 249 |     end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# *extension*
# Matching over values of extensible variant types (the *extension* above)
# must include a wild card pattern in order to be exhaustive.
# File "src/core/lfrecon.ml", lines 257-266, characters 2-29:
# 257 | ..function
# 258 |   | Apx.LF.BVar _ -> "BVar"
# 259 |   | Apx.LF.Const _ -> "Const"
# 260 |   | Apx.LF.MVar _ -> "MVar"
# 261 |   | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset "
# 262 |   | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst "
# 263 |   | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head
# 264 |   | Apx.LF.FVar _ -> "FVar"
# 265 |   | Apx.LF.FMVar _ -> "FMVar"
# 266 |   | 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 279-280, characters 5-19:
# 279 | .....let (None, d) = Context.dctxToHat cPsi in
# 280 |      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 315-328, characters 8-75:
# 315 | ........let CTyp s_cid = mmvar1.typ in
# 316 |         if d = d'
# 317 |         then
# 318 |           begin
# 319 |             begin match c_var with
# ...
# 325 |             true
# 326 |           end
# 327 |         else
# 328 |           Error.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 353-354, characters 9-32:
# 353 | .........let (_, Int.LF.Decl (_, Int.LF.CTyp (Some s_cid), _dep)) = FCVar.get n in
# 354 |          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 (_, CTyp None, _))
# File "src/core/lfrecon.ml", lines 347-361, characters 2-94:
# 347 | ..match ctxvar with
# 348 |   | Some (Int.LF.CtxOffset _ as phi) ->
# 349 |      Schema.get_schema (Context.lookupCtxVarSchema cD phi)
# 350 |   | Some (Int.LF.CtxName n) ->
# 351 |      begin
# ...
# 358 | 
# 359 |   | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) ->
# 360 |      Schema.get_schema s_cid
# 361 |   | None -> raise (Error.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 367-371, characters 2-44:
# 367 | ..function
# 368 |   | Int.LF.Atom _ -> m
# 369 |   | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _), tA) ->
# 370 |      dprint (fun () -> "eta FMV - add Lam ");
# 371 |      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 380-384, characters 4-62:
# 380 | ....function
# 381 |     | Int.LF.Atom _ -> (k, s)
# 382 |     | Int.LF.PiTyp (_, tA) ->
# 383 |        let (k', s') = go (k+1) s tA in
# 384 |        (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 386-390, characters 2-18:
# 386 | ..match tA, s with
# 387 |   | Int.LF.Atom _, _ -> (k, s)
# 388 |   | Int.LF.PiTyp _, None ->
# 389 |      let (k', s') = go k Apx.LF.Id tA in
# 390 |      (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", lines 394-396, characters 20-71:
# 394 | ....................(Apx.LF.MVar (x, s)) tA =
# 395 |   let (_, s') = etaExpSub 0 s tA in
# 396 |   addPrefix loc (Apx.LF.Root (loc, Apx.LF.MVar (x, s'), Apx.LF.Nil)) 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 401-405, characters 4-50:
# 401 | ....function
# 402 |     | Int.LF.Atom _ -> (k, tS)
# 403 |     | Int.LF.PiTyp (_, tA') ->
# 404 |        let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, `explicit) in
# 405 |        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 409-412, characters 4-54:
# 409 | ....match tA with
# 410 |     | Int.LF.Atom _ -> tM
# 411 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _), tA') ->
# 412 |        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 417-419, characters 4-24:
# 417 | ....match h with
# 418 |     | Int.LF.BVar x -> Int.LF.BVar (x+k-1)
# 419 |     | 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 452-456, characters 4-53:
# 452 | ....function
# 453 |     | Int.LF.Atom _ -> (k, tS)
# 454 |     | Int.LF.PiTyp (_, tA') ->
# 455 |        let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in
# 456 |        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 459-463, characters 4-57:
# 459 | ....match tA with
# 460 |     | Int.LF.Atom _ -> tM
# 461 |     | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _), tA') ->
# 462 |        dprint (fun () -> "eta - add Lam ");
# 463 |        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 608-609, characters 2-33:
# 608 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in
# 609 |   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 612-625, characters 2-19:
# 612 | ..match h with
# 613 |   | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k)
# 614 | 
# 615 |   | Apx.LF.Proj (Apx.LF.BVar k, p) ->
# 616 |      let tp =
# ...
# 622 |      let j = getProjIndexFromType loc cD cPsi tp p in
# 623 |      dprint (fun () -> "flattenProjPat Proj Case: k = " ^ string_of_int k ^ "    j = " ^ string_of_int j ^ "\n");
# 624 |      let k' = ConvSigma.map conv_list k - j + 1 in
# 625 |      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 632-638, characters 7-41:
# 632 | .......function
# 633 |        | Apx.LF.Id -> Apx.LF.Id
# 634 |        | Apx.LF.EmptySub -> Apx.LF.EmptySub
# 635 |        | Apx.LF.Dot (Apx.LF.Head h, s) ->
# 636 |           let s' = go s in
# 637 |           let h' = flattenProjPatHead loc cD h conv_list cPsi in
# 638 |           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 674-686, characters 2-38:
# 674 | ..match s with
# 675 |   | Apx.LF.Id -> s
# 676 | 
# 677 |   | Apx.LF.EmptySub -> s
# 678 | 
# ...
# 683 |      Apx.LF.Dot (Apx.LF.Head h, flattenSub s)
# 684 | 
# 685 |   | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) ->
# 686 |      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 692-693, characters 2-77:
# 692 | ..function
# 693 |   | 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 _, App (_, _))
# File "src/core/lfrecon.ml", lines 822-824, characters 5-60:
# 822 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
# 823 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j 1 in
# 824 |      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 (_, (Atom (_, (_, _), _)|PiTyp ((_, _), _)|TClo (_, _)))
# File "src/core/lfrecon.ml", lines 817-824, characters 2-60:
# 817 | ..function
# 818 |   | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k
# 819 |   | Apx.LF.Proj (h, nj) ->
# 820 |      let (tp, h') = synHead cD loc cPsi h in
# 821 |      let j = getProjIndexFromType loc cD cPsi tp nj in
# 822 |      let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in
# 823 |      let sQ = Int.LF.getType h' (typRec, S.LF.id) j 1 in
# 824 |      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 847-856, characters 5-8:
# 847 | .....begin match synHead cD loc cPsi h with
# 848 |      | (Int.LF.TypDecl (x, tA), h') ->
# 849 |         let tA' =
# 850 |           pruningTyp loc cD cPsi (Context.dctxToHat cPsi)
# 851 |             (tA, S.LF.id) (Int.LF.MShift 0, ss)
# 852 |         in
# 853 |         ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA'))
# 854 |         , Int.LF.Dot (Int.LF.Head h', s')
# 855 |         )
# 856 |      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 877-879, characters 7-37:
# 877 | .......match dep with
# 878 |        | Apx.LF.No -> Int.LF.No
# 879 |        | Apx.LF.Maybe -> Int.LF.Maybe
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Inductive
# File "src/core/lfrecon.ml", lines 873-884, characters 2-55:
# 873 | ..function
# 874 |   | Apx.LF.Typ -> Int.LF.Typ
# 875 |   | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), dep), k) ->
# 876 |      let dep' =
# 877 |        match dep with
# ...
# 881 |      let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in
# 882 |      let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in
# 883 |      let tK = elKind cD cPsi' k in
# 884 |      Int.LF.PiKind ((Int.LF.TypDecl (x, tA), dep'), 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 914-916, characters 7-37:
# 914 | .......match dep with
# 915 |        | Apx.LF.No -> Int.LF.No
# 916 |        | Apx.LF.Maybe -> Int.LF.Maybe
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Inductive
# File "src/core/lfrecon.ml", lines 903-925, characters 2-25:
# 903 | ..function
# 904 |   | Apx.LF.Atom (loc, a, s) ->
# 905 |      let tK = (Typ.get a).Typ.Entry.kind in
# 906 |      let i = (Typ.get a).Typ.Entry.implicit_arguments in
# 907 |      let s' = mkShift recT cPsi 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 1082-1092, characters 9-12:
# 1082 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 1083 |          let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
# 1084 |          begin
# 1085 |            try
# 1086 |              Unify.unifyTyp cD cPsi sQ sP;
# ...
# 1089 |            | Unify.Failure msg ->
# 1090 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1091 |            | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1092 |          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 1103-1120, characters 12-15:
# 1103 | ............let Int.LF.Type tA = FVar.get x in
# 1104 |             (* For type reconstruction to succeed, we must have
# 1105 |              *
# 1106 |              *  . |- tA <= type
# 1107 |              *  This will be enforced during abstraction
# ...
# 1117 |                  throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1118 |               | _ ->
# 1119 |                  throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1120 |             end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# TypVar (TInst (_, _, _, _))
# File "src/core/lfrecon.ml", lines 1214-1281, characters 9-12:
# 1214 | .........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi), _)) = FCVar.get u in
# 1215 |          dprintf
# 1216 |            begin fun p ->
# 1217 |            p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]"
# 1218 |              Id.print u
# ...
# 1278 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
# 1279 |            |_ ->
# 1280 |              raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP)))
# 1281 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))
# File "src/core/lfrecon.ml", lines 1462-1486, characters 9-12:
# 1462 | .........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi), _)) = FCVar.get p in
# 1463 |          let d = Context.length cD - Context.length cD_d in
# 1464 |          let (tA, cPhi) =
# 1465 |            if d = 0
# 1466 |            then (tA, cPhi)
# ...
# 1483 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
# 1484 |            | _ ->
# 1485 |               raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP)))
# 1486 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))
# File "src/core/lfrecon.ml", lines 1550-1586, characters 9-12:
# 1550 | .........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi), _)) =
# 1551 |            FCVar.get p
# 1552 |          in
# 1553 |          let d = Context.length cD - Context.length cD_d in
# 1554 |          let (tA, cPhi) =
# ...
# 1583 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1584 |            | _ ->
# 1585 |               throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1586 |          end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_,
# Decl
#   (_, ClTyp (PTyp (Atom (_, (_, _), _)|PiTyp ((_, _), _)|TClo (_, _)), _), _))
# File "src/core/lfrecon.ml", lines 1787-1792, characters 10-13:
# 1787 | ..........begin match S.LF.bvarSub k s'' with
# 1788 |           | Int.LF.Head (Int.LF.BVar j) ->
# 1789 |              Int.LF.Root (loc, Int.LF.BVar j, tS, `explicit)
# 1790 |           | Int.LF.Head (Int.LF.PVar (p, r')) ->
# 1791 |              Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, `explicit)
# 1792 |           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 1785-1796, characters 7-10:
# 1785 | .......begin match h with
# 1786 |        | Int.LF.BVar k ->
# 1787 |           begin match S.LF.bvarSub k s'' with
# 1788 |           | Int.LF.Head (Int.LF.BVar j) ->
# 1789 |              Int.LF.Root (loc, Int.LF.BVar j, tS, `explicit)
# ...
# 1793 |        | Int.LF.PVar (p, r) ->
# 1794 |           Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, `explicit)
# 1795 |        (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *)
# 1796 |        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 1836-1858, characters 5-8:
# 1836 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) =
# 1837 |        try
# 1838 |          Context.ctxSigmaDec cPsi x
# 1839 |        with
# 1840 |        | _ ->
# ...
# 1855 |        with
# 1856 |        | Unify.Failure msg ->
# 1857 |           throw loc (TypMismatchElab (cD, cPsi, sP, sQ))
# 1858 |      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 1861-1889, characters 5-8:
# 1861 | .....begin
# 1862 |        match Whnf.mctxPDec cD p with
# 1863 |        | (_, Int.LF.Sigma recA, cPsi') ->
# 1864 |           let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in
# 1865 |           let k = getProjIndex loc cD cPsi recA proj in
# ...
# 1886 |           end
# 1887 |        | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi))
# 1888 |        | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom))
# 1889 |      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 1920-1930, characters 12-15:
# 1920 | ............begin match S.LF.bvarSub y s'' with
# 1921 |             | Int.LF.Head (Int.LF.BVar x) ->
# 1922 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, `explicit)
# 1923 |             | Int.LF.Head (Int.LF.PVar (p, r')) ->
# 1924 |                Int.LF.Root
# ...
# 1927 |                  , tS
# 1928 |                  , `explicit
# 1929 |                  )
# 1930 |             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 1918-1938, characters 9-12:
# 1918 | .........begin match h with
# 1919 |          | Int.LF.BVar y ->
# 1920 |             begin match S.LF.bvarSub y s'' with
# 1921 |             | Int.LF.Head (Int.LF.BVar x) ->
# 1922 |                Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, `explicit)
# ...
# 1935 |               , tS
# 1936 |               , `explicit
# 1937 |               )
# 1938 |          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-1959, 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 (loc, m_name) ->
# ...
# 1956 | 
# 1957 |   | Apx.LF.Root (loc, h, _) ->
# 1958 |      dprint (fun () -> "[elTerm' **] h = " ^ what_head h ^ "\n");
# 1959 |      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 2082-2084, characters 5-58:
# 2082 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 2083 |      let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in
# 2084 |      (Int.LF.Root (loc, Int.LF.BVar x, tS, `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 2139-2149, characters 5-75:
# 2139 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in
# 2140 |      let k = getProjIndex loc cD cPsi recA proj in
# 2141 |      let sA =
# 2142 |        try
# 2143 |          Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k 1
# ...
# 2146 |           throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id)))
# 2147 |      in
# 2148 |      let (tS, sQ) = elSpine loc recT cD cPsi spine sA in
# 2149 |      (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, `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 2256-2290, characters 11-14:
# 2256 | ...........let (cD_d, Int.LF.Decl (_, Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0), dep)) =
# 2257 |              FCVar.get s_name
# 2258 |            in
# 2259 |            svar_le (cl0, cl);
# 2260 |            let d = Context.length cD - Context.length cD_d in
# ...
# 2287 |              with
# 2288 |              | Unify.Failure msg ->
# 2289 |                 throw loc (IllTypedSubVar (cD, cPsi, cPhi))
# 2290 |            end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))
# File "src/core/lfrecon.ml", lines 2493-2495, characters 9-40:
# 2493 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in
# 2494 |          dprint (fun () -> "[elHead] done");
# 2495 |          (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 2553-2555, characters 9-59:
# 2553 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in
# 2554 |          let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in
# 2555 |          (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:
# (_, ClTyp ((PTyp _|STyp (_, _)), _))
# File "src/core/lfrecon.ml", lines 2562-2564, characters 5-41:
# 2562 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in
# 2563 |      let s' = elSub loc recT cD cPsi s cl cPhi in
# 2564 |      (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:
# (_, ClTyp ((MTyp _|STyp (_, _)), _))
# File "src/core/lfrecon.ml", lines 2622-2653, characters 4-36:
# 2622 | ....match (sA, recT) with
# 2623 |     | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _), tB), s), Pi) ->
# 2624 |        (* cPsi' |- tA <= typ
# 2625 |         * cPsi  |- s  <= cPsi'      cPsi |- tN <= [s]A
# 2626 |         *
# ...
# 2650 |        in
# 2651 | 
# 2652 |        let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in
# 2653 |        (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 2684-2687, characters 4-25:
# 2684 | ....function
# 2685 |     | Int.LF.Atom _ -> 0
# 2686 |     | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2
# 2687 |     | 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 2704-2711, characters 4-32:
# 2704 | ....match (spine, Whnf.whnfTyp sA) with
# 2705 |     | (Apx.LF.Nil, sP) ->
# 2706 |        (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *)
# 2707 | 
# 2708 |     | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _), tB), s)) ->
# 2709 |        let tM = elTerm recT cD cPsi m (tA, s) in
# 2710 |        let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in
# 2711 |        (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 (_, _), (PiTyp ((TypDeclOpt _, _), _), _))
# File "src/core/lfrecon.ml", lines 2720-2739, characters 4-30:
# 2720 | ....match (sK, recT) with
# 2721 |     | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _), tK), s), Pi) ->
# 2722 |        (* let sshift = mkShift recT cPsi in *)
# 2723 |        (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *)
# 2724 |        let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Int.LF.Maybe in
# ...
# 2736 |            Whnf.etaExpandMMV Syntax.Loc.ghost cD cPsi (tA, s) n S.LF.id Int.LF.Maybe
# 2737 |        in
# 2738 |        let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in
# 2739 |        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 2813-2841, characters 5-32:
# 2813 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in
# 2814 |      (* cPsi |- tA : type
# 2815 |       * cPsi |- s' : cPsi'
# 2816 |       *)
# 2817 |      let ss = S.LF.invert s' in
# ...
# 2838 |      in
# 2839 | 
# 2840 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
# 2841 |      (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 2803-2841, characters 2-32:
# 2803 | ..match (spine, sP) with
# 2804 |   | (Apx.LF.Nil, _) ->
# 2805 |      let ss = S.LF.invert s' in
# 2806 |      let tQ = pruningTyp Syntax.Loc.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in
# 2807 |      (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist;
# ...
# 2838 |      in
# 2839 | 
# 2840 |      let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in
# 2841 |      (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 (_, BVar _, App (_, _)), _), _)
# File "src/core/lfrecon.ml", lines 2912-2975, characters 5-8:
# 2912 | .....begin match instantiation.contents with
# 2913 |      | None ->
# 2914 |         begin
# 2915 |           try
# 2916 |             begin match FVar.get x with
# ...
# 2972 |           | _ ->
# 2973 |              throw loc (UnboundName x)
# 2974 |         end
# 2975 |      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 2908-2975, characters 2-8:
# 2908 | ..function
# 2909 |   | [] -> ()
# 2910 |   | ((_, Apx.LF.(Root (loc, FVar x, spine)),
# 2911 |       Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) ->
# 2912 |      begin match instantiation.contents with
# ...
# 2972 |           | _ ->
# 2973 |              throw loc (UnboundName x)
# 2974 |         end
# 2975 |      end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Root (_, FVar _, _), Inst {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::_
# File "src/core/lfrecon.ml", lines 2997-3002, characters 7-92:
# 2997 | .......let (cD_d, Int.LF.(Decl (_, ClTyp (MTyp _tP, cPhi), _))) =
# 2998 |          lookup_fcvar loc u
# 2999 |        in
# 3000 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3001 |        let s'' = elSub loc cPsi s cPhi in
# 3002 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, `explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))
# File "src/core/lfrecon.ml", lines 3004-3010, characters 7-91:
# 3004 | .......let (cD_d, Int.LF.(Decl (_, ClTyp (PTyp tA, cPhi), _))) =
# 3005 |          lookup_fcvar loc x
# 3006 |        in
# 3007 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3008 |        let s'' = elSub loc cPsi s cPhi in
# 3009 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
# 3010 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, `explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))
# File "src/core/lfrecon.ml", lines 2994-3010, characters 4-91:
# 2994 | ....match tM, Int.LF.(v.typ) with
# 2995 |     | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) ->
# 2996 |        assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false);
# 2997 |        let (cD_d, Int.LF.(Decl (_, ClTyp (MTyp _tP, cPhi), _))) =
# 2998 |          lookup_fcvar loc u
# ...
# 3007 |        let cPhi = weakenAppropriately cD_d cPhi in
# 3008 |        let s'' = elSub loc cPsi s cPhi in
# 3009 |        let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in
# 3010 |        Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, `explicit))))
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# (Root (_, FMVar (_, _), _), ClTyp ((PTyp _|STyp (_, _)), _))
# (cd _build/default && /home/opam/.opam/5.0+alpha-repo/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/5.0+alpha-repo/lib/bytes -I /home/opam/.opam/5.0+alpha-repo/lib/extlib -I /home/opam/.opam/5.0+alpha-repo/lib/gen -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/str -I /home/opam/.opam/5.0+alpha-repo/lib/ocaml/unix -I /home/opam/.opam/5.0+alpha-repo/lib/sedlex -I /home/opam/.opam/5.0+alpha-repo/lib/seq -I src/support/.support.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Interactive.cmo -c -impl src/core/interactive.pp.ml)
# File "src/core/interactive.ml", lines 271-286, characters 10-26:
# 271 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in
# 272 |           (* let _ = Printf.printf "\n[Generated CovGoal] %s\n %s\n"
# 273 |             (P.mctxToString cDg') (Cover.covGoalToString cDg' cg); Format.flush_str_formatter () in  *)
# 274 |           let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in
# 275 |           let k = List.length cD_tail in
# ...
# 283 |           in
# 284 |           (*        let _ = Printf.printf "\n[Generated CovGoal – shifted] k = %s\n cD'' = %s\n %s\n"
# 285 |                    (string_of_int k) (P.mctxToString cD'') (Cover.covGoalToString cD'' cg'); Format.flush_str_formatter () in *)
# 286 |           (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", lines 252-287, characters 18-13:
# 252 | ..................(LF.Decl (n, mtyp, dep)) cD_tail =
# 253 |   match mtyp with
# 254 |   | LF.CTyp _ ->
# 255 |      Cover.genContextGoals cD' (n, mtyp, dep)
# 256 |      |> List.map
# ...
# 284 |           (*        let _ = Printf.printf "\n[Generated CovGoal – shifted] k = %s\n cD'' = %s\n %s\n"
# 285 |                    (string_of_int k) (P.mctxToString cD'') (Cover.covGoalToString cD'' cg'); Format.flush_str_formatter () in *)
# 286 |           (cD'', cg', ms0)
# 287 |           end
# Warning 8 [partial-match]: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# DeclOpt (_, _)



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build beluga 1.0
+- 
+- The following changes have been performed
| - install base-bytes          base
| - install cppo                1.6.9
| - install csexp               1.5.1
| - install dune                3.5.0
| - install dune-build-info     3.5.0
| - install dune-configurator   3.5.0
| - install extlib              1.7.9
| - install gen                 1.0
| - install linenoise           1.4.0
| - install ocaml-compiler-libs v0.12.4
| - install ocamlbuild          0.14.2
| - install ocamlfind           1.9.5
| - install ppx_derivers        1.2.1
| - install ppxlib              0.28.0
| - install result              1.5
| - install sedlex              3.0
| - install seq                 base
| - install sexplib0            v0.15.1
| - install stdlib-shims        0.3.0
| - install uchar               0.0.2
+- 
# Run eval $(opam env) to update the current shell environment

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/5.0+alpha-repo/.opam-switch/backup/state-20221102183423.export"
'opam install -vy beluga.1.0' failed.
"/bin/bash" "-c"
"
opam remove -y "beluga.1.0"
opam install -vy "beluga.1.0"
res=$?
if [ $res = 31 ]; then
    if opam show -f x-ci-accept-failures: "beluga.1.0" | 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