Building on m1-b.ocamllabs.io (from ocaml/opam:debian-unstable@sha256:a20618cee40a09b4c7604919411db28c4ae473b9780730085f91824e8dd5f205) 2022-09-02 20:53.38 ---> using "00583e82ec888c922d57db664b8acb62b642829c5a4a94b17a44e5693b1db2de" 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-09-02 20:53.38 ---> using "f816199fc982412d3ea70ae1ae1bab135eea82bc7670ac5d731bc57d0733e3c4" 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 418227c38ed4e28a0827786e5e9e50b9547c0b27")) 2022-09-02 20:53.38 ---> using "4cabcce7a0cb6de31986471b51abc9f1f3fec6a75be6e83e549da867c7605e5a" 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-09-02 20:53.38 ---> using "d451da695ab21573c7bdead4176eec083b0218f568c4ccf5f5b38b162d64d4d7" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam switch create --repositories=default '4.10' '4.10.2'")) <><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><> Switch invariant: ["ocaml-base-compiler" {= "4.10.2"} | "ocaml-system" {= "4.10.2"}] <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> installed base-bigarray.base -> installed base-threads.base -> installed base-unix.base -> retrieved ocaml-base-compiler.4.10.2 (cached) -> installed ocaml-base-compiler.4.10.2 -> installed ocaml-config.1 -> installed ocaml.4.10.2 Done. # Run eval $(opam env --switch=4.10) to update the current shell environment 2022-09-02 20:53.38 ---> using "ea1051769f3203aa31646f7c0e78bd43f43434d28e69c6409ab40108642c7626" from cache /: (run (network host) (shell "opam update --depexts")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://deb.debian.org/debian unstable InRelease [192 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-09-02-0804.09-F-2022-08-29-1405.22.pdiff [252 kB] - Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2022-09-02-0804.09-F-2022-08-29-1405.22.pdiff [252 kB] - Fetched 508 kB in 4s (133 kB/s) - Reading package lists... - 2022-09-02 20:53.38 ---> using "7ff8a71bfc39124df778b2687afd0d98d957290bd53c04a706b09c9f3f324dbb" 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")) Nothing to do. [NOTE] beluga.1.0 is not installed. 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.4.1 [required by beluga] - install dune-build-info 3.4.1 [required by beluga] - install dune-configurator 3.4.1 [required by gen] - install extlib 1.7.9 [required by beluga] - install gen 1.0 [required by beluga] - install linenoise 1.3.1 [required by beluga] - install ocaml-compiler-libs v0.12.4 [required by ppxlib] - install ocamlbuild 0.14.1 [required by uchar] - install ocamlfind 1.9.5 [required by base-bytes] - install ppx_derivers 1.2.1 [required by ppxlib] - install ppxlib 0.27.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.3.1 (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.1 (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/4.10" "OCAMLBUILD_BINDIR=/home/opam/.opam/4.10/bin" "OCAMLBUILD_LIBDIR=/home/opam/.opam/4.10/lib" "OCAMLBUILD_MANDIR=/home/opam/.opam/4.10/man" "OCAML_NATIVE=true" "OCAML_NATIVE_TOOLS=true" (CWD=/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1) - (echo "# This file was generated from configure.make"; \ - echo ;\ - echo "OCAML_PREFIX="; \ - echo "OCAML_BINDIR=/home/opam/.opam/4.10/bin"; \ - echo "OCAML_LIBDIR=/home/opam/.opam/4.10/lib/ocaml"; \ - echo "OCAML_MANDIR=/home/opam/.opam/4.10/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/4.10"; \ - echo "BINDIR=/home/opam/.opam/4.10/bin"; \ - echo "LIBDIR=/home/opam/.opam/4.10/lib"; \ - echo "MANDIR=/home/opam/.opam/4.10/man"; \ - ) > Makefile.config - (echo "(* This file was generated from ../configure.make *)"; \ - echo ;\ - echo 'let bindir = "/home/opam/.opam/4.10/bin"'; \ - echo 'let libdir = "/home/opam/.opam/4.10/lib"'; \ - echo 'let ocaml_libdir = "/home/opam/.opam/4.10/lib/ocaml"'; \ - echo 'let libdir_abs = "/home/opam/.opam/4.10/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.1"'; \ - ) > src/ocamlbuild_config.ml Processing 15/61: [beluga.1.0: http] [ocamlbuild: make check-if-preinstalled] [ocamlfind: ./configure] -> retrieved ppxlib.0.27.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 uchar.0.0.2 (cached) -> retrieved dune.3.4.1, dune-build-info.3.4.1, dune-configurator.3.4.1 (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/4.10/bin" "-sitelib" "/home/opam/.opam/4.10/lib" "-mandir" "/home/opam/.opam/4.10/man" "-config" "/home/opam/.opam/4.10/lib/findlib.conf" "-no-custom" "-no-camlp4" (CWD=/home/opam/.opam/4.10/.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 - dynlink: found - bigarray: found - 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: found - threads: found (in +threads) - runtime_events: not present - str: found - 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 bigarray written to site-lib-src/bigarray/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 raw_spacetime written to site-lib-src/raw_spacetime/META - Configuration for threads written to site-lib-src/threads/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/4.10/lib/ocaml - Binaries: /home/opam/.opam/4.10/bin - Manual pages: /home/opam/.opam/4.10/man - Multi-threading type: posix - The directory of site-specific packages will be - site-lib: /home/opam/.opam/4.10/lib - The configuration file is written to: - findlib config file: /home/opam/.opam/4.10/lib/findlib.conf - Software will be installed: - Libraries: in <site-lib>/findlib - Binaries: /home/opam/.opam/4.10/bin - Manual pages: /home/opam/.opam/4.10/man - topfind script: /home/opam/.opam/4.10/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 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/4.10/.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/4.10/.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/4.10/lib/findlib.conf' | \ - ../../tools/patch '@STDLIB@' '/home/opam/.opam/4.10/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 - ocamlc -I +compiler-libs -opaque -I +unix -I +dynlink -c findlib.mli - ocamlc -I +compiler-libs -opaque -I +unix -I +dynlink -g -c findlib.ml - ocamlc -I +compiler-libs -opaque -I +unix -I +dynlink -g -c fl_args.ml - ocamlc -I +compiler-libs -opaque -I +unix -I +dynlink -g -c fl_lint.ml - ocamlc -I +compiler-libs -a -o findlib.cma 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 - 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 - 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/4.10/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/4.10/.opam-switch/build/ocamlfind.1.9.5/src/findlib' - make all-config - make[1]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlfind.1.9.5' - USE_CYGPATH="0"; \ - export USE_CYGPATH; \ - cat findlib.conf.in | \ - tools/patch '@SITELIB@' '/home/opam/.opam/4.10/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/4.10/.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/4.10/.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/4.10/.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 - ocamlopt -I +compiler-libs -g -opaque -I +unix -I +dynlink -c findlib.ml - ocamlopt -I +compiler-libs -g -opaque -I +unix -I +dynlink -c fl_args.ml - ocamlopt -I +compiler-libs -g -opaque -I +unix -I +dynlink -c fl_lint.ml - ocamlopt -I +compiler-libs -g -a -o findlib.cmxa 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 - 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 "_none_", line 1: - Warning 58: no cmx file was found in path for module Topdirs, and its interface was not compiled with -opaque - File "_none_", line 1: - Warning 58: no cmx file was found in path for module Toploop, and its interface was not compiled with -opaque - ocamlopt -I +compiler-libs -g -a -o findlib_top.cmxa topfind.cmx - if [ 1 -gt 0 ]; then \ - ocamlopt -I +compiler-libs -g -shared -o findlib_top.cmxs topfind.cmx; \ - fi - ocamlopt -I +compiler-libs -g -opaque -I +unix -I +dynlink -c fl_dynload.ml - ocamlopt -I +compiler-libs -g -a -o findlib_dynload.cmxa fl_dynload.cmx - if [ 1 -gt 0 ]; then \ - ocamlopt -I +compiler-libs -g -shared -o findlib_dynload.cmxs fl_dynload.cmx; \ - fi - make[1]: Leaving directory '/home/opam/.opam/4.10/.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/4.10/.opam-switch/build/ocamlbuild.0.14.1) - if test -d /home/opam/.opam/4.10/lib/ocaml/ocamlbuild; then\ - >&2 echo "ERROR: Preinstalled ocamlbuild detected at"\ - "/home/opam/.opam/4.10/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 +unix -safe-string -bin-annot -strict-sequence -c src/const.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/loc.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/loc.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/discard_printf.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/discard_printf.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/signatures.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/my_std.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/my_std.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/my_unix.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/my_unix.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/tags.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/tags.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/display.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/display.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/log.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/log.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/shell.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/shell.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/bool.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/bool.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_ast.mli - ocamlc.opt -w +L -w +R -w +Z -I src -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 +unix -safe-string -bin-annot -strict-sequence -c src/glob_lexer.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/glob_lexer.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/glob.mli - ocamlc.opt -w +L -w +R -w +Z -I src -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 +unix -safe-string -bin-annot -strict-sequence -c src/lexers.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/lexers.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/param_tags.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/param_tags.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/command.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/command.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_config.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_where.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_where.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/slurp.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/slurp.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/options.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/options.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/pathname.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/pathname.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/configuration.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/configuration.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/flags.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/flags.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/hygiene.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/hygiene.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/digest_cache.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/digest_cache.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/resource.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/resource.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/rule.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/rule.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/solver.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/solver.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/report.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/report.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/tools.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/tools.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/fda.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/fda.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/findlib.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/findlib.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_arch.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_arch.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_utils.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_utils.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_dependencies.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_dependencies.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_compiler.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_compiler.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_tools.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_tools.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_specific.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocaml_specific.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/exit_codes.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/exit_codes.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/plugin.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/plugin.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/hooks.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/hooks.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/main.mli - ocamlc.opt -w +L -w +R -w +Z -I src -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 +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_plugin.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_plugin.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_executor.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_executor.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_unix_plugin.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_unix_plugin.ml - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild.mli - ocamlc.opt -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild.ml - ocamlc.opt -I +unix -I src -o ocamlbuild.byte unix.cma src/ocamlbuild_pack.cmo src/ocamlbuild_plugin.cmo src/ocamlbuild_executor.cmo src/ocamlbuild_unix_plugin.cmo src/ocamlbuild.cmo - ocamlc.opt -a -o src/ocamlbuildlib.cma src/ocamlbuild_pack.cmo src/ocamlbuild_plugin.cmo src/ocamlbuild_executor.cmo src/ocamlbuild_unix_plugin.cmo - ocamlopt.opt -for-pack Ocamlbuild_pack -w +L -w +R -w +Z -I src -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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 +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 -for-pack Ocamlbuild_pack -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_plugin.ml - ocamlopt.opt -for-pack Ocamlbuild_pack -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_executor.ml - ocamlopt.opt -for-pack Ocamlbuild_pack -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild_unix_plugin.ml - ocamlopt.opt -for-pack Ocamlbuild_pack -w +L -w +R -w +Z -I src -I +unix -safe-string -bin-annot -strict-sequence -c src/ocamlbuild.ml - ocamlopt.opt -I +unix -I src -o ocamlbuild.native unix.cmxa src/ocamlbuild_pack.cmx src/ocamlbuild_plugin.cmx src/ocamlbuild_executor.cmx src/ocamlbuild_unix_plugin.cmx src/ocamlbuild.cmx - ocamlopt.opt -a -o src/ocamlbuildlib.cmxa src/ocamlbuild_pack.cmx src/ocamlbuild_plugin.cmx src/ocamlbuild_executor.cmx src/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/4.10/.opam-switch/build/ocamlbuild.0.14.1' - rm -f ocamlbuild.install - touch ocamlbuild.install - make install-bin-opam - make[2]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - 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/4.10/.opam-switch/build/ocamlbuild.0.14.1' - make install-lib-opam - make[2]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - echo 'lib: [' >> ocamlbuild.install - make install-lib-basics-opam - make[3]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - 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/4.10/.opam-switch/build/ocamlbuild.0.14.1' - make install-lib-byte-opam - make[3]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - for lib in src/ocamlbuildlib.cma src/ocamlbuild.cmo src/ocamlbuild_pack.cmi src/ocamlbuild_plugin.cmi src/ocamlbuild_executor.cmi src/ocamlbuild_unix_plugin.cmi; do \ - echo " \"$lib\" {\"$(basename $lib)\"}" >> ocamlbuild.install; \ - done - make[3]: Leaving directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - make install-lib-native-opam - make[3]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - for lib in src/ocamlbuildlib.cmxa src/ocamlbuildlib.a src/ocamlbuild.cmx src/ocamlbuild.o src/ocamlbuild_pack.cmx src/ocamlbuild_plugin.cmx src/ocamlbuild_executor.cmx src/ocamlbuild_unix_plugin.cmx src/ocamlbuild_plugin.o src/ocamlbuild_executor.o src/ocamlbuild_unix_plugin.o; do \ - echo " \"$lib\" {\"$(basename $lib)\"}" >> ocamlbuild.install; \ - done - make[3]: Leaving directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - echo ']' >> ocamlbuild.install - echo >> ocamlbuild.install - make[2]: Leaving directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - make install-man-opam - make[2]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - 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/4.10/.opam-switch/build/ocamlbuild.0.14.1' - make install-doc-opam - make[2]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' - 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/4.10/.opam-switch/build/ocamlbuild.0.14.1' - make[1]: Leaving directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlbuild.0.14.1' -> compiled ocamlbuild.0.14.1 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/4.10/.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/4.10/lib/$x/META" ]; then \ - if ! grep -Fq '[distributed with Ocaml]' "//home/opam/.opam/4.10/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/4.10/bin" - install -d "/home/opam/.opam/4.10/man" - make install-config - make[1]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlfind.1.9.5' - install -d "`dirname \"/home/opam/.opam/4.10/lib/findlib.conf\"`" - test -f "/home/opam/.opam/4.10/lib/findlib.conf" || install -c findlib.conf "/home/opam/.opam/4.10/lib/findlib.conf" - make[1]: Leaving directory '/home/opam/.opam/4.10/.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/4.10/.opam-switch/build/ocamlfind.1.9.5/src/findlib' - install -d "/home/opam/.opam/4.10/lib/findlib" - install -d "/home/opam/.opam/4.10/bin" - test 1 -eq 0 || install -d "/home/opam/.opam/4.10/lib/ocaml" - test 1 -eq 0 || install -c topfind "/home/opam/.opam/4.10/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/4.10/lib/findlib/" - f="ocamlfind"; { test -f ocamlfind_opt && f="ocamlfind_opt"; }; \ - install -c $f "/home/opam/.opam/4.10/bin/ocamlfind" - # the following "if" block is only needed for 4.00beta2 - if [ 1 -eq 0 -a -f "/home/opam/.opam/4.10/lib/ocaml/compiler-libs/topdirs.cmi" ]; then \ - cd "/home/opam/.opam/4.10/lib/ocaml/compiler-libs/"; \ - install -c topdirs.cmi toploop.cmi "/home/opam/.opam/4.10/lib/findlib/"; \ - fi - make[1]: Leaving directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlfind.1.9.5/src/findlib' - make install-meta - make[1]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlfind.1.9.5' - for x in bigarray bytes compiler-libs dynlink ocamldoc raw_spacetime stdlib str threads unix ; do install -d "/home/opam/.opam/4.10/lib/$x"; install -c site-lib-src/$x/META "/home/opam/.opam/4.10/lib/$x/META.tmp" && mv "/home/opam/.opam/4.10/lib/$x/META.tmp" "/home/opam/.opam/4.10/lib/$x/META"; done - install -d "/home/opam/.opam/4.10/lib/findlib"; install -c Makefile.packages "/home/opam/.opam/4.10/lib/findlib/Makefile.packages" - make[1]: Leaving directory '/home/opam/.opam/4.10/.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/4.10/bin" - make install-doc - make[1]: Entering directory '/home/opam/.opam/4.10/.opam-switch/build/ocamlfind.1.9.5' - install -d "/home/opam/.opam/4.10/man/man1" "/home/opam/.opam/4.10/man/man3" "/home/opam/.opam/4.10/man/man5" - install -c doc/ref-man/ocamlfind.1 "/home/opam/.opam/4.10/man/man1" - install -c doc/ref-man/META.5 doc/ref-man/site-lib.5 doc/ref-man/findlib.conf.5 "/home/opam/.opam/4.10/man/man5" - make[1]: Leaving directory '/home/opam/.opam/4.10/.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.1 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/4.10/.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/4.10/.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" "47" (CWD=/home/opam/.opam/4.10/.opam-switch/build/dune.3.4.1) - ocamlc -output-complete-exe -w -24 -g -o .duneboot.exe -I boot unix.cma boot/libs.ml boot/duneboot.ml - ./.duneboot.exe -j 47 - 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" "47" (CWD=/home/opam/.opam/4.10/.opam-switch/build/dune.3.4.1) -> compiled dune.3.4.1 -> installed dune.3.4.1 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" "47" "@install" (CWD=/home/opam/.opam/4.10/.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/4.10/.opam-switch/build/dune-build-info.3.4.1) + /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "ppx_derivers" "-j" "47" (CWD=/home/opam/.opam/4.10/.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" "47" (CWD=/home/opam/.opam/4.10/.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" "rm" "-rf" "vendor/csexp" (CWD=/home/opam/.opam/4.10/.opam-switch/build/dune-configurator.3.4.1) + /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "rm" "-rf" "vendor/pp" (CWD=/home/opam/.opam/4.10/.opam-switch/build/dune-build-info.3.4.1) Processing 44/61: [cppo: dune build] [dune-build-info: dune build] [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" "rm" "-rf" "vendor/pp" (CWD=/home/opam/.opam/4.10/.opam-switch/build/dune-configurator.3.4.1) Processing 44/61: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [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" "47" (CWD=/home/opam/.opam/4.10/.opam-switch/build/stdlib-shims.0.3.0) -> compiled stdlib-shims.0.3.0 Processing 44/61: [cppo: dune build] [dune-build-info: dune build] [dune-configurator: dune build] [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: 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" "47" (CWD=/home/opam/.opam/4.10/.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" "47" (CWD=/home/opam/.opam/4.10/.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" "47" "@install" (CWD=/home/opam/.opam/4.10/.opam-switch/build/dune-build-info.3.4.1) -> compiled dune-build-info.3.4.1 Processing 48/61: [dune-configurator: dune build] [extlib: dune build] [linenoise: dune build] [ocaml-compiler-libs: dune build] -> installed dune-build-info.3.4.1 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" "-p" "ocaml-compiler-libs" "-j" "47" "@install" (CWD=/home/opam/.opam/4.10/.opam-switch/build/ocaml-compiler-libs.v0.12.4) -> compiled ocaml-compiler-libs.v0.12.4 Processing 49/61: [dune-configurator: dune build] [extlib: dune build] [linenoise: dune build] -> installed ocaml-compiler-libs.v0.12.4 Processing 50/61: [dune-configurator: dune build] [extlib: dune build] [linenoise: dune build] Processing 51/61: [dune-configurator: dune build] [extlib: dune build] [linenoise: dune build] [ppxlib: dune build] + /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "@install" "-p" "linenoise" "-j" "47" (CWD=/home/opam/.opam/4.10/.opam-switch/build/linenoise.1.3.1) -> compiled linenoise.1.3.1 Processing 51/61: [dune-configurator: dune build] [extlib: dune build] [ppxlib: dune build] -> installed linenoise.1.3.1 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" "47" (CWD=/home/opam/.opam/4.10/.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" "47" "@install" (CWD=/home/opam/.opam/4.10/.opam-switch/build/dune-configurator.3.4.1) -> compiled dune-configurator.3.4.1 Processing 53/61: [ppxlib: dune build] -> installed dune-configurator.3.4.1 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" "47" (CWD=/home/opam/.opam/4.10/.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" "47" "@install" (CWD=/home/opam/.opam/4.10/.opam-switch/build/ppxlib.0.27.0) -> compiled ppxlib.0.27.0 -> installed ppxlib.0.27.0 Processing 58/61: [sedlex: dune build] + /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "sedlex" "-j" "47" "@install" (CWD=/home/opam/.opam/4.10/.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" "47" (CWD=/home/opam/.opam/4.10/.opam-switch/build/beluga.1.0) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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: 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: 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/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PatObs (_, _, _, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Simul _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTyp _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Synint.cmx -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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PatObs (_, _, _, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Order.cmx -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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Simul _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Erase.cmx -c -impl src/core/erase.pp.ml) - File "src/core/erase.ml", lines 5-20, characters 2-36: - 5 | ..match (tau, n) with - 6 | | (_, 0) -> 0 - 7 | | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n-1) - 8 | | (TypPiBox (_, LF.Decl (_, _, d), tau), n) -> - 9 | let c = - ... - 17 | forbidden). *) - 18 | | LF.No -> 1 - 19 | in - 20 | c + numeric_order_arg tau (n-1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((TypPiBox (_, DeclOpt (_, _), _), 1)| - ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| - TypCross (_, _, _)|TypClo (_, _)|TypInd _), - 1)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Substitution.cmx -c -impl src/core/substitution.pp.ml) - File "src/core/substitution.ml", lines 104-123, characters 4-44: - 104 | ....match (n, s) with - 105 | | (_, Undefs) -> Undef - 106 | | (1, Dot (ft, _s)) -> ft - 107 | | (n, Dot (_ft, s)) -> bvarSub (n - 1) s - 108 | | (n, Shift k) -> Head (BVar (n + k)) - ... - 120 | Free BVar (n+k) ... -bp *) - 121 | Head (HClo (n + k, s, sigma)) - 122 | | (n, MSVar (k, ((s, t), sigma))) -> - 123 | Head (HMClo (n + k, ((s, t), sigma))) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, (EmptySub|FSVar (_, _))) - File "src/core/substitution.ml", lines 155-158, characters 12-73: - 155 | ............function - 156 | | (Last u, 1) -> (u, s) - 157 | | (Cons (u, _), 1) -> (u, s) - 158 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Last _, 0) - File "src/core/substitution.ml", lines 165-168, characters 12-73: - 165 | ............function - 166 | | (Last u, 1) -> (u, s) - 167 | | (Cons (u, _), 1) -> (u, s) - 168 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Last _, 0) - File "src/core/substitution.ml", lines 146-188, characters 7-10: - 146 | .......begin match bvarSub n s with - 147 | | Head (BVar x) -> - 148 | Head (Proj (BVar x, k)) - 149 | - 150 | | Head (PVar _ as h) -> - ... - 185 | | Head (AnnH _ ) -> failwith "Found head that is AnnH" - 186 | | Head (MMVar _ ) -> failwith "Found head that is MMVar" - 187 | | Head _ -> failwith "Found head that is not a BVar or PVar" - 188 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Undef - File "src/core/substitution.ml", lines 197-200, characters 12-73: - 197 | ............function - 198 | | (Last u, 1) -> (u, s) - 199 | | (Cons (u, _), 1) -> (u, s) - 200 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Last _, 0) - File "src/core/substitution.ml", lines 191-204, characters 7-10: - 191 | .......begin match frontSub (Head h) s with - 192 | | Head h' -> - 193 | Head (Proj (h', k)) - 194 | - 195 | | Obj (Tuple (_, tuple)) -> - ... - 201 | in - 202 | (* Obj (Clo (nth s (tuple, k))) *) - 203 | Obj (fst (nth s (tuple, k))) - 204 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _)|Undef) - File "src/core/substitution.ml", lines 207-208, characters 7-26: - 207 | .......let Head h' = frontSub (Head h) s in - 208 | Head (AnnH (h', a)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Undef|Obj _) - File "src/core/substitution.ml", lines 137-215, characters 4-35: - 137 | ....match ft with - 138 | | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s)) - 139 | | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s))) - 140 | | Head (BVar n) -> bvarSub n s - 141 | | Head (FVar _) -> ft - ... - 212 | | Obj u -> Obj (Clo (u, s)) - 213 | | Undef -> Undef - 214 | | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s)) - 215 | | Head (FPVar (_n, _s' )) -> ft - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Head (MPVar _|FMVar _) - File "src/core/substitution.ml", line 257, characters 13-60: - 257 | let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s)) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/substitution.ml", lines 286-294, characters 6-33: - 286 | ......match s with - 287 | | EmptySub -> None - 288 | | Undefs -> None - 289 | | Shift _ -> None - 290 | | Dot (Undef, s') -> lookup (n + 1) s' p - 291 | | Dot (Head (BVar k), s') -> - 292 | if k = p - 293 | then Some (Head (BVar n)) - 294 | else lookup (n + 1) s' p - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _)| - Dot (Obj _, _)|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) - File "src/core/substitution.ml", lines 308-318, characters 6-37: - 308 | ......match s with - 309 | | EmptySub -> - 310 | invert'' maxoffset Undefs - 311 | | Undefs -> - 312 | invert'' maxoffset Undefs - ... - 315 | | Dot (Head (BVar k), s') -> - 316 | invert' (n + 1) s' (max k maxoffset) - 317 | | Dot (_, s') -> (* Is this really necessary? -ac *) - 318 | invert' (n + 1) s' maxoffset - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) - File "src/core/substitution.ml", lines 329-344, characters 4-65: - 329 | ....match (s, cPsi) with - 330 | | (Shift _ (* 0 *), Null) -> - 331 | Null - 332 | | (Shift _, CtxVar psi) -> - 333 | CtxVar psi - ... - 341 | | (Dot (Undef, t), DDec (cPsi, _)) -> - 342 | strengthen t cPsi - 343 | | (Shift n, cPsi) -> - 344 | strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dot (Head (BVar _), _), (Null|CtxVar _))| - (Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - _)|(Dot (Undef, _), (Null|CtxVar _))|(Dot (Obj _, _), _)| - ((EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)), _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Showext.cmx -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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTyp _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CObj (CtxVar (CtxName _|CInst _))|MUndef|ClObj (_, _)) - 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: 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: 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypBox (_, (_, CTyp _))|TypCobase (_, _, _)|TypDef (_, _, _)|TypInd _) - 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: 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: 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/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxHole) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxHole) - 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - [] - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Context.cmx -c -impl src/core/context.pp.ml) - File "src/core/context.ml", lines 85-99, characters 4-24: - 85 | ....function - 86 | | (DDec (_, TypDecl (x, tA')), 1) -> - 87 | TypDecl (x, TClo (tA', Shift k)) - 88 | - 89 | | (DDec (cPsi', TypDecl _), k') -> - ... - 96 | ctxDec' (cPsi', k'-1) - 97 | - 98 | | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) -> - 99 | ctxDec' (cPsi, k) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((CtxVar - (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)), - _)| - (CtxVar (CInst ({instantiation={contents=None}; _ }, _)), _)| - (CtxVar (CtxName _|CtxOffset _), _)|(Null, _)) - File "src/core/context.ml", lines 119-129, characters 4-24: - 119 | ....function - 120 | | (DDec (_, TypDecl (x, Sigma tArec)), 1) -> - 121 | TypDecl (x, Sigma (sigmaShift tArec (Shift k))) - 122 | - 123 | | (DDec (cPsi', TypDecl (_, Sigma _)), k') -> - ... - 126 | | (DDec (cPsi', TypDecl _), k') -> - 127 | ctxDec' (cPsi', k' - 1) - 128 | | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) -> - 129 | ctxDec' (cPhi, k) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((CtxVar - (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)), - _)| - (CtxVar (CInst ({instantiation={contents=None}; _ }, _)), _)| - (CtxVar (CtxName _|CtxOffset _), _)|(DDec (_, TypDeclOpt _), _)|(Null, _)) - File "src/core/context.ml", lines 345-348, characters 2-49: - 345 | ..match (cPsi, k) with - 346 | | (DDec (_, TypDecl (x, _)), 1) -> x - 347 | | (DDec (_, TypDeclOpt x), 1) -> x - 348 | | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Null|CtxVar _), _) - File "src/core/context.ml", lines 351-355, characters 2-27: - 351 | ..match (cD, k) with - 352 | | (Dec (_, Decl (u, _, _)), 1) -> u - 353 | | (Dec (_, DeclOpt (u, _)), 1) -> u - 354 | | (Dec (cD, _), k) -> - 355 | getNameMCtx cD (k - 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Empty, _) - File "src/core/context.ml", lines 358-361, characters 2-45: - 358 | ..match (cG, k) with - 359 | | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x - 360 | | (Dec (_, Comp.CTypDeclOpt x), 1) -> x - 361 | | (Dec (cG, _), k) -> getNameCtx cG (k - 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Empty, _) - File "src/core/context.ml", lines 385-387, characters 4-58: - 385 | ....function - 386 | | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl) - 387 | | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Null - File "src/core/context.ml", lines 393-395, characters 4-58: - 393 | ....function - 394 | | CtxVar ctx_var -> Null - 395 | | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Null - File "src/core/context.ml", lines 420-423, characters 2-28: - 420 | ..match (cD, psi_offset) with - 421 | | (Dec (_, Decl (_, CTyp (Some cid_schema), _)), 1) -> cid_schema - 422 | | (Dec (cD, _) , i) -> - 423 | lookupSchema cD (i - 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Empty, _) - File "src/core/context.ml", lines 430-437, characters 7-10: - 430 | .......begin match cvar with - 431 | | CtxName phi when Id.equals psi phi -> (psi, schemaName) - 432 | | CtxName _ -> lookup cD (offset + 1) - 433 | | CtxOffset n -> - 434 | if n - offset = 1 - 435 | then (psi, schemaName) - 436 | else lookup cD (offset + 1) - 437 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CInst _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDecl (_, _), Inductive), _)|PiTyp ((TypDeclOpt _, _), _)) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxVar _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiKind ((TypDecl (_, _), Inductive), _)|PiKind ((TypDeclOpt _, _), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Eqn (_, _, _, INorm _, (IHead _|ISub _|ICtx _))| - Eqn (_, _, _, IHead _, (INorm _|ISub _|ICtx _))| - Eqn (_, _, _, (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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - FnValue (_, _, _, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _, _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((MDot (MV _, _), Dec (_, DeclOpt (_, _)))|(MDot (MV _, _), Empty)| - (MDot (MUndef, _), Empty)|(MDot ((ClObj (_, _)|CObj _), _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp _, _))|(_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp _, _))|(_, DeclOpt (_, _))) - 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: 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: 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: 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 (_, _))| - Obj _) - 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: 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 (_, _))| - Obj _) - 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: 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: 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: 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: 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 (_, _)), - _)| - MVar (Inst {typ=CTyp _; _ }, _)|MMVar _|MPVar _|AnnH (_, _)|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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp (STyp (Ren, _), _), _))| - (_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClObj (_, SObj _)|MUndef) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Shift 1|EmptySub|Undefs|SVar (_, _, _)|Dot (_, _)) - 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp _, _))|(_, DeclOpt (_, _))) - 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: 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: 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: 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 (_, _))| - Obj _) - 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((MTyp _|PTyp _), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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 (_, _))| - Obj _) - 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: 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 (_, _))| - Obj _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dot (Head (Proj (BVar _, _)), _), DDec (_, TypDeclOpt _))| - (Dot (Head (Proj (BVar _, _)), _), (Null|CtxVar _))| - (Dot - (Head - (Proj - ((Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _)), - _), - _)|(Dot (Head (BVar _), _), DDec (_, TypDeclOpt _))| - (Dot (Head (BVar _), _), (Null|CtxVar _))| - (Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|FVar _|FMVar _| - FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - _)|(Dot (Obj _, _), DDec (_, TypDeclOpt _))| - (Dot (Obj _, _), (Null|CtxVar _))|(Dot (Undef, _), (Null|CtxVar _))| - (Undefs, (CtxVar _|DDec (_, _)))|(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: 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: 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: 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: 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: 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 (_, _))| - Obj _) - 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: 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 (_, _))| - Obj _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dot (Head (Proj (BVar _, _)), _), DDec (_, TypDeclOpt _))| - (Dot (Head (Proj (BVar _, _)), _), (Null|CtxVar _))| - (Dot - (Head - (Proj - ((Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _)), - _), - _)|(Dot (Head (BVar _), _), DDec (_, TypDeclOpt _))| - (Dot (Head (BVar _), _), (Null|CtxVar _))| - (Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|FVar _|FMVar _| - FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - _)|(Dot (Undef, _), (Null|CtxVar _))|(Dot (Obj _, _), _)| - (Shift _, DDec (_, TypDeclOpt _))|(Undefs, (CtxVar _|DDec (_, _)))| - (EmptySub, (CtxVar _|DDec (_, _)))| - ((SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Last _, _), (Cons (_, _), _))|((Cons (_, _), _), (Last _, _))) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ISub _, (MTyp _|PTyp _))|(ICtx _, _)) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Nil, _), (App (_, _), _))|((App (_, _), _), (Nil, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((CTyp _, ClTyp (_, _))|(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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((STyp (_, _), (MTyp _|PTyp _))|(PTyp _, (MTyp _|STyp (_, _)))| - (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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ISub _, (INorm _|IHead _|ICtx _))|(IHead _, (INorm _|ISub _|ICtx _))| - (INorm _, (IHead _|ISub _|ICtx _))|(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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Eqn (_, _, _, INorm _, (IHead _|ISub _|ICtx _))| - Eqn (_, _, _, IHead _, (INorm _|ISub _|ICtx _))| - Eqn (_, _, _, (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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PObj _, (MObj _|SObj _))|(MObj _, (PObj _|SObj _))|(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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ClObj (_, _), (MUndef|CObj _|MV _))|(CObj _, (MUndef|ClObj (_, _)|MV _))| - ((MUndef|MV _), _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Store.cmx -c -impl src/core/store.pp.ml) - File "src/core/store.ml", line 151, characters 22-68: - 151 | |> List.map (fun (Int.Sgn.Pragma(Int.LF.OpenPrag x)) -> x) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Pragma (NotPrag|DefaultAssocPrag _|FixPrag (_, _, _, _)|AbbrevPrag (_, _))| - CompTyp (_, _, _, _)|CompCotyp (_, _, _)|CompConst (_, _, _)| - CompDest (_, _, _, _, _)|CompTypAbbrev (_, _, _, _)|Theorem _|Proof (_, _)| - Val (_, _, _, _, _)|MRecTyp (_, _)|Module (_, _, _)|Comment (_, _)) - File "src/core/store.ml", lines 494-499, characters 6-45: - 494 | ......function - 495 | | Int.LF.Atom(_, b, _) -> - 496 | List.iter (fun a -> addSubord a b) acc ; [b] - 497 | - 498 | | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _), tA2) -> - 499 | inspect (acc @ (inspect [] tA1)) tA2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - File "src/core/store.ml", lines 504-508, characters 6-56: - 504 | ......function - 505 | | Int.LF.Typ -> - 506 | List.iter (fun a -> addSubord a cid_tp) acc - 507 | | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _), tK2) -> - 508 | inspectKind cid_tp (acc @ (inspect [] tA1)) tK2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PiKind ((TypDeclOpt _, _), _) - File "src/core/store.ml", lines 1048-1054, characters 11-14: - 1048 | ...........begin match (tA, tA') with - 1049 | | (Int.LF.Type tB, - 1050 | Int.LF.TypVar (Int.LF.TInst ({contents = None} as r, _, _, {contents = []})) - 1051 | ) -> - 1052 | r := Some tB; - 1053 | (x, Int.LF.Type tB) :: str' - 1054 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Type _, Type _) - File "src/core/store.ml", lines 1247-1253, characters 2-54: - 1247 | ..(fun (Error (loc, err)) -> - 1248 | Error.print_with_location loc (fun ppf -> - 1249 | match err with - 1250 | | FrozenType n -> - 1251 | Format.fprintf ppf - 1252 | "Type %s is frozen. A new constructor cannot be defined." - 1253 | (Cid.DefaultRenderer.render_cid_typ n))) - Warning 8: 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/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__ScopeCheck.cmx -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: 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/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((M _, (E|DC)::_)|((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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Lam (_, _, _)|LFHole (_, _, _)|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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypInd _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxVar _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((App (_, _), _), (PiTyp ((TypDeclOpt _, _), _), _))| - ((App (_, _), _), ((Atom (_, _, _)|Sigma _|TClo _), _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Lam (_, _, _)|LFHole (_, _, _)|Tuple (_, _)), _) - File "src/core/lfcheck.ml", lines 400-401, characters 5-7: - 400 | .....let TypDecl (_, tA) = ctxDec cPsi k' in - 401 | tA - Warning 8: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, Atom (_, (_, _), _), _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((MMVar _, Subst)|(MVar (Inst _, _), Subst)| - ((MPVar _|AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)) - (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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|TClo _) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Some (INorm _|IHead _|ISub _)|None) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ClObj (_, _), (CTyp _, _))|(CObj _, (CTyp None, _))| - (CObj _, (ClTyp (_, _), _))|(MUndef, _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Parser.cmx -c -impl src/core/parser.pp.ml) - File "src/core/parser.ml", lines 339-372, characters 4-39: - 339 | ....match e with - 340 | | NoMoreChoices ss -> - 341 | fprintf ppf "Expected:@, @[<v>"; - 342 | pp_print_list ~pp_sep: (fun _ _ -> ()) - 343 | (fun ppf x -> - ... - 369 | (Id.string_of_name exp) - 370 | (Id.string_of_name act) - 371 | (* | Custom s -> fprintf ppf "%s" s *) - 372 | | Violation s -> fprintf ppf "%s" s - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - NotFollowedBy - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Prettyext.cmx -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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxHole) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxHole) - 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - [] - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp None, _))|(_, Decl (_, ClTyp (_, _), _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Some (CInst ({typ=CTyp None; _ }, _))| - Some (CInst ({typ=ClTyp (_, _); _ }, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp (_, _), Some _)|((Sigma _|TClo _), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Hole|BVar _|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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: 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 (_, _)), - _)| - Hole|Const _|MVar (_, _)|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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dot (Obj _, _)|SVar (_, _)|FSVar (_, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)| - SVar (_, _)|FSVar (_, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Root (_, BVar _, App (_, _))| - Root - (_, - (Hole|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _)), - _)| - Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Root (_, _, _), (TClo _, _))|(Tuple (_, _), (TClo _, _))| - (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _), _), _))| - (Lam (_, _, _), (TClo _, _))) - 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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 (_, _))| - Undef|Obj _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: 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: 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 (_, _))| - Undef|Obj _) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, ClTyp ((PTyp _|STyp (_, _)), _))|(_, CTyp _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, ClTyp ((MTyp _|STyp (_, _)), _))|(_, CTyp _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((PiTyp ((TypDeclOpt _, _), _), _), _)| - (((Atom (_, _, _)|Sigma _|TClo _), _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((App (_, _), (PiTyp ((TypDeclOpt _, _), _), _))| - (App (_, _), ((Atom (_, _, _)|Sigma _|TClo _), _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((PiKind ((TypDeclOpt _, _), _), _), _)|((Typ, _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((App (Root (_, BVar _, App (_, _)), _), _)| - (App - (Root - (_, - (Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)| - FPVar (_, _)), _), - _), - _)|(App ((Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)), _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Root (_, FVar _, _), Inst {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::_| - (_, Root (_, FVar _, _), Inst {typ=CTyp _; _ })::_| - (_, Root (_, FVar _, _), Offset _)::_| - (_, - Root - (_, - (Hole|BVar _|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FMVar (_, _)| - FPVar (_, _)), _), - _)::_|(_, (Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)), _)::_) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Root (_, FPVar (_, _), _), ClTyp ((PTyp _|STyp (_, _)), _))| - (Root (_, FPVar (_, _), _), CTyp _)| - (Root (_, FMVar (_, _), _), ClTyp ((PTyp _|STyp (_, _)), _))| - (Root (_, FMVar (_, _), _), CTyp _)| - (Root - (_, (Hole|BVar _|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _), _), - _)|((Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)), _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Whnf.cmx -c -impl src/core/whnf.pp.ml) - File "src/core/whnf.ml", lines 37-40, characters 2-48: - 37 | ..match cPsi with - 38 | | Null -> tA - 39 | | DDec (cPsi', decl) -> - 40 | raiseType cPsi' (PiTyp ((decl, Maybe), tA)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CtxVar _ - File "src/core/whnf.ml", lines 142-157, characters 2-80: - 142 | ..match sA' with - 143 | | (PiTyp ((decl, _), tA'), s') -> - 144 | let (u', tM) = - 145 | lowerMVar' - 146 | (DDec (cPsi, LF.decSub decl s')) - ... - 154 | - 155 | | (Atom (loc, a, tS), s') -> - 156 | let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) dep in - 157 | (u', Root (Syntax.Loc.ghost, MVar (u', LF.id), Nil, Depend.to_plicity dep)).................... - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _, _) - File "src/core/whnf.ml", lines 161-171, characters 2-25: - 161 | ..match (u, sA) with - 162 | | ( Inst { instantiation; typ = ClTyp (_, cPsi); depend; _ } - 163 | , (PiTyp _, _) - 164 | ) -> - 165 | let (u', tM) = lowerMVar' cPsi sA depend in - ... - 168 | - 169 | | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s') - 170 | - 171 | | (_, (Atom _, _)) -> u - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Inst {typ=ClTyp (_, _); _ }, (Sigma _, _))| - (Inst {typ=CTyp _; _ }, ((PiTyp (_, _)|Sigma _), _))| - (Offset _, ((PiTyp (_, _)|Sigma _), _))) - File "src/core/whnf.ml", lines 331-341, characters 4-31: - 331 | ....match s with - 332 | | MShift _ -> None - 333 | | MDot (MUndef, t') -> lookup (n + 1) t' p - 334 | - 335 | | MDot (MV k, t') - ... - 338 | | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') -> - 339 | if k = p - 340 | then Some n - 341 | else lookup (n + 1) t' p - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MDot (ClObj (_, PObj (PVar (_, Shift 1))), _)| - MDot - (ClObj - (_, - PObj - (PVar - (_, - (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|Dot (_, _)| - MSVar (_, _))))), - _)| - MDot - (ClObj - (_, - PObj - (BVar _|Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _))), - _)| - MDot - (ClObj - (_, MObj (Root (_, MVar (Offset _, Shift 0), (App (_, _)|SClo _), _))), - _)| - MDot (ClObj (_, MObj (Root (_, MVar (Offset _, Shift 1), _, _))), _)| - MDot - (ClObj - (_, - MObj - (Root - (_, - MVar - (Offset _, - (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|Dot (_, _)| - MSVar (_, _))), - _, _))), - _)| - MDot (ClObj (_, MObj (Root (_, MVar (Inst _, _), _, _))), _)| - MDot - (ClObj - (_, - MObj - (Root - (_, - (BVar _|Const _|MMVar _|MPVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _))), - _)| - MDot (ClObj (_, MObj (Lam (_, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _))), _)| - MDot (ClObj (_, SObj _), _)|MDot (CObj (CtxVar (CtxName _|CInst _)), _)| - MDot (CObj (Null|DDec (_, _)), _)) - File "src/core/whnf.ml", lines 395-398, characters 5-8: - 395 | .....begin match normHead (h, sigma) with - 396 | | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity) - 397 | | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma)) - 398 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Undef - File "src/core/whnf.ml", lines 413-416, characters 5-8: - 413 | .....begin match normMMVar mmt with - 414 | | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma)))) - 415 | | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma) - 416 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (INorm _|IHead _|ICtx _) - File "src/core/whnf.ml", lines 418-422, characters 5-8: - 418 | .....begin match normMMVar mmt with - 419 | (* The order in which we normalize mm, n, s, and sigma seems to matter..*) - 420 | | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma))) - 421 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) - 422 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (IHead _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 424-428, characters 5-8: - 424 | .....begin match normMMVar mmt with - 425 | | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma))) - 426 | | Result (IHead h) -> normFt' (normHead (h, s), sigma) - 427 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) - 428 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (ISub _|ICtx _) - File "src/core/whnf.ml", lines 431-434, characters 5-8: - 431 | .....begin match normMMVar (mm, MShift 0) with - 432 | | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma))) - 433 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) - 434 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (IHead _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 457-459, characters 2-32: - 457 | ..match ft with - 458 | | Head h -> normHead (h, s) - 459 | | Obj tM -> Obj (norm (tM, s)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Undef - File "src/core/whnf.ml", lines 462-465, characters 2-37: - 462 | ..match tM with - 463 | | INorm n -> INorm (cnorm (n, mt)) - 464 | | IHead h -> IHead (cnormHead (h, mt)) - 465 | | ISub s -> ISub (cnormSub (s, mt)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ICtx _ - File "src/core/whnf.ml", lines 471-474, characters 5-8: - 471 | .....begin match normHead (h, s) with - 472 | | Obj tM -> MObj tM - 473 | | Head h' -> PObj h' - 474 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Undef - File "src/core/whnf.ml", lines 478-481, characters 2-58: - 478 | ..match ft with - 479 | | Head h -> Head (Proj (h, i)) - 480 | | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i)) - 481 | | Obj _ -> Error.violation "[reduceTupleFt] not a tuple" - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Undef - File "src/core/whnf.ml", lines 484-487, characters 2-50: - 484 | ..function - 485 | | (Last tM, 1) -> tM - 486 | | (Cons (tM, _), 1) -> tM - 487 | | (Cons (_, rest), k) -> reduceTuple (rest, k-1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Last _, 0) - File "src/core/whnf.ml", lines 515-529, characters 2-17: - 515 | ..function - 516 | | (LFHole (l, _, _), _) -> - 517 | raise (InvalidLFHole l) - 518 | - 519 | | (Root (loc, h, sp, plicity), spine) -> - ... - 526 | Lam (loc, n, tM') - 527 | - 528 | | (Clo sM, tS) -> - 529 | reduce sM tS - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Lam (_, _, _), SClo _)|(Tuple (_, _), _)) - File "src/core/whnf.ml", lines 532-534, characters 2-54: - 532 | ..function - 533 | | (Nil, s) -> s - 534 | | (App (tN, tS), s) -> App (tN, appendSpine (tS, s)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (SClo _, _) - File "src/core/whnf.ml", lines 545-551, characters 5-8: - 545 | .....begin match mmvar.instantiation.contents with - 546 | | Some (ISub s) -> - 547 | let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in - 548 | LF.comp (Shift n) s0 - 549 | | None -> - 550 | MSVar (n, ((mmvar, mt), normSub s')) - 551 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|IHead _|ICtx _) - File "src/core/whnf.ml", lines 570-581, characters 2-37: - 570 | ..match tA with - 571 | | Atom (loc, a, tS) -> - 572 | Atom (loc, a, normSpine (tS, sigma)) - 573 | - 574 | | PiTyp ((TypDecl _ as decl, dep), tB) -> - ... - 578 | normTyp (tA, LF.comp s sigma) - 579 | - 580 | | Sigma recA -> - 581 | Sigma (normTypRec (recA, sigma)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PiTyp ((TypDeclOpt _, _), _) - File "src/core/whnf.ml", lines 628-637, characters 5-8: - 628 | .....begin match !u with - 629 | | None -> - 630 | (Some (CInst (mmvar, mcomp theta t)), k) - 631 | | Some (ICtx cPsi) -> - 632 | (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *) - 633 | begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with - 634 | | (None, i) -> (None, k+i) (* cnorm_psihat (None, k+i) t *) - 635 | | (Some cvar', i) -> (Some cvar', i+k) (* cnorm_psihat (Some cvar', i+k) t *) - 636 | end - 637 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|IHead _|ISub _) - File "src/core/whnf.ml", lines 639-649, characters 5-8: - 639 | .....begin match LF.applyMSub offset t with - 640 | | CObj cPsi -> - 641 | begin match Context.dctxToHat cPsi with - 642 | | (None, i) -> (None, k + i) - 643 | | (Some cvar', i) -> (Some cvar', i + k) - ... - 646 | | ClObj _ -> - 647 | Error.violation - 648 | ("[cnorm_psihat] ClObj impossible; offset " ^ string_of_int offset) - 649 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - MUndef - File "src/core/whnf.ml", lines 664-667, characters 5-8: - 664 | .....begin match LF.applyMSub k t with - 665 | | MV k' -> Head (MVar (Offset k', s')) - 666 | | ClObj (_, MObj tM) -> Obj (norm (tM, s')) - 667 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClObj (_, (PObj _|SObj _))|MUndef|CObj _) - File "src/core/whnf.ml", lines 670-674, characters 5-8: - 670 | .....begin match LF.applyMSub k t with - 671 | | MV k' -> Head (PVar (k', s')) - 672 | | ClObj (_, PObj h) -> normHead (h, s') - 673 | | ClObj (_, MObj tM) -> Obj (norm (tM, s')) - 674 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClObj (_, SObj _)|MUndef|CObj _) - File "src/core/whnf.ml", lines 677-680, characters 5-8: - 677 | .....begin match LF.applyMSub sv t with - 678 | | MV sv' -> Head (HClo (k, sv', s')) - 679 | | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s') - 680 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClObj (_, (MObj _|PObj _))|MUndef|CObj _) - File "src/core/whnf.ml", lines 682-685, characters 5-8: - 682 | .....begin match normMMVar mmt with - 683 | | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t))) - 684 | | Result (INorm n) -> Obj (cnorm (norm (n, s), t)) - 685 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (IHead _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 687-692, characters 5-8: - 687 | .....begin match normMMVar mmt with - 688 | | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t))) - 689 | | Result (IHead h) -> cnormFt' (normHead (h, s), t) - 690 | | Result (INorm n) -> - 691 | Obj (cnorm (norm (n, s), t)) - 692 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (ISub _|ICtx _) - File "src/core/whnf.ml", lines 694-697, characters 5-8: - 694 | .....begin match normMMVar mmt with - 695 | | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))) - 696 | | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t) - 697 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (INorm _|IHead _|ICtx _) - File "src/core/whnf.ml", lines 699-702, characters 5-8: - 699 | .....begin match normMMVar (mm, MShift 0) with - 700 | | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t))) - 701 | | Result (INorm n) -> Obj (norm (n, s)) - 702 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Result (IHead _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 706-708, characters 2-38: - 706 | ..function - 707 | | (Head h, t) -> cnormHead' (h, t) - 708 | | (Obj tM, t) -> Obj (cnorm (tM, t)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Undef, _) - File "src/core/whnf.ml", lines 721-729, characters 5-8: - 721 | .....begin match cnormHead' (head, t) with - 722 | | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity) - 723 | | Obj tM -> - 724 | (* in this ends up evaluating to a Root, we want to keep the - 725 | plicity that we had here *) - 726 | map_plicity - 727 | (fun _ -> plicity) - 728 | (reduce (tM, LF.id) (cnormSpine (tS, t))) - 729 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Undef - File "src/core/whnf.ml", lines 736-737, characters 2-17: - 736 | ..match cnormHead' (h, t) with - 737 | | Head h' -> h' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Undef|Obj _) - File "src/core/whnf.ml", lines 760-766, characters 5-8: - 760 | .....begin match LF.applyMSub offset t with - 761 | | MV offset' -> SVar (offset', n, cnormSub (s', t)) - 762 | | ClObj (_, SObj r) -> - 763 | LF.comp (LF.comp (Shift n) r) (cnormSub (s', t)) - 764 | | ClObj _ -> - 765 | Error.violation "[cnormSub] t @ offset must give an MV or ClObj SObj" - 766 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MUndef|CObj _) - File "src/core/whnf.ml", lines 772-783, characters 5-56: - 772 | .....match mmvar.instantiation.contents with - 773 | | Some (ISub s) -> - 774 | dprintf - 775 | begin fun p -> - 776 | p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%s@]@]" - ... - 780 | let s0' = LF.comp (Shift n) s0 in - 781 | cnormSub (s0', t) - 782 | | None -> - 783 | MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|IHead _|ICtx _) - File "src/core/whnf.ml", lines 801-811, characters 2-34: - 801 | ..match tA with - 802 | | Atom (loc, a, tS) -> - 803 | Atom (loc, a, cnormSpine (tS, t)) - 804 | - 805 | | PiTyp ((TypDecl _ as decl, dep), tB) -> - ... - 808 | | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t)) - 809 | - 810 | | Sigma recA -> - 811 | Sigma (cnormTypRec (recA, t)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PiTyp ((TypDeclOpt _, _), _) - File "src/core/whnf.ml", lines 840-845, characters 5-8: - 840 | .....begin match !u with - 841 | | None -> - 842 | CtxVar (CInst (mmvar, mcomp theta t)) - 843 | | Some (ICtx cPhi) -> - 844 | cnormDCtx (cPhi, mcomp theta t) - 845 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|IHead _|ISub _) - File "src/core/whnf.ml", lines 848-851, characters 5-8: - 848 | .....begin match LF.applyMSub psi t with - 849 | | CObj cPsi' -> normDCtx cPsi' - 850 | | MV k -> CtxVar (CtxOffset k) - 851 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MUndef|ClObj (_, _)) - File "src/core/whnf.ml", lines 894-897, characters 5-8: - 894 | .....begin match mmvar.instantiation.contents with - 895 | | None -> cPsi - 896 | | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta)) - 897 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|IHead _|ISub _) - File "src/core/whnf.ml", lines 968-981, characters 8-11: - 968 | ........begin match h' with - 969 | | BVar i -> - 970 | begin match LF.bvarSub i (LF.comp r sigma) with - 971 | | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma)) - 972 | | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id) - ... - 978 | let h' = PVar (p, LF.comp (LF.comp s r) sigma) in - 979 | whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id) - 980 | | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id) - 981 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _| - HClo (_, _, _)|HMClo (_, _)) - File "src/core/whnf.ml", lines 964-987, characters 5-8: - 964 | .....begin match u with - 965 | (* MPVar instantiation must be a head *) - 966 | | Some (IHead h) -> - 967 | let h' = cnormHead (h, t) in - 968 | begin match h' with - ... - 984 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in - 985 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in - 986 | (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) - 987 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 962-987, characters 5-8: - 962 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in - 963 | let u = mmvar.instantiation.contents in - 964 | begin match u with - 965 | (* MPVar instantiation must be a head *) - 966 | | Some (IHead h) -> - ... - 984 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in - 985 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in - 986 | (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) - 987 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((MTyp _|STyp (_, _)), _)|CTyp _) - File "src/core/whnf.ml", lines 1003-1019, characters 8-11: - 1003 | ........begin match whnfTyp (tA, LF.id) with - 1004 | | (Atom (loc', a, tS'), _ (* id *)) -> - 1005 | (* meta-variable is of atomic type; tS = Nil *) - 1006 | let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in - 1007 | (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) - ... - 1016 | (* let _ = lowerMMVar cD u in - 1017 | whnf (tM, sigma) *) - 1018 | Error.violation "Meta^2-variable needs to be of atomic type" - 1019 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Sigma _|TClo _), _) - File "src/core/whnf.ml", lines 993-1020, characters 5-8: - 993 | .....begin match u with - 994 | (* MMVar instantiation must be normal *) - 995 | | Some (INorm tM) -> - 996 | (* constraints associated with u must be in solved form *) - 997 | let tM' = cnorm (tM, t) in - ... - 1017 | whnf (tM, sigma) *) - 1018 | Error.violation "Meta^2-variable needs to be of atomic type" - 1019 | end - 1020 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (IHead _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 991-1020, characters 5-8: - 991 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in - 992 | let u = mmvar.instantiation.contents in - 993 | begin match u with - 994 | (* MMVar instantiation must be normal *) - 995 | | Some (INorm tM) -> - ... - 1017 | whnf (tM, sigma) *) - 1018 | Error.violation "Meta^2-variable needs to be of atomic type" - 1019 | end - 1020 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - File "src/core/whnf.ml", lines 1049-1061, characters 8-11: - 1049 | ........begin match whnfTyp (tA, LF.id) with - 1050 | | (Atom (loc', a, tS'), _ (* id *)) -> - 1051 | (* meta-variable is of atomic type; tS = Nil *) - 1052 | let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in - 1053 | (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id) - ... - 1058 | *) - 1059 | ignore (lowerMVar cvar); - 1060 | whnf (tM, sigma) - 1061 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Sigma _|TClo _), _) - File "src/core/whnf.ml", lines 1044-1061, characters 8-11: - 1044 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in - 1045 | (* note: we could split this case based on tA; - 1046 | * this would avoid possibly building closures with id - 1047 | *) - 1048 | let r' = normSub r in - ... - 1058 | *) - 1059 | ignore (lowerMVar cvar); - 1060 | whnf (tM, sigma) - 1061 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - File "src/core/whnf.ml", lines 1031-1062, characters 5-8: - 1031 | .....begin match u with - 1032 | | Some (INorm tM) -> - 1033 | (* constraints associated with u must be in solved form *) - 1034 | let r' = normSub r in - 1035 | let tM' = - ... - 1059 | ignore (lowerMVar cvar); - 1060 | whnf (tM, sigma) - 1061 | end - 1062 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (IHead _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 1081-1090, characters 5-8: - 1081 | .....begin match LF.bvarSub i sigma with - 1082 | | Head (BVar j) -> - 1083 | ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity) - 1084 | , LF.id - 1085 | ) - 1086 | | Head (PVar (q, s)) -> - 1087 | ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity) - 1088 | , LF.id - 1089 | ) - 1090 | end - Warning 8: 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 (_, _))| - Undef|Obj _) - File "src/core/whnf.ml", lines 1106-1117, characters 11-14: - 1106 | ...........begin match LF.bvarSub i (LF.comp r sigma) with - 1107 | | Head (BVar x) -> - 1108 | ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity) - 1109 | , LF.id - 1110 | ) - ... - 1114 | ) - 1115 | | Undef -> - 1116 | Error.violation ("[whnf] Undef looked up at " ^ string_of_int i) - 1117 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Obj _ - File "src/core/whnf.ml", lines 1104-1126, characters 8-11: - 1104 | ........begin match cnormHead (h, t) with - 1105 | | BVar i -> - 1106 | begin match LF.bvarSub i (LF.comp r sigma) with - 1107 | | Head (BVar x) -> - 1108 | ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity) - ... - 1123 | | MPVar ((q, t'), r') -> - 1124 | let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in - 1125 | (Root (loc, h', SClo (tS, sigma), plicity), LF.id) - 1126 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _| - HClo (_, _, _)|HMClo (_, _)) - File "src/core/whnf.ml", lines 1128-1135, characters 8-9: - 1128 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in - 1129 | (* constraints associated with q must be in solved form *) - 1130 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in - 1131 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in - 1132 | let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in - 1133 | ( Root (loc, h', SClo (tS, sigma), plicity) - 1134 | , LF.id - 1135 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((MTyp _|STyp (_, _)), _)|CTyp _) - File "src/core/whnf.ml", lines 1101-1136, characters 5-8: - 1101 | .....begin match mmvar.instantiation.contents with - 1102 | | Some (IHead h) -> - 1103 | (* constraints associated with q must be in solved form *) - 1104 | begin match cnormHead (h, t) with - 1105 | | BVar i -> - ... - 1133 | ( Root (loc, h', SClo (tS, sigma), plicity) - 1134 | , LF.id - 1135 | ) - 1136 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|ISub _|ICtx _) - File "src/core/whnf.ml", lines 1151-1165, characters 2-39: - 1151 | ..function - 1152 | | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l) - 1153 | | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1) - 1154 | - 1155 | | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) -> - ... - 1162 | whnfRedex (sM, (tS, LF.comp s2' s2)) - 1163 | - 1164 | | ((Clo (tM, s), s1), sS) -> - 1165 | whnfRedex ((tM, LF.comp s s1), sS) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Root (_, _, _, _), _), (App (_, _), _))|((Lam (_, _, _), _), (Nil, _))| - ((Tuple (_, _), _), ((Nil|App (_, _)), _))) - File "src/core/whnf.ml", lines 1188-1199, characters 2-15: - 1188 | ..function - 1189 | | [] -> true - 1190 | | ({ contents = Queued _ } :: cnstrs) -> - 1191 | constraints_solved cnstrs - 1192 | | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) -> - ... - 1196 | | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) -> - 1197 | if convHead (h1, LF.id) (h2, LF.id) - 1198 | then constraints_solved cnstrs - 1199 | else false - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ({contents=Eqn (_, _, _, INorm _, (IHead _|ISub _|ICtx _))}::_| - {contents=Eqn (_, _, _, IHead _, (INorm _|ISub _|ICtx _))}::_| - {contents=Eqn (_, _, _, (ISub _|ICtx _), _)}::_) - File "src/core/whnf.ml", lines 1291-1296, characters 2-71: - 1291 | ..match (spine1, spine2) with - 1292 | | ((Nil, _), (Nil, _)) -> true - 1293 | | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) -> - 1294 | conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2) - 1295 | | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s') - 1296 | | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Nil, _), (App (_, _), _))|((App (_, _), _), (Nil, _))) - File "src/core/whnf.ml", lines 1465-1473, characters 2-32: - 1465 | ..match (cPsi, cPsi') with - 1466 | | (_, Empty) -> true - 1467 | | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) -> - 1468 | if convTyp (tA, LF.id) (tB, LF.id) - 1469 | then convSubsetCtx cPsi1 cPsi2 - 1470 | else - 1471 | (* keep tBs around and check that tA is a subordinate of tB, - 1472 | i.e. anything in tA cannot influence tB *) - 1473 | convSubsetCtx cPsi1 cPsi' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dec (_, TypDecl (_, _)), Dec (_, TypDeclOpt _))| - (Dec (_, TypDeclOpt _), Dec (_, _))|(Empty, Dec (_, _))) - File "src/core/whnf.ml", lines 1602-1604, characters 4-76: - 1602 | ....match mO with - 1603 | | CObj cPsi -> CObj (normDCtx cPsi) - 1604 | | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MUndef|MV _) - File "src/core/whnf.ml", lines 1615-1631, characters 2-49: - 1615 | ..function - 1616 | | Comp.TypBase (loc, c, mS) -> - 1617 | Comp.TypBase (loc, c, normMetaSpine mS) - 1618 | | Comp.TypCobase (loc, c, mS) -> - 1619 | Comp.TypCobase (loc, c, normMetaSpine mS) - ... - 1628 | | Comp.TypPiBox (loc, (Decl (u, mtyp, dep)), tau) -> - 1629 | Comp.TypPiBox (loc, (Decl (u, normMTyp mtyp, dep)), normCTyp tau) - 1630 | - 1631 | | Comp.TypInd tau -> Comp.TypInd (normCTyp tau) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypPiBox (_, DeclOpt (_, _), _)|TypDef (_, _, _)|TypClo (_, _)) - File "src/core/whnf.ml", lines 1647-1648, characters 2-61: - 1647 | ..match cdecl with - 1648 | | Decl (u, mtyp, dep) -> Decl (u, cnormMTyp (mtyp, t), dep) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/whnf.ml", lines 1651-1674, characters 2-60: - 1651 | ..function - 1652 | | (Comp.TypBase (loc, a, mS), t) -> - 1653 | let mS' = cnormMetaSpine (mS, t) in - 1654 | Comp.TypBase (loc, a, mS') - 1655 | | (Comp.TypCobase (loc, a, mS), t) -> - ... - 1671 | | (Comp.TypClo (tT, t'), t) -> - 1672 | cnormCTyp (tT, mcomp t' t) - 1673 | - 1674 | | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypDef (_, _, _), _) - File "src/core/whnf.ml", lines 1690-1706, characters 2-70: - 1690 | ..function - 1691 | | (Comp.TypBase (loc, c, mS), t) -> - 1692 | let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in - 1693 | (Comp.TypBase (loc, c, mS'), m_id) - 1694 | | (Comp.TypCobase (loc, c, mS), t) -> - ... - 1703 | - 1704 | | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t) - 1705 | - 1706 | | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypDef (_, _, _), _) - File "src/core/whnf.ml", lines 1880-1883, characters 2-74: - 1880 | ..match cG with - 1881 | | Empty -> Empty - 1882 | | Dec (cG, Comp.CTypDecl (x, tau, flag)) -> - 1883 | Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, CTypDeclOpt _) - File "src/core/whnf.ml", lines 1905-1907, characters 2-62: - 1905 | ..function - 1906 | | Comp.CTypDecl (x, tau, flag) -> - 1907 | Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTypDeclOpt _ - File "src/core/whnf.ml", lines 1934-1936, characters 2-84: - 1934 | ..match cD with - 1935 | | Empty -> Empty - 1936 | | Dec (cD, Decl (u, mtyp, dep)) -> Dec (normMCtx cD, Decl (u, normMTyp mtyp, dep)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, DeclOpt (_, _)) - File "src/core/whnf.ml", lines 1964-1967, characters 2-60: - 1964 | ..match (tM1, tM2) with - 1965 | | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id) - 1966 | | (ISub s1, ISub s2) -> convSub s1 s2 - 1967 | | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((IHead _, (INorm _|ISub _|ICtx _))|(ISub _, (INorm _|IHead _|ICtx _))| - (INorm _, (IHead _|ISub _|ICtx _))|(ICtx _, _)) - File "src/core/whnf.ml", lines 1972-1978, characters 2-24: - 1972 | ..match (mS, mS') with - 1973 | | (Comp.MetaNil, Comp.MetaNil) -> true - 1974 | | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) -> - 1975 | convMetaObj mO mO' - 1976 | && convMetaTyp mT mT' - 1977 | && convMetaSpine mS mS' - 1978 | && Stdlib.(=) p1 p2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((MetaApp (_, _, _, _), MetaNil)|(MetaNil, MetaApp (_, _, _, _))) - File "src/core/whnf.ml", lines 2024-2029, characters 2-20: - 2024 | ..match (d1, d2) with - 2025 | | (Decl (x1, cT1, dep1), Decl (x2, cT2, dep2)) -> - 2026 | Id.equals x1 x2 && Depend.equals dep1 dep2 - 2027 | && convMTyp cT1 cT2 - 2028 | | (DeclOpt (x1, _), DeclOpt (x2, _)) -> - 2029 | Id.equals x1 x2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((DeclOpt (_, _), Decl (_, _, _))|(Decl (_, _, _), DeclOpt (_, _))) - File "src/core/whnf.ml", lines 2037-2041, characters 2-42: - 2037 | ..match (d1, d2) with - 2038 | | (CTypDeclOpt x1, CTypDeclOpt x2) -> Id.equals x1 x2 - 2039 | | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) -> - 2040 | Id.equals x1 x2 && Stdlib.(=) w1 w2 - 2041 | && convCTyp (tau1, m_id) (tau2, m_id) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((CTypDecl (_, _, _), CTypDeclOpt _)|(CTypDeclOpt _, CTypDecl (_, _, _))) - File "src/core/whnf.ml", lines 2061-2071, characters 2-8: - 2061 | ..match sA with - 2062 | | (Atom (loc, _, _) as tP, s) -> - 2063 | let u = newMVar (Some (Id.inc n)) (cPsi, tclo tP s) dep in - 2064 | Root (loc, MVar (u, s'), Nil, Depend.to_plicity dep) - 2065 | - ... - 2068 | ( Id.loc_of_name x - 2069 | , x - 2070 | , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') dep - 2071 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - File "src/core/whnf.ml", lines 2086-2092, characters 2-105: - 2086 | ..match sA with - 2087 | | (Atom _ as tP, s) -> - 2088 | let u = newMMVar (Some (Id.inc n)) (cD, cPsi, tclo tP s) dep in - 2089 | Root (loc, MMVar ((u, m_id), s'), Nil, Depend.to_plicity dep) - 2090 | - 2091 | | (PiTyp ((TypDecl (x, _) as decl, _), tB), s) -> - 2092 | Lam (loc, x, etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') dep) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - File "src/core/whnf.ml", lines 2097-2103, characters 2-42: - 2097 | ..match tM with - 2098 | | Lam (_, _, tM) -> closed (tM, LF.dot1 s) - 2099 | | Root (_, h, tS, _) -> - 2100 | closedHead h - 2101 | && closedSpine (tS, s) - 2102 | | LFHole _ -> false - 2103 | | Tuple (_, tup) -> closedTuple (tup, s) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Clo _ - File "src/core/whnf.ml", lines 2128-2136, characters 2-28: - 2128 | ..function - 2129 | | EmptySub -> true - 2130 | | Undefs -> true - 2131 | | SVar (_, _, sigma) -> closedSub sigma - 2132 | | Shift _ -> true - 2133 | | Dot (ft, s) -> closedFront ft && closedSub s - 2134 | | MSVar (_, ((v, t), s)) -> - 2135 | (* the case for MMVar doesn't also check the substitution -je *) - 2136 | is_mmvar_instantiated v..................... - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - FSVar (_, _) - File "src/core/whnf.ml", lines 2147-2152, characters 2-40: - 2147 | ..match tA with - 2148 | | Atom (_, _, tS) -> closedSpine (tS, s) - 2149 | | PiTyp ((t_dec, _), tA) -> - 2150 | closedDecl (t_dec, s) - 2151 | && closedTyp (tA, LF.dot1 s) - 2152 | | Sigma recA -> closedTypRec (recA, s) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TClo _ - File "src/core/whnf.ml", lines 2170-2173, characters 5-8: - 2170 | .....begin match mmvar.instantiation.contents with - 2171 | | None -> false - 2172 | | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta)) - 2173 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (INorm _|IHead _|ISub _) - File "src/core/whnf.ml", lines 2203-2206, characters 2-56: - 2203 | ..function - 2204 | | CObj cPsi -> closedDCtx cPsi - 2205 | | ClObj (phat, t) -> - 2206 | closedDCtx (Context.hatToDCtx phat) && closedMObj t - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MUndef|MV _) - File "src/core/whnf.ml", lines 2217-2226, characters 2-37: - 2217 | ..function - 2218 | | Comp.TypBase (_, _, mS) -> closedMetaSpine mS - 2219 | | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS - 2220 | | Comp.TypBox (_, cT) -> closedMetaTyp cT - 2221 | | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2 - 2222 | | Comp.TypCross (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2 - 2223 | | Comp.TypPiBox (_, ctyp_decl, cT) -> - 2224 | closedCTyp cT && closedDecl ctyp_decl - 2225 | | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *) - 2226 | | Comp.TypInd tau -> closedCTyp tau - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDef (_, _, _) - File "src/core/whnf.ml", lines 2375-2376, characters 37-34: - 2375 | .....................................(Comp.CTypDecl (_, tau2, _)) = - 2376 | convCTyp (tau1, t1) (tau2, t2) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTypDeclOpt _ - File "src/core/whnf.ml", lines 2375-2376, characters 8-34: - 2375 | ........(Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) = - 2376 | convCTyp (tau1, t1) (tau2, t2) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTypDeclOpt _ - File "src/core/whnf.ml", lines 2381-2382, characters 27-23: - 2381 | ...........................(Decl (_, cU2, _)) = - 2382 | convMetaTyp cU1 cU2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/whnf.ml", lines 2381-2382, characters 8-23: - 2381 | ........(Decl (_, cU1, _)) (Decl (_, cU2, _)) = - 2382 | convMetaTyp cU1 cU2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/whnf.ml", lines 2387-2389, characters 2-90: - 2387 | ..function - 2388 | | (Atom _, _) as sA -> (cPsi, whnfTyp sA) - 2389 | | (PiTyp ((decl, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Sigma _|TClo _), _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovCtx _|CovSub (_, _, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Subord.cmx -c -impl src/core/subord.pp.ml) - File "src/core/subord.ml", lines 99-102, characters 7-43: - 99 | .......function - 100 | | Atom _ -> [tA] - 101 | | PiTyp ((TypDecl (_, tA1), _), tA2) -> - 102 | extract_neg tA1 @ extract_pos tA2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - File "src/core/subord.ml", lines 104-107, characters 7-43: - 104 | .......function - 105 | | Atom _ -> [] - 106 | | PiTyp ((TypDecl (_, tA1), _), tA2) -> - 107 | extract_pos tA1 @ extract_neg tA2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - File "src/core/subord.ml", lines 86-113, characters 2-47: - 86 | ..match tA with - 87 | | Atom (_, a, _) -> - 88 | Types.freeze a; - 89 | if List.exists - 90 | begin fun type_in_basis -> - ... - 110 | If we keep this, then we might not strengthen enough... -bp*) - 111 | List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1) - 112 | @ relevant tA2 basis - 113 | | Sigma typRec -> relevantTypRec typRec basis - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|TClo _) - File "src/core/subord.ml", lines 160-162, characters 9-71: - 160 | .........match psi with - 161 | | CtxOffset _ -> Context.lookupCtxVarSchema cD psi - 162 | | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CInst ({typ=CTyp None; _ }, _)|CInst ({typ=ClTyp (_, _); _ }, _)|CtxName _) - File "src/core/subord.ml", lines 156-188, characters 4-10: - 156 | ....match cPsi with - 157 | | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *) - 158 | | CtxVar psi -> - 159 | let schema = - 160 | match psi with - ... - 185 | (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA' where tA = [thin_s]([thin_s_inv]tA) *) - 186 | let thin_s_inv = Substitution.LF.invert thin_s in - 187 | (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv)))) - 188 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DDec (_, TypDeclOpt _) - File "src/core/subord.ml", line 190, characters 8-45: - 190 | inner (match tP with Atom (_, a, _) -> [a]) cPsi - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Sigma _ - File "src/core/subord.ml", lines 216-217, characters 16-21: - 216 | ................let (_, Decl (_, CTyp (Some s_cid), _)) = Store.FCVar.get psi in - 217 | s_cid - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp None, _))|(_, Decl (_, ClTyp (_, _), _))| - (_, DeclOpt (_, _))) - File "src/core/subord.ml", lines 206-239, characters 4-10: - 206 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with - 207 | | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *) - 208 | | CtxVar psi -> - 209 | begin - 210 | try - ... - 236 | (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA' where tA = [thin_s]([thin_s_inv]tA) *) - 237 | let thin_s_inv = Substitution.LF.invert thin_s in - 238 | (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv)))) - 239 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DDec (_, TypDeclOpt _) - File "src/core/subord.ml", lines 250-252, characters 11-25: - 250 | ...........let (_, Decl (_, CTyp _, _)) = Store.FCVar.get psi in - 251 | p.fmt "[thin'] CtxName psi = %a FOUND" - 252 | Id.print psi - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp (_, _), _))|(_, DeclOpt (_, _))) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Ctxsub.cmx -c -impl src/core/ctxsub.pp.ml) - File "src/core/ctxsub.ml", lines 47-66, characters 2-36: - 47 | ..match sA' with - 48 | | (PiTyp ((decl, _), tA'), s') -> - 49 | let (tM , sAmv) = - 50 | lowerMVar - 51 | (DDec (cPsi, Substitution.LF.decSub decl s')) - ... - 63 | , Nil - 64 | , `explicit - 65 | ) , - 66 | ClTyp(MTyp (TClo sA') , cPsi)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _, _) - File "src/core/ctxsub.ml", lines 89-157, characters 2-84: - 89 | ..function - 90 | | Null -> - 91 | (* Substitution.LF.id --changed 2010-07-26*) - 92 | (cD, ctxShift psi, 0) - 93 | - ... - 154 | - 155 | | DDec (_, TypDecl _) -> - 156 | (* For the moment, assume tA atomic. *) - 157 | Error.not_implemented' "[ctxToSub_mclosed] non-atomic cPsi entry not supported" - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxVar _) - File "src/core/ctxsub.ml", lines 173-215, characters 2-11: - 173 | ..function - 174 | | Null -> - 175 | (* Substitution.LF.id --changed 2010-07-26*) - 176 | ctxShift cPhi - 177 | - ... - 212 | (* dprint (fun () -> "shifted = " ^ subToString shifted);*) - 213 | let result = Dot (front, s) in - 214 | dprint (fun () -> "result = " ^ subToString result); - 215 | result - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxVar _) - File "src/core/ctxsub.ml", lines 249-254, characters 2-43: - 249 | ..function - 250 | | Empty -> MShift (Context.length cD0) - 251 | | Dec (cD', Decl (n, mtyp, dep)) -> - 252 | let t = mctxToMMSub cD0 cD' in - 253 | let mtyp' = Whnf.cnormMTyp (mtyp,t) in - 254 | MDot (mdeclToMMVar cD0 n mtyp' dep, t) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, DeclOpt (_, _)) - File "src/core/ctxsub.ml", lines 260-262, characters 2-35: - 260 | ..function - 261 | | t when n <= 0 -> t - 262 | | MDot (_, t') -> drop (n - 1) t' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - MShift _ - (However, some guarded clause may match this value.) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Prettyint.cmx -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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDecl (_, _), Inductive), _)|PiTyp ((TypDeclOpt _, _), _)) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxVar _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiKind ((TypDecl (_, _), Inductive), _)|PiKind ((TypDeclOpt _, _), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Eqn (_, _, _, INorm _, (IHead _|ISub _|ICtx _))| - Eqn (_, _, _, IHead _, (INorm _|ISub _|ICtx _))| - Eqn (_, _, _, (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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - FnValue (_, _, _, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__ConvSigma.cmx -c -impl src/core/convSigma.pp.ml) - File "src/core/convSigma.ml", lines 38-51, characters 4-7: - 38 | ....begin fun (Error (loc, err)) -> - 39 | Error.print_with_location loc - 40 | begin fun ppf -> - 41 | match err with - 42 | | BlockInDctx (cD, h, tA, cPsi) -> - ... - 48 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi - 49 | (P.fmt_ppr_lf_typ cD cPsi P.l0) tA - 50 | end - 51 | end - Warning 8: 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/convSigma.ml", lines 55-57, characters 2-50: - 55 | ..match (conv_list, k) with - 56 | | (d::conv_list', 1) -> d - 57 | | (d::conv_list', _) -> d + map conv_list' (k-1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ([], _) - File "src/core/convSigma.ml", lines 62-70, characters 2-21: - 62 | ..match tM with - 63 | | LF.Lam (loc, x, tN) -> - 64 | let tN' = strans_norm cD cPsi (tN, S.LF.dot1 s) (1 :: conv_list) in - 65 | LF.Lam (loc, x, tN') - 66 | | LF.Root (loc, h, tS, plicity) -> - 67 | let h' = strans_head loc cD cPsi h conv_list in - 68 | let tS' = strans_spine cD cPsi (tS, s) conv_list in - 69 | LF.Root (loc, h', tS', plicity) - 70 | | LF.LFHole _ -> tM - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Clo _|Tuple (_, _)) - File "src/core/convSigma.ml", lines 73-119, characters 2-8: - 73 | ..match h with - 74 | | LF.BVar x -> LF.BVar (map conv_list x) - 75 | - 76 | | LF.MVar (LF.Offset u, sigma) -> - 77 | LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list) - ... - 116 | LF.BVar x' - 117 | with - 118 | | _ -> LF.Proj (LF.BVar x, j) - 119 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Proj - ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| - HClo (_, _, _)|HMClo (_, _)), - _)| - AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)) - File "src/core/convSigma.ml", lines 130-136, characters 2-26: - 130 | ..match mf with - 131 | | LF.ClObj (phat, LF.MObj tM) -> - 132 | LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list )) - 133 | | LF.ClObj (phat, LF.PObj h) -> - 134 | LF.ClObj (phat, LF.PObj (strans_head Syntax.Loc.ghost cD cPsi h conv_list)) - 135 | | LF.MV u -> LF.MV u - 136 | | LF.MUndef -> LF.MUndef - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClObj (_, SObj _)|CObj _) - File "src/core/convSigma.ml", lines 139-141, characters 2-55: - 139 | ..function - 140 | | (0, xs) -> n - 141 | | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (1, []) - File "src/core/convSigma.ml", lines 181-188, characters 2-47: - 181 | ..match tA with - 182 | | LF.Atom (loc, a, tS ) -> - 183 | LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list ) - 184 | - 185 | | LF.PiTyp ((LF.TypDecl (x, tA), dep), tB) -> - 186 | let tA' = strans_typ cD cPsi (tA, s) conv_list in - 187 | let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1::conv_list) in - 188 | LF.PiTyp ((LF.TypDecl (x, tA'), dep), tB') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - File "src/core/convSigma.ml", lines 343-391, characters 2-24: - 343 | ..match Whnf.whnfTyp sA with - 344 | | LF.Sigma tRec as tA, s -> - 345 | (* XXX this doesn't do any strengthening !! -je *) - 346 | let tH = - 347 | mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) dep, Whnf.m_id), s) - ... - 388 | let tN = - 389 | etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) dep n (x :: names) - 390 | in - 391 | LF.Lam (loc, x, tN) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|(TClo _, _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Apxnorm.cmx -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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CObj (CtxVar (CtxName _|CInst _))|MUndef|ClObj (_, _)) - 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: 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: 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypBox (_, (_, CTyp _))|TypCobase (_, _, _)|TypDef (_, _, _)|TypInd _) - 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: 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: 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/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Index.cmx -c -impl src/core/index.pp.ml) - File "src/core/index.ml", lines 223-251, characters 2-17: - 223 | ..function - 224 | | NameOvershadowing n -> - 225 | fprintf ppf ("The declaration %a is overshadowing an earlier one.") Id.print n - 226 | | MisplacedOperator n -> - 227 | fprintf ppf ("Illegal use of operator %a.") Id.print n - ... - 248 | fprintf ppf "Substitution is not allowed in %a" print_illegal_subst_term s - 249 | | NonemptyPatternSpineForVariable x -> - 250 | fprintf ppf "Variable patterns may not be applied; is %a misspelled?" - 251 | Id.print x - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - UnboundOperator _ - File "src/core/index.ml", lines 268-280, characters 4-7: - 268 | ....begin fun (Error (loc, err, hint)) -> - 269 | Error.print_with_location loc - 270 | begin fun ppf -> - 271 | fprintf ppf "@[<v>%a%a@]" - 272 | print_error err - ... - 277 | end) - 278 | hint - 279 | end - 280 | end - Warning 8: 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/index.ml", lines 347-353, characters 2-13: - 347 | ..match k with - 348 | | Ext.LF.Typ _ -> - 349 | pure Apx.LF.Typ - 350 | | Ext.LF.ArrKind (_, a, k) -> - 351 | pi (Id.mk_name Id.NoName) a k - 352 | | Ext.LF.PiKind (_, Ext.LF.TypDecl (x, a), k) -> - 353 | pi x a k - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PiKind (_, TypDeclOpt _, _) - File "src/core/index.ml", lines 357-402, characters 2-45: - 357 | ..match a with - 358 | | Ext.LF.Atom (loc, a, s) -> - 359 | let a' = - 360 | try - 361 | Typ.index_of_name a - ... - 399 | end - 400 | - 401 | | Ext.LF.AtomTerm (loc, Ext.LF.Root (loc', Ext.LF.Name (_, name, None), tS)) -> - 402 | index_typ (Ext.LF.Atom (loc', name, tS)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp (_, TypDeclOpt _, _)|AtomTerm (_, Root (_, Name (_, _, Some _), _))| - AtomTerm (_, Root (_, (Hole _|PVar (_, _, _)|Proj (_, _, _)), _))| - AtomTerm - (_, - (Lam (_, _, _)|Tuple (_, _)|LFHole (_, _)|Ann (_, _, _)|NTyp (_, _)| - PatEmpty _))| - Ctx (_, _)) - File "src/core/index.ml", lines 405-411, characters 2-29: - 405 | ..function - 406 | | Ext.LF.Lam (l, _, _) -> l - 407 | | Ext.LF.Root (l, _, _) -> l - 408 | | Ext.LF.Tuple (l, _) -> l - 409 | | Ext.LF.Ann (l, _, _) -> l - 410 | | Ext.LF.TList (l, _) -> l - 411 | | Ext.LF.LFHole (l, _) -> l - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (NTyp (_, _)|PatEmpty _) - File "src/core/index.ml", lines 438-441, characters 4-49: - 438 | ....function - 439 | | Ext.LF.Root (_, Ext.LF.Name (_, name, _), Ext.LF.Nil) - 440 | | Ext.LF.Root (_, Ext.LF.PVar (_, name, _), Ext.LF.Nil) -> - 441 | Maybe.get (Store.OpPragmas.getPragma name) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Root (_, Name (_, _, _), App (_, _, _))| - Root (_, PVar (_, _, _), App (_, _, _))|Root (_, (Hole _|Proj (_, _, _)), _)| - Lam (_, _, _)|Tuple (_, _)|LFHole (_, _)|Ann (_, _, _)|TList (_, _)| - NTyp (_, _)|PatEmpty _) - File "src/core/index.ml", lines 533-542, characters 12-52: - 533 | ............let (_, e) :: es = exps in - 534 | let loc = locOfNormal e in - 535 | let e' = - 536 | Ext.LF.Root - 537 | ( loc - 538 | , Ext.LF.Name (loc, o.Store.OpPragmas.name, None) - 539 | , Ext.LF.App (loc, e, Ext.LF.Nil) - 540 | ) - 541 | in - 542 | parse (i + 1, h :: t, (i, e') :: es, os) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - [] - File "src/core/index.ml", lines 545-554, characters 12-52: - 545 | ............let (_, e2) :: (_, e1) :: es = exps in - 546 | let loc = locOfNormal e1 in - 547 | let e' = - 548 | Ext.LF.Root - 549 | ( loc - 550 | , Ext.LF.Name (loc, o.Store.OpPragmas.name, None) - 551 | , normalListToSpine [e1; e2] - 552 | ) - 553 | in - 554 | parse (i + 1, h :: t, (i, e') :: es, os) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, _)::[]|[]) - File "src/core/index.ml", lines 651-653, characters 7-48: - 651 | .......let (_, Ext.LF.Root (loc, h, Ext.LF.Nil)) :: t = l' in - 652 | let t = List.map snd t in - 653 | Ext.LF.Root (loc, h, normalListToSpine t) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Root (_, _, App (_, _, _)))::_| - (_, - (Lam (_, _, _)|Tuple (_, _)|LFHole (_, _)|Ann (_, _, _)|TList (_, _)| - NTyp (_, _)|PatEmpty _))::_|[]) - File "src/core/index.ml", lines 706-726, characters 2-34: - 706 | ..function - 707 | | Ext.LF.Lam (loc, x, m) -> - 708 | locally (extending_bvars x) (index_term m) - 709 | $> fun m' -> Apx.LF.Lam (loc, x, m') - 710 | - ... - 723 | Apx.LF.Ann (loc, m', a') - 724 | - 725 | | Ext.LF.TList (loc, nl) -> - 726 | index_term (shunting_yard nl) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (NTyp (_, _)|PatEmpty _) - File "src/core/index.ml", lines 1242-1288, characters 2-51: - 1242 | ..match tau with - 1243 | | Ext.Comp.TypBase (loc, a, ms) -> - 1244 | begin - 1245 | try - 1246 | let a' = CompTyp.index_of_name a in - ... - 1285 | index_cdecl (fun _ -> `explicit) cvars fvars cdecl - 1286 | in - 1287 | let (fvars, tau') = index_comptyp tau cvars fvars in - 1288 | (fvars, Apx.Comp.TypPiBox (loc, cdecl', tau')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypInd _ - File "src/core/index.ml", lines 1582-1600, characters 2-37: - 1582 | ..function - 1583 | | Apx.Comp.PatFVar (loc, x) -> - 1584 | (* all free variable names must be in fvars *) - 1585 | let offset = Var.index_of_name fvars x in - 1586 | Apx.Comp.PatVar (loc, x, offset) - ... - 1597 | - 1598 | | Apx.Comp.PatAnn (loc, pat, tau) -> - 1599 | let pat' = reindex_pattern fvars pat in - 1600 | Apx.Comp.PatAnn (loc, pat', tau) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PatVar (_, _, _) - File "src/core/index.ml", line 1739, characters 20-68: - 1739 | Ext.LF.(fun _ (Decl (x, _, dep)) -> (x, Depend.to_plicity dep)) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt _ - File "src/core/index.ml", lines 1758-1762, characters 4-23: - 1758 | ....match cK with - 1759 | | Apx.Comp.Ctype _ -> cvars - 1760 | | Apx.Comp.PiKind (loc, Apx.LF.Decl (u, ctyp, dep), cK) -> - 1761 | let cvars' = CVar.extend cvars (CVar.mk_entry u `explicit) in - 1762 | unroll cK cvars' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PiKind (_, DeclOpt _, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Abstract.cmx -c -impl src/core/abstract.pp.ml) - File "src/core/abstract.ml", lines 44-61, characters 4-7: - 44 | ....begin fun (Error (loc, err)) -> - 45 | Error.print_with_location loc - 46 | begin fun ppf -> - 47 | match err with - 48 | | UnknownMTyp psi -> - ... - 58 | | UnknownIdentifier -> - 59 | Format.fprintf ppf "Unknown identifier in program." - 60 | end - 61 | end - Warning 8: 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/abstract.ml", lines 251-255, characters 4-47: - 251 | ....function - 252 | | I.Atom _ -> (k, tS) - 253 | | I.PiTyp (_, tA') -> - 254 | let tN = I.Root (loc, I.BVar k, I.Nil, `explicit) in - 255 | etaExpSpine (k + 1) (I.App (tN, tS)) tA' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _|TClo _) - File "src/core/abstract.ml", lines 258-261, characters 4-49: - 258 | ....match tA with - 259 | | I.Atom _ -> tM - 260 | | I.PiTyp ((I.TypDecl (x, _), _), tA') -> - 261 | I.Lam (loc, x, etaExpPrefix loc (tM, tA')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - File "src/core/abstract.ml", lines 265-267, characters 4-19: - 265 | ....match h with - 266 | | I.BVar x -> I.BVar (x + k - 1) - 267 | | I.FVar _ -> h - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _| - FPVar _|HClo (_, _, _)|HMClo (_, _)) - File "src/core/abstract.ml", lines 315-330, characters 2-17: - 315 | ..function - 316 | | I.Empty -> I.Empty - 317 | - 318 | | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _)))) -> - 319 | begin match raiseType cPsi tA with - ... - 327 | I.Dec (ctxToCtx cQ', I.TypDecl (x, tA)) - 328 | - 329 | | I.Dec (cQ', FDecl (_, Impure)) -> - 330 | ctxToCtx cQ' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, FDecl (FV _, Pure (MetaTyp (_, _))))| - Dec (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _))))| - Dec (_, FDecl (MMV _, Pure (MetaTyp (CTyp _, _))))| - Dec (_, FDecl (MMV _, Pure (LFTyp _)))|Dec (_, CtxV _)) - File "src/core/abstract.ml", lines 334-348, characters 2-20: - 334 | ..function - 335 | | I.Empty -> I.Empty - 336 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, dep)))) -> - 337 | I.Dec (ctxToMCtx f cQ', I.Decl (n, ityp, f dep)) - 338 | | I.Dec (cQ', FDecl (MMV (n, _), Pure (MetaTyp (ityp, dep)))) -> - ... - 345 | | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))-> - 346 | raise (Error.Violation "Free variables in computation-level reconstruction.") - 347 | | I.Dec (cQ', FDecl (_, Impure)) -> - 348 | ctxToMCtx f cQ' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, FDecl (MMV (_, _), Pure (LFTyp _))) - File "src/core/abstract.ml", lines 352-365, characters 2-32: - 352 | ..function - 353 | | I.Empty -> I.Empty - 354 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _)))) -> - 355 | I.Dec (ctxToMCtx_pattern (n :: names) cQ', I.Decl (n, ityp, I.No)) - 356 | - ... - 362 | I.Dec (ctxToMCtx_pattern (x :: names) cQ', I.Decl (x, I.CTyp (Some w), dep)) - 363 | - 364 | | I.Dec (cQ', FDecl (_, Impure)) -> - 365 | ctxToMCtx_pattern names cQ' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))| - Dec (_, FDecl (FV _, Pure (LFTyp _)))) - File "src/core/abstract.ml", lines 390-402, characters 2-35: - 390 | ..function - 391 | | (I.Lam (loc, x, tM), s) -> - 392 | let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in - 393 | (cQ', I.Lam (loc, x, tM')) - 394 | | (I.Tuple (loc, tuple), s) -> - ... - 399 | let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in - 400 | (cQ'', I.Root (loc, h', tS', plicity)) - 401 | | (I.LFHole (loc, id, name), s) -> - 402 | (cQ, I.LFHole (loc, id, name)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Clo _, _) - File "src/core/abstract.ml", line 460, characters 12-60: - 460 | | LF -> let Int.LF.Type tA = FVar.get name in (LFTyp tA) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypVar (TInst (_, _, _, _)) - File "src/core/abstract.ml", lines 462-466, characters 7-32: - 462 | .......let (cD_d, I.Decl (_, mtyp, dep)) = FCVar.get name in - 463 | let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in - 464 | if !pat_flag - 465 | then MetaTyp (mtyp', I.No) - 466 | else MetaTyp (mtyp', dep) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, DeclOpt (_, _)) - File "src/core/abstract.ml", lines 493-498, characters 10-11: - 493 | ..........let (cQ', MetaTyp (typ, depend)) = - 494 | addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, depend)) - 495 | in - 496 | ( cQ' - 497 | , I.{ v with typ; depend } - 498 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, LFTyp _) - File "src/core/abstract.ml", lines 596-633, characters 2-26: - 596 | ..function - 597 | | (I.BVar _ as head, _) - 598 | | (I.Const _ as head, _) -> (cQ, head) - 599 | - 600 | | (I.FVar name, _) -> - ... - 630 | - 631 | | (I.Proj (head, j), s) -> - 632 | let (cQ', h') = collectHead k cQ phat loc (head, s) in - 633 | (cQ', I.Proj (h', j)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _) - File "src/core/abstract.ml", lines 637-652, characters 2-27: - 637 | ..function - 638 | | (I.Atom (loc, a, tS), s) -> - 639 | let (cQ', tS') = collectSpine p cQ phat (tS, s) in - 640 | (cQ', I.Atom (loc, a, tS')) - 641 | - ... - 649 | - 650 | | (I.Sigma typRec, s) -> - 651 | let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in - 652 | (cQ', I.Sigma typRec') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _), _) - File "src/core/abstract.ml", lines 667-672, characters 2-54: - 667 | ..function - 668 | | (I.Typ, _) -> (cQ, I.Typ) - 669 | | (I.PiKind ((I.TypDecl (x, tA), dep), tK), s) -> - 670 | let (cQ', tA') = collectTyp p cQ phat (tA, s) in - 671 | let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in - 672 | (cQ'', I.PiKind ((I.TypDecl (x, tA'), dep), tK')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiKind ((TypDeclOpt _, _), _), _) - File "src/core/abstract.ml", lines 740-742, characters 22-30: - 740 | ......................(I.Decl (u, mtyp,dep)) = - 741 | let (cQ', mtyp') = collectMTyp p cQ mtyp in - 742 | (cQ', I.Decl (u, mtyp',dep)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/abstract.ml", lines 765-771, characters 2-8: - 765 | ..function - 766 | | (I.Typ, _) -> I.Typ - 767 | | (I.PiKind ((I.TypDecl (x, tA), dep), tK), s) -> - 768 | I.PiKind - 769 | ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), dep) - 770 | , abstractKind cQ (offset + 1) (tK, LF.dot1 s) - 771 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiKind ((TypDeclOpt _, _), _), _) - File "src/core/abstract.ml", lines 776-784, characters 2-8: - 776 | ..function - 777 | | (I.Atom (loc, a, tS), s (* id *)) -> - 778 | I.Atom (loc, a, abstractSpine cQ offset (tS, s)) - 779 | - 780 | | (I.PiTyp ((I.TypDecl (x, tA), dep), tB), s) -> - 781 | I.PiTyp - 782 | ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), dep) - 783 | , abstractTyp cQ (offset + 1) (tB, LF.dot1 s) - 784 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - File "src/core/abstract.ml", lines 799-824, characters 2-8: - 799 | ..function - 800 | | (I.Lam (loc, x, tM), s) -> - 801 | I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s)) - 802 | - 803 | | ( I.(Root - ... - 821 | , abstractHead cQ offset tH - 822 | , abstractSpine cQ offset (tS, s) - 823 | , plicity - 824 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _) - File "src/core/abstract.ml", lines 827-832, characters 2-54: - 827 | ..function - 828 | | I.BVar _ as tH -> tH - 829 | | I.Const _ as tH -> tH - 830 | | I.FVar n -> I.BVar (index_of cQ (FV n) + offset) - 831 | | I.AnnH _ -> - 832 | Error.not_implemented' "[abstractHead] AnnH case" - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)| - HMClo (_, _)) - File "src/core/abstract.ml", lines 836-850, characters 2-85: - 836 | ..match (s, cPsi) with - 837 | | (I.Shift _, I.Null) -> tS - 838 | | (I.Shift k, I.DDec _) -> - 839 | subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS - 840 | - ... - 847 | (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *) - 848 | - 849 | | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) -> - 850 | subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dot (Head (MVar _), _), (Null|CtxVar _))| - (Dot (Head (BVar _), _), DDec (_, TypDeclOpt _))| - (Dot (Head (BVar _), _), (Null|CtxVar _))| - (Dot - (Head - (Const _|MMVar _|MPVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| - FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - _)|(Dot (Obj _, _), (Null|CtxVar _))|(Dot (Undef, _), _)|(Shift _, CtxVar _)| - ((EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)), _)) - File "src/core/abstract.ml", lines 861-875, characters 2-48: - 861 | ..function - 862 | | I.Empty -> I.Empty - 863 | | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ - 864 | | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), dep)))) -> - 865 | let cQ' = abstractCtx cQ in - ... - 872 | | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) -> - 873 | let cQ' = abstractCtx cQ in - 874 | let tA' = abstractTyp cQ 0 (tA, LF.id) in - 875 | I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA'))) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, FDecl (FV _, Pure (MetaTyp (_, _))))| - Dec - (_, - FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _))))| - Dec (_, FDecl (MMV (_, _), Pure (MetaTyp (CTyp _, _))))| - Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))|Dec (_, CtxV _)) - File "src/core/abstract.ml", lines 881-887, characters 2-39: - 881 | ..match cPsi with - 882 | | I.Null -> I.Null - 883 | | I.CtxVar psi -> cPsi - 884 | | I.DDec (cPsi, I.TypDecl (x, tA)) -> - 885 | let cPsi' = abstractDctx cQ cPsi (l - 1) in - 886 | let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in - 887 | I.DDec (cPsi', I.TypDecl (x, tA')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DDec (_, TypDeclOpt _) - File "src/core/abstract.ml", lines 911-921, characters 2-20: - 911 | ..function - 912 | | (I.Atom (loc, a, tS), s (* id *)) -> - 913 | I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s)) - 914 | | (I.PiTyp ((I.TypDecl (x, tA), dep), tB), s) -> - 915 | I.PiTyp - ... - 918 | ) - 919 | | (I.Sigma typRec, s) -> - 920 | let typRec' = abstractMVarTypRec cQ offset (typRec, s) in - 921 | I.Sigma typRec' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|(TClo _, _)) - File "src/core/abstract.ml", lines 935-943, characters 2-29: - 935 | ..function - 936 | | (I.Lam (loc, x, tM), s) -> - 937 | I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s)) - 938 | | (I.Tuple (loc, tuple), s) -> - 939 | I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s)) - 940 | | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) -> - 941 | I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS,s), plicity) - 942 | | (I.LFHole (loc, id, name), s) -> - 943 | I.LFHole (loc, id, name) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Clo _, _) - File "src/core/abstract.ml", lines 981-1017, characters 2-46: - 981 | ..function - 982 | | I.BVar _ as mH -> mH - 983 | | I.Const _ as mH -> mH - 984 | - 985 | | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns) - ... - 1014 | Error.not_implemented' "[abstractMVarHead] AnnH case" - 1015 | - 1016 | | I.Proj (head, k) -> - 1017 | I.Proj (abstractMVarHead cQ loff head, k) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (FVar _|HClo (_, _, _)|HMClo (_, _)) - File "src/core/abstract.ml", lines 1072-1078, characters 2-39: - 1072 | ..function - 1073 | | I.Null -> I.Null - 1074 | | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv) - 1075 | | I.DDec (cPsi, I.TypDecl (x, tA)) -> - 1076 | let cPsi' = abstractMVarDctx cQ loff cPsi in - 1077 | let tA' = abstractMVarTyp cQ loff (tA, LF.id) in - 1078 | I.DDec (cPsi', I.TypDecl (x, tA')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DDec (_, TypDeclOpt _) - File "src/core/abstract.ml", lines 1091-1092, characters 30-48: - 1091 | ..............................(I.Decl (u, mtyp, dep)) = - 1092 | I.Decl (u, abstractMVarMTyp cQ mtyp loff, dep) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/abstract.ml", lines 1101-1118, characters 2-56: - 1101 | ..match cQ with - 1102 | | I.Empty -> I.Empty - 1103 | | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, dep)))) -> - 1104 | let cQ' = abstractMVarCtx cQ (l - 1) in - 1105 | I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), dep)))) - ... - 1115 | * is it ever hit on correct code? -jd 2009-02-12 - 1116 | * No. This case should not occur in correct code - bp - 1117 | *) - 1118 | raise (Error (Syntax.Loc.ghost, UnknownIdentifier)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, FDecl (MMV _, Pure (LFTyp _))) - File "src/core/abstract.ml", lines 1130-1134, characters 2-20: - 1130 | ..function - 1131 | | I.ClObj (phat, tM) -> - 1132 | I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM) - 1133 | | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi) - 1134 | | I.MV k -> I.MV k - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - MUndef - File "src/core/abstract.ml", lines 1147-1156, characters 4-21: - 1147 | ....function - 1148 | | I.Empty -> I.Empty - 1149 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, dep)))) -> - 1150 | I.Dec (ctxToMCtx' cQ', I.Decl (n, ityp, dep)) - 1151 | | I.Dec (cQ', FDecl (MMV (n, _), Pure (MetaTyp (ityp, dep)))) -> - 1152 | I.Dec (ctxToMCtx' cQ', I.Decl (n, ityp, dep)) - 1153 | | I.Dec (cQ', CtxV (x, w, dep)) -> - 1154 | I.Dec (ctxToMCtx' cQ', I.Decl (x, I.CTyp (Some w), dep)) - 1155 | | I.Dec (cQ', FDecl (_, Impure)) -> - 1156 | ctxToMCtx' cQ' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, FDecl (MMV (_, _), Pure (LFTyp _)))| - Dec (_, FDecl (FV _, Pure (LFTyp _)))) - File "src/core/abstract.ml", lines 1185-1194, characters 2-8: - 1185 | ..match cQ with - 1186 | | Int.LF.Empty -> (tA', 0) - 1187 | | Int.LF.Dec (_, FDecl (s, _)) -> - 1188 | let cQ' = abstractCtx cQ in - 1189 | let tA2 = abstractTyp cQ' 0 (tA', LF.id) in - 1190 | let cPsi = ctxToCtx cQ' in - 1191 | begin match raiseType' cPsi tA2 with - 1192 | | (None, tA3) -> (tA3, length' cPsi) - 1193 | | _ -> raise (Error (Syntax.Loc.ghost, LeftoverVars)) - 1194 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, CtxV _) - File "src/core/abstract.ml", lines 1223-1255, characters 2-28: - 1223 | ..function - 1224 | | Comp.TypBase (loc, a, ms) -> - 1225 | let (cQ', ms') = collect_meta_spine p cQ ms in - 1226 | (cQ', Comp.TypBase (loc, a, ms')) - 1227 | | Comp.TypCobase (loc, a, ms) -> - ... - 1252 | - 1253 | | Comp.TypInd tau -> - 1254 | let (cQ', tau') = collectCompTyp p cQ tau in - 1255 | (cQ', Comp.TypInd tau') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDef (_, _, _) - File "src/core/abstract.ml", lines 1259-1264, characters 2-54: - 1259 | ..function - 1260 | | I.Empty -> (cQ, I.Empty) - 1261 | | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) -> - 1262 | let (cQ1, cG') = collectGctx cQ cG in - 1263 | let (cQ2, tau') = collectCompTyp 0 cQ1 tau in - 1264 | (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag))) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, CTypDeclOpt _) - File "src/core/abstract.ml", lines 1422-1453, characters 2-52: - 1422 | ..function - 1423 | | Comp.TypBase (loc, a, cS) -> - 1424 | let cS' = abstractMVarMetaSpine cQ offset cS in - 1425 | Comp.TypBase (loc, a, cS') - 1426 | | Comp.TypCobase (loc, a, cS) -> - ... - 1450 | ) - 1451 | - 1452 | | Comp.TypInd tau -> - 1453 | Comp.TypInd (abstractMVarCompTyp cQ offset tau) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypDef (_, _, _)|TypClo (_, _)) - File "src/core/abstract.ml", lines 1456-1461, characters 2-47: - 1456 | ..function - 1457 | | I.Empty -> I.Empty - 1458 | | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) -> - 1459 | let cG' = abstractMVarGctx cQ offset cG in - 1460 | let tau' = abstractMVarCompTyp cQ offset tau in - 1461 | I.Dec (cG', Comp.CTypDecl (x, tau', flag)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, CTypDeclOpt _) - File "src/core/abstract.ml", lines 1632-1634, characters 4-48: - 1632 | ....match (p, cD) with - 1633 | | (0, _) -> cD - 1634 | | (_, I.Dec (cD', decl)) -> drop (p - 1) cD' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (1, Empty) - File "src/core/abstract.ml", lines 1654-1658, characters 6-9: - 1654 | ......begin - 1655 | let I.Dec (cD1', decl) = cD1 in - 1656 | let cD = subtract cD1' cD2 in - 1657 | I.Dec (cD, decl) - 1658 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Empty - File "src/core/abstract.ml", lines 1712-1716, characters 2-24: - 1712 | ..function - 1713 | | I.Null -> cPsi1 - 1714 | | I.DDec (cPsi2', dec) -> - 1715 | let cPsi1' = appDCtx cPsi1 cPsi2' in - 1716 | I.Dec (cPsi1', dec) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CtxVar _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Unify.cmx -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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _, _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((MDot (MV _, _), Dec (_, DeclOpt (_, _)))|(MDot (MV _, _), Empty)| - (MDot (MUndef, _), Empty)|(MDot ((ClObj (_, _)|CObj _), _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp _, _))|(_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp _, _))|(_, DeclOpt (_, _))) - 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: 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: 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: 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 (_, _))| - Obj _) - 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: 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 (_, _))| - Obj _) - 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: 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: 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: 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: 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 (_, _)), - _)| - MVar (Inst {typ=CTyp _; _ }, _)|MMVar _|MPVar _|AnnH (_, _)|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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp (STyp (Ren, _), _), _))| - (_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClObj (_, SObj _)|MUndef) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Shift 1|EmptySub|Undefs|SVar (_, _, _)|Dot (_, _)) - 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp _, _))|(_, DeclOpt (_, _))) - 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: 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: 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: 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 (_, _))| - Obj _) - 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((MTyp _|PTyp _), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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 (_, _))| - Obj _) - 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: 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 (_, _))| - Obj _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dot (Head (Proj (BVar _, _)), _), DDec (_, TypDeclOpt _))| - (Dot (Head (Proj (BVar _, _)), _), (Null|CtxVar _))| - (Dot - (Head - (Proj - ((Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _)), - _), - _)|(Dot (Head (BVar _), _), DDec (_, TypDeclOpt _))| - (Dot (Head (BVar _), _), (Null|CtxVar _))| - (Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|FVar _|FMVar _| - FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - _)|(Dot (Obj _, _), DDec (_, TypDeclOpt _))| - (Dot (Obj _, _), (Null|CtxVar _))|(Dot (Undef, _), (Null|CtxVar _))| - (Undefs, (CtxVar _|DDec (_, _)))|(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: 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: 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: 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: 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: 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 (_, _))| - Obj _) - 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: 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 (_, _))| - Obj _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dot (Head (Proj (BVar _, _)), _), DDec (_, TypDeclOpt _))| - (Dot (Head (Proj (BVar _, _)), _), (Null|CtxVar _))| - (Dot - (Head - (Proj - ((Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _)), - _), - _)|(Dot (Head (BVar _), _), DDec (_, TypDeclOpt _))| - (Dot (Head (BVar _), _), (Null|CtxVar _))| - (Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|FVar _|FMVar _| - FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - _)|(Dot (Undef, _), (Null|CtxVar _))|(Dot (Obj _, _), _)| - (Shift _, DDec (_, TypDeclOpt _))|(Undefs, (CtxVar _|DDec (_, _)))| - (EmptySub, (CtxVar _|DDec (_, _)))| - ((SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Last _, _), (Cons (_, _), _))|((Cons (_, _), _), (Last _, _))) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ISub _, (MTyp _|PTyp _))|(ICtx _, _)) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Nil, _), (App (_, _), _))|((App (_, _), _), (Nil, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((CTyp _, ClTyp (_, _))|(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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((STyp (_, _), (MTyp _|PTyp _))|(PTyp _, (MTyp _|STyp (_, _)))| - (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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ISub _, (INorm _|IHead _|ICtx _))|(IHead _, (INorm _|ISub _|ICtx _))| - (INorm _, (IHead _|ISub _|ICtx _))|(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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Eqn (_, _, _, INorm _, (IHead _|ISub _|ICtx _))| - Eqn (_, _, _, IHead _, (INorm _|ISub _|ICtx _))| - Eqn (_, _, _, (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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PObj _, (MObj _|SObj _))|(MObj _, (PObj _|SObj _))|(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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ClObj (_, _), (MUndef|CObj _|MV _))|(CObj _, (MUndef|ClObj (_, _)|MV _))| - ((MUndef|MV _), _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Opsem.cmx -c -impl src/core/opsem.pp.ml) - File "src/core/opsem.ml", lines 24-31, characters 4-7: - 24 | ....begin fun (Error (loc, err)) -> - 25 | Error.print_with_location loc - 26 | begin fun ppf -> - 27 | match err with - 28 | | MissingBranch -> - 29 | Format.fprintf ppf "Missing branch -- non-exhaustive pattern match." - 30 | end - 31 | end - Warning 8: 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/opsem.ml", lines 82-85, characters 2-30: - 82 | ..match cM' with - 83 | | LF.ClObj (phat, LF.MObj tM) -> (loc, cM') - 84 | | LF.ClObj (phat, LF.PObj h) -> (loc, cM') - 85 | | LF.CObj cPsi -> (loc, cM') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClObj (_, SObj _)|MUndef|MV _) - File "src/core/opsem.ml", lines 123-139, characters 7-17: - 123 | .......function - 124 | | Comp.NilValBranch -> FunBranch Comp.NilValBranch - 125 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br) - 126 | when Id.cid_equals cid cid' -> - 127 | Value (eval_chk e (theta, eta)) (* should we append theta' and eta'? *) - ... - 136 | | Value v -> Value v - 137 | end - 138 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) -> - 139 | trim br - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _) - File "src/core/opsem.ml", lines 121-144, characters 5-8: - 121 | .....let Comp.FunValue fbr = eval_chk e (theta, eta) in - 122 | let rec trim = - 123 | function - 124 | | Comp.NilValBranch -> FunBranch Comp.NilValBranch - 125 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br) - ... - 141 | begin match trim fbr with - 142 | | FunBranch fr -> Comp.FunValue fr - 143 | | Value v -> v - 144 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (FnValue (_, _, _, _)|MLamValue (_, _, _, _)|CtxValue (_, _, _, _)| - PairValue (_, _)) - File "src/core/opsem.ml", lines 93-260, characters 2-28: - 93 | ..match i with - 94 | | Comp.Const (_, cid) -> - 95 | dprint (fun () -> "[eval_syn] Const " ^ R.render_cid_prog cid); - 96 | begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with - 97 | | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) -> - ... - 257 | | Comp.PairVal (_, i1, i2) -> - 258 | let v1 = eval_syn i1 (theta, eta) in - 259 | let v2 = eval_syn i2 (theta, eta) in - 260 | Comp.PairValue (v1, v2) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MApp (_, _, (_, ClObj (_, SObj _)), _, _)| - MApp (_, _, (_, (MUndef|MV _)), _, _)) - File "src/core/opsem.ml", lines 263-301, characters 2-52: - 263 | ..match e with - 264 | | Comp.Syn (_, i) -> eval_syn i (theta, eta) - 265 | | Comp.MLam (loc, n, e', _) -> - 266 | Comp.MLamValue (n, e', Whnf.cnormMSub theta, eta) - 267 | - ... - 298 | eval_branches loc vscrut branches (theta, eta) - 299 | - 300 | | Comp.Hole (_) -> - 301 | raise (Error.Violation "Source contains holes") - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (LetPair (_, _, _)|Impossible (_, _)) - File "src/core/opsem.ml", lines 332-336, characters 2-36: - 332 | ..match (cObj, cObj') with - 333 | | (LF.MObj tM, LF.MObj tM') -> - 334 | Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id) - 335 | | (LF.PObj h, LF.PObj h') -> - 336 | Unify.unifyH LF.Empty phat h h' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PObj _, (MObj _|SObj _))|(MObj _, (PObj _|SObj _))|(SObj _, _)) - File "src/core/opsem.ml", lines 449-470, characters 4-10: - 449 | ....function - 450 | | Comp.NilValBranch -> FunBranch (Comp.NilValBranch) - 451 | | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) -> - 452 | begin try - 453 | let eta' = match_pattern (v, eta) (p, theta) in - ... - 467 | eval_branch brs - 468 | | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg); - 469 | eval_branch brs) - 470 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Total.cmx -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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((M _, (E|DC)::_)|((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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Lam (_, _, _)|LFHole (_, _, _)|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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypInd _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Lfcheck.cmx -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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DDec (_, TypDeclOpt _)|CtxVar _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((App (_, _), _), (PiTyp ((TypDeclOpt _, _), _), _))| - ((App (_, _), _), ((Atom (_, _, _)|Sigma _|TClo _), _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Lam (_, _, _)|LFHole (_, _, _)|Tuple (_, _)), _) - File "src/core/lfcheck.ml", lines 400-401, characters 5-7: - 400 | .....let TypDecl (_, tA) = ctxDec cPsi k' in - 401 | tA - Warning 8: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, Atom (_, (_, _), _), _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp ((PTyp _|STyp (_, _)), _)|CTyp _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((MMVar _, Subst)|(MVar (Inst _, _), Subst)| - ((MPVar _|AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _)) - (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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|TClo _) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Some (INorm _|IHead _|ISub _)|None) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((ClObj (_, _), (CTyp _, _))|(CObj _, (CTyp None, _))| - (CObj _, (ClTyp (_, _), _))|(MUndef, _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.main.eobjs/byte -I /home/opam/.opam/4.10/lib/dune-build-info -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/linenoise -I /home/opam/.opam/4.10/lib/result -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/lib/seq -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/support/.support.objs/byte -no-alias-deps -o src/harpoon/.main.eobjs/byte/main.cmo -c -impl src/harpoon/main.ml) - File "src/harpoon/main.ml", lines 15-36, characters 2-6: - 15 | ..let (arg0 :: args) = Array.to_list Sys.argv in - 16 | let open Options in - 17 | let options = parse_arguments args |> elaborate in - 18 | - 19 | let ppf = Format.std_formatter in - ... - 33 | options.path - 34 | options.all_paths - 35 | stubs - 36 | io - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - [] - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Coverage.cmx -c -impl src/core/coverage.pp.ml) - File "src/core/coverage.ml", lines 35-50, characters 4-7: - 35 | ....begin fun (Error (loc, e)) -> - 36 | Error.print_with_location loc - 37 | begin fun ppf -> - 38 | match e with - 39 | | NoCover s -> - ... - 47 | | NoCoverageGoalsGenerated -> - 48 | Format.pp_print_string ppf "No coverage goals generated" - 49 | end - 50 | end - Warning 8: 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/coverage.ml", line 63, characters 21-64: - 63 | Context.find' cG (fun (CTypDecl (y, _, _)) -> Id.equals x y) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTypDeclOpt _ - File "src/core/coverage.ml", lines 62-65, characters 2-5: - 62 | ..let Some (CTypDecl (_, tau, _)) = - 63 | Context.find' cG (fun (CTypDecl (y, _, _)) -> Id.equals x y) - 64 | in - 65 | tau - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Some (CTypDeclOpt _)|None) - File "src/core/coverage.ml", lines 176-191, characters 20-37: - 176 | ....................(LF.Atom (_, a, _) as tP) = - 177 | let (cPhi, lazy s_proj, lazy s_tup) = ConvSigma.gen_flattening cD cPsi in - 178 | (* cPsi |- s_proj : cPhi - 179 | cPhi |- s_tup : cPsi - 180 | cPhi |- tQ where cPsi |- tP !! tQ = [s_tup]tP !! *) - ... - 188 | cPsi |- s_proj : cPhi - 189 | cPsi |- comp ss' s_proj : cPhi' *) - 190 | let ss_proj = S.LF.comp ss' s_proj in - 191 | (ss_proj, (cPhi', LF.tclo tQ ssi')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Sigma _ - File "src/core/coverage.ml", lines 195-199, characters 4-69: - 195 | ....match tA with - 196 | | LF.Atom _ -> LF.Root (Loc.ghost, tH, tS, `explicit) - 197 | | LF.PiTyp ((LF.TypDecl (x, tB0), _), tB) -> - 198 | let tM = eta (tB0, s) LF.Nil in - 199 | LF.Lam (Loc.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS))) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - File "src/core/coverage.ml", lines 252-262, characters 4-58: - 252 | ....function - 253 | | MetaSub (cPsi, s, LF.STyp (_, cPhi)) -> - 254 | fprintf ppf "%a |- %a : %a" - 255 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi - 256 | (P.fmt_ppr_lf_sub cD cPsi P.l0) s - ... - 259 | fprintf ppf "%a |- %a : %a" - 260 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi - 261 | (P.fmt_ppr_lf_normal cD cPsi P.l0) tR - 262 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MetaSub (_, _, (MTyp _|PTyp _))|GenPatt (_, _, _)) - File "src/core/coverage.ml", lines 285-289, characters 4-73: - 285 | ....function - 286 | | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi - 287 | | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi) - 288 | | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA) - 289 | | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CovSub (_, _, (MTyp _|PTyp _)) - File "src/core/coverage.ml", lines 464-465, characters 7-73: - 464 | .......let Comp.TypBox (_, mT) = tau_sc in - 465 | check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypArr (_, _, _)|TypCross (_, _, _)|TypPiBox (_, _, _)|TypClo (_, _)| - TypInd _) - File "src/core/coverage.ml", lines 526-527, characters 9-44: - 526 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in - 527 | Yes ((tA, S.LF.id), (tA', S.LF.id)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 524-528, characters 7-10: - 524 | .......begin - 525 | let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in - 526 | let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in - 527 | Yes ((tA, S.LF.id), (tA', S.LF.id)) - 528 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 561-601, characters 5-8: - 561 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in - 562 | dprintf - 563 | begin fun p -> - 564 | p.fmt "[pre_match_head] @[<v>pvar - case\ - 565 | @,pattern: @[@[%a@]@ |- @[%a@]@]\ - ... - 598 | end; - 599 | SplitCand - 600 | (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *) - 601 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (BVar _|AnnH (_, _)|Proj (_, _)|FVar _|HClo (_, _, _)) - File "src/core/coverage.ml", lines 620-621, characters 9-44: - 620 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in - 621 | Yes ((tA, S.LF.id), (tA', S.LF.id)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 618-622, characters 7-10: - 618 | .......begin - 619 | let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in - 620 | let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in - 621 | Yes ((tA, S.LF.id), (tA', S.LF.id)) - 622 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 677-690, characters 5-59: - 677 | .....let LF.PiTyp ((tdecl', _), tB'), s' = Whnf.whnfTyp sA' in - 678 | let covGoal' = - 679 | CovGoal - 680 | ( LF.DDec (cPsi, S.LF.decSub tdecl s) - 681 | , tM, (tB, S.LF.dot1 s) - ... - 687 | , tN, (tB', S.LF.dot1 s') - 688 | ) - 689 | in - 690 | pre_match cD cD_p covGoal' patt' matchCands splitCands - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _, _) - File "src/core/coverage.ml", lines 676-690, characters 5-59: - 676 | .....let LF.PiTyp ((tdecl, _), tB), s = Whnf.whnfTyp sA in - 677 | let LF.PiTyp ((tdecl', _), tB'), s' = Whnf.whnfTyp sA' in - 678 | let covGoal' = - 679 | CovGoal - 680 | ( LF.DDec (cPsi, S.LF.decSub tdecl s) - ... - 687 | , tN, (tB', S.LF.dot1 s') - 688 | ) - 689 | in - 690 | pre_match cD cD_p covGoal' patt' matchCands splitCands - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _, _) - File "src/core/coverage.ml", lines 674-721, characters 2-8: - 674 | ..match (tM, tN) with - 675 | | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) -> - 676 | let LF.PiTyp ((tdecl, _), tB), s = Whnf.whnfTyp sA in - 677 | let LF.PiTyp ((tdecl', _), tB'), s' = Whnf.whnfTyp sA' in - 678 | let covGoal' = - ... - 718 | (Eqn (covGoal, patt) :: matchCands, splitCands) - 719 | - 720 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) - 721 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Root (_, _, _, _), (Lam (_, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))| - (Lam (_, _, _), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _)))| - ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _)) - File "src/core/coverage.ml", lines 666-721, characters 2-8: - 666 | ..let MetaPatt (cPhi, tN, sA') = patt in - 667 | dprintf - 668 | begin fun p -> - 669 | p.fmt "[pre_match] @[<v>cov goal: @[%a@]\ - 670 | @,pattern: @[%a@]@]" - ... - 718 | (Eqn (covGoal, patt) :: matchCands, splitCands) - 719 | - 720 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) - 721 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - MetaSub (_, _, _) - File "src/core/coverage.ml", lines 665-721, characters 2-8: - 665 | ..let CovGoal (cPsi, tM, sA) = covGoal in - 666 | let MetaPatt (cPhi, tN, sA') = patt in - 667 | dprintf - 668 | begin fun p -> - 669 | p.fmt "[pre_match] @[<v>cov goal: @[%a@]\ - ... - 718 | (Eqn (covGoal, patt) :: matchCands, splitCands) - 719 | - 720 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) - 721 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovCtx _|CovSub (_, _, _)) - File "src/core/coverage.ml", lines 728-742, characters 5-18: - 728 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _), tC2), s' = Whnf.whnfTyp sA' in - 729 | let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in - 730 | let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in - 731 | let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in - 732 | let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in - ... - 739 | (cPsi, tS, sB2') - 740 | (cPsi', tS', sC2') - 741 | matchCands' - 742 | splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|(Sigma _, _)) - File "src/core/coverage.ml", lines 727-742, characters 5-18: - 727 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _), tB2), s = Whnf.whnfTyp sA in - 728 | let LF.PiTyp ((LF.TypDecl (_, tC1), _), tC2), s' = Whnf.whnfTyp sA' in - 729 | let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in - 730 | let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in - 731 | let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in - ... - 739 | (cPsi, tS, sB2') - 740 | (cPsi', tS', sC2') - 741 | matchCands' - 742 | splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|(Sigma _, _)) - File "src/core/coverage.ml", lines 724-742, characters 2-18: - 724 | ..match (tS, tS') with - 725 | | (LF.Nil, LF.Nil) -> (matchCands, splitCands) - 726 | | (LF.App (tM, tS), LF.App (tM', tS')) -> - 727 | let LF.PiTyp ((LF.TypDecl (_, tB1), _), tB2), s = Whnf.whnfTyp sA in - 728 | let LF.PiTyp ((LF.TypDecl (_, tC1), _), tC2), s' = Whnf.whnfTyp sA' in - ... - 739 | (cPsi, tS, sB2') - 740 | (cPsi', tS', sC2') - 741 | matchCands' - 742 | splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((App (_, _), (Nil|SClo _))|(Nil, (App (_, _)|SClo _))|(SClo _, _)) - File "src/core/coverage.ml", lines 777-781, characters 5-63: - 777 | .....let LF.TypDecl (_, tA1) = tdecl1 in - 778 | let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in - 779 | let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in - 780 | let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in - 781 | pre_match_sub cD cD_p covGoal patt matchCands' splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 776-781, characters 5-63: - 776 | .....let LF.TypDecl (_, tA0) = tdecl0 in - 777 | let LF.TypDecl (_, tA1) = tdecl1 in - 778 | let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in - 779 | let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in - 780 | let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in - 781 | pre_match_sub cD cD_p covGoal patt matchCands' splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 747-800, characters 2-74: - 747 | ..match ((s0, cPhi0), (s1, cPhi1)) with - 748 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) - 749 | | ((LF.Shift k, _), (LF.Shift n, _)) -> - 750 | if n = k - 751 | then (matchCands, splitCands) - ... - 797 | - 798 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) - 799 | - 800 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Shift _, _), - (Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - _))| - ((Shift _, _), (Dot ((Undef|Obj _), _), _))| - ((Shift _, _), ((Undefs|FSVar (_, _)|MSVar (_, _)), _))| - ((Dot (Head (BVar _), _), DDec (_, _)), (Dot (_, _), (Null|CtxVar _)))| - ((Dot (Head (BVar _), _), DDec (_, _)), - ((Undefs|FSVar (_, _)|MSVar (_, _)), _))| - ((Dot (Head (BVar _), _), (Null|CtxVar _)), - ((Undefs|FSVar (_, _)|Dot (_, _)|MSVar (_, _)), _))| - ((Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - DDec (_, _)), - (Dot (_, _), (Null|CtxVar _)))| - ((Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - DDec (_, _)), - ((Undefs|Shift _|FSVar (_, _)|MSVar (_, _)), _))| - ((Dot - (Head - (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| - FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), - _), - (Null|CtxVar _)), - ((Undefs|Shift _|FSVar (_, _)|Dot (_, _)|MSVar (_, _)), _))| - ((Dot ((Undef|Obj _), _), DDec (_, _)), (Dot (_, _), (Null|CtxVar _)))| - ((Dot ((Undef|Obj _), _), DDec (_, _)), - ((Undefs|Shift _|FSVar (_, _)|MSVar (_, _)), _))| - ((Dot ((Undef|Obj _), _), (Null|CtxVar _)), - ((Undefs|Shift _|FSVar (_, _)|Dot (_, _)|MSVar (_, _)), _))| - (((Undefs|FSVar (_, _)|MSVar (_, _)), _), - ((Undefs|Shift _|FSVar (_, _)|Dot (_, _)|MSVar (_, _)), _))) - File "src/core/coverage.ml", lines 746-800, characters 2-74: - 746 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in - 747 | match ((s0, cPhi0), (s1, cPhi1)) with - 748 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) - 749 | | ((LF.Shift k, _), (LF.Shift n, _)) -> - 750 | if n = k - ... - 797 | - 798 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) - 799 | - 800 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - MetaSub (_, _, (MTyp _|PTyp _)) - File "src/core/coverage.ml", lines 745-800, characters 2-74: - 745 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in - 746 | let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in - 747 | match ((s0, cPhi0), (s1, cPhi1)) with - 748 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) - 749 | | ((LF.Shift k, _), (LF.Shift n, _)) -> - ... - 797 | - 798 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) - 799 | - 800 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovSub (_, _, (MTyp _|PTyp _))|CovCtx _) - File "src/core/coverage.ml", lines 803-814, characters 2-57: - 803 | ..match (f0, f1) with - 804 | | (LF.Head h0, LF.Head h1) -> - 805 | let tM0 = eta_expand (h0, tA0) in - 806 | let tM1 = eta_expand (h1, tA1) in - 807 | let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in - ... - 811 | | (LF.Obj tM0, LF.Obj tM1) -> - 812 | let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in - 813 | let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in - 814 | pre_match cD cD_p covGoal patt matchCands splitCands - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Obj _, (Undef|Head _))|(Head _, (Undef|Obj _))|(Undef, _)) - File "src/core/coverage.ml", lines 823-835, characters 5-18: - 823 | .....let LF.PiKind ((LF.TypDecl (_, tC), _), tK2), s' = sK' in - 824 | let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in - 825 | let patt1 = MetaPatt (cPsi', tM', (tC, s')) in - 826 | let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in - 827 | let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in - ... - 832 | (cPsi, tS, sK1') - 833 | (cPsi', tS', sK2') - 834 | matchCands' - 835 | splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiKind ((TypDeclOpt _, _), _), _)|(Typ, _)) - File "src/core/coverage.ml", lines 822-835, characters 5-18: - 822 | .....let LF.PiKind ((LF.TypDecl (_, tB), _), tK1), s = sK in - 823 | let LF.PiKind ((LF.TypDecl (_, tC), _), tK2), s' = sK' in - 824 | let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in - 825 | let patt1 = MetaPatt (cPsi', tM', (tC, s')) in - 826 | let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in - ... - 832 | (cPsi, tS, sK1') - 833 | (cPsi', tS', sK2') - 834 | matchCands' - 835 | splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiKind ((TypDeclOpt _, _), _), _)|(Typ, _)) - File "src/core/coverage.ml", lines 818-835, characters 2-18: - 818 | ..match ((tS1, sK1), (tS2, sK2)) with - 819 | | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) -> - 820 | (matchCands, splitCands) - 821 | | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) -> - 822 | let LF.PiKind ((LF.TypDecl (_, tB), _), tK1), s = sK in - ... - 832 | (cPsi, tS, sK1') - 833 | (cPsi', tS', sK2') - 834 | matchCands' - 835 | splitCands' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Nil, (Typ, _)), (Nil, (PiKind (_, _), _)))| - ((Nil, (Typ, _)), ((App (_, _)|SClo _), _))|((Nil, (PiKind (_, _), _)), _)| - ((App (_, _), _), ((Nil|SClo _), _))|((SClo _, _), _)) - File "src/core/coverage.ml", lines 844-887, characters 2-17: - 844 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with - 845 | | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) -> - 846 | let tK1 = (Types.get a).Types.Entry.kind in - 847 | let tK2 = (Types.get b).Types.Entry.kind in - 848 | let tS1' = Whnf.normSpine (tS1, s1) in - ... - 884 | (trec1, s1) - 885 | (trec2, s2) - 886 | matchCands - 887 | splitCands - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((Atom (_, _, _), _), ((PiTyp (_, _)|Sigma _|TClo _), _))| - ((PiTyp ((TypDecl (_, _), _), _), _), (PiTyp ((TypDeclOpt _, _), _), _))| - ((PiTyp ((TypDecl (_, _), _), _), _), ((Atom (_, _, _)|Sigma _|TClo _), _))| - ((PiTyp ((TypDeclOpt _, _), _), _), _)| - ((Sigma _, _), ((Atom (_, _, _)|PiTyp (_, _)|TClo _), _))|((TClo _, _), _)) - File "src/core/coverage.ml", lines 891-911, characters 2-12: - 891 | ..match (srec1, srec2) with - 892 | | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) -> - 893 | pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands - 894 | - 895 | | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) -> - ... - 908 | (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1)))) - 909 | (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2)))) - 910 | (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2) - 911 | mC sC - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((SigmaLast (_, _), _), (SigmaElem (_, _, _), _))| - ((SigmaElem (_, _, _), _), (SigmaLast (_, _), _))) - File "src/core/coverage.ml", lines 936-990, characters 2-25: - 936 | ..match ((mO, mt), (mO_p, mtp)) with - 937 | | LF.((CObj cPsi, _), (CObj cPsi', _)) -> - 938 | pre_match_dctx cD cD_p cPsi cPsi' mC sC - 939 | | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) -> - 940 | match ((clobj, cltyp), (clobj', cltyp')) with - ... - 987 | (mtyp cD_p) mtp; - 988 | flush_str_formatter () - 989 | in - 990 | Error.violation s - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((CObj _, _), ((MUndef|ClObj (_, _)|MV _), _))| - ((ClObj (_, _), ClTyp (_, _)), (ClObj (_, _), CTyp _))| - ((ClObj (_, _), ClTyp (_, _)), ((MUndef|CObj _|MV _), _))| - ((ClObj (_, _), CTyp _), _)|(((MUndef|MV _), _), _)) - File "src/core/coverage.ml", lines 1074-1086, characters 5-10: - 1074 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1075 | let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in - 1076 | let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in - 1077 | let t2 = LF.MDot (mO, t) in - 1078 | let t2' = LF.MDot (mO', t') in - ... - 1083 | (pS, (tau2, t2)) - 1084 | (pS', (tau2', t2')) - 1085 | mC1 - 1086 | sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1073-1086, characters 5-10: - 1073 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in - 1074 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1075 | let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in - 1076 | let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in - 1077 | let t2 = LF.MDot (mO, t) in - ... - 1083 | (pS, (tau2, t2)) - 1084 | (pS', (tau2', t2')) - 1085 | mC1 - 1086 | sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1092-1104, characters 5-10: - 1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1093 | let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in - 1094 | let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in - 1095 | let t2 = LF.MDot (mO, t) in - 1096 | let t2' = LF.MDot (mO', t') in - ... - 1101 | (pS, (tau2, t2)) - 1102 | (pS', (tau2', t2')) - 1103 | mC1 - 1104 | sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1091-1104, characters 5-10: - 1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in - 1092 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1093 | let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in - 1094 | let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in - 1095 | let t2 = LF.MDot (mO, t) in - ... - 1101 | (pS, (tau2, t2)) - 1102 | (pS', (tau2', t2')) - 1103 | mC1 - 1104 | sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1110-1116, characters 5-84: - 1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1111 | let tau1 = LF.CTyp w in - 1112 | let tau1' = LF.CTyp w' in - 1113 | let t2 = LF.MDot (mO, t) in - 1114 | let t2' = LF.MDot (mO', t')in - 1115 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in - 1116 | match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1109-1116, characters 5-84: - 1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in - 1110 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1111 | let tau1 = LF.CTyp w in - 1112 | let tau1' = LF.CTyp w' in - 1113 | let t2 = LF.MDot (mO, t) in - 1114 | let t2' = LF.MDot (mO', t')in - 1115 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in - 1116 | match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1121-1129, characters 5-51: - 1121 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1122 | let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in - 1123 | let mT1 = mk_cltyp cl cPhi cPsi t in - 1124 | let mT2 = mk_cltyp cl' cPhi' cPsi' t' in - 1125 | let t2 = LF.MDot (mO, t) in - 1126 | let t2' = LF.MDot (mO', t') in - 1127 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in - 1128 | match_spines (cD, cG) (cD_p, cG_p) - 1129 | (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1120-1129, characters 5-51: - 1120 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in - 1121 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in - 1122 | let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in - 1123 | let mT1 = mk_cltyp cl cPhi cPsi t in - 1124 | let mT2 = mk_cltyp cl' cPhi' cPsi' t' in - 1125 | let t2 = LF.MDot (mO, t) in - 1126 | let t2' = LF.MDot (mO', t') in - 1127 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in - 1128 | match_spines (cD, cG) (cD_p, cG_p) - 1129 | (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/coverage.ml", lines 1168-1206, characters 2-8: - 1168 | ..match Whnf.whnfTyp sA with - 1169 | | (LF.PiTyp ((LF.TypDecl (u, tA), _), tB), s) -> - 1170 | (* cPsi' |- Pi x:A.B <= typ - 1171 | cPsi |- s <= cPsi' - 1172 | cPsi |- tN <= [s]tA - ... - 1203 | Some LF.Nil - 1204 | with - 1205 | | U.Failure _ -> None - 1206 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp ((TypDeclOpt _, _), _), _)|((Sigma _|TClo _), _)) - File "src/core/coverage.ml", lines 1326-1332, characters 2-29: - 1326 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *) - 1327 | (* We call expand_head_sigma here because it might be *projections* - 1328 | of the bound variable that are relevant to the matching. - 1329 | *) - 1330 | expand_head_sigma (LF.BVar i, tA) - 1331 | |> List.map (fun (tH, tA) -> (tH, tA, 0)) - 1332 | |> genAllObj (cD, cPsi, tP) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 1466-1474, characters 7-10: - 1466 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) -> - 1467 | let cg' = - 1468 | ( cPsi' - 1469 | , LF.Lam (Loc.ghost, x, tM) - 1470 | , (LF.PiTyp ((tdecl', dep), LF.TClo (sA)), S.LF.id) - 1471 | ) - 1472 | in - 1473 | (cD', cg', ms) - 1474 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, ((Null|CtxVar _), _, (_, _)), _) - File "src/core/coverage.ml", lines 1450-1475, characters 2-14: - 1450 | ..match tA with - 1451 | | LF.Atom _ -> - 1452 | genPVar cov_problem @ genBVars cov_problem - 1453 | | LF.Sigma trec -> - 1454 | Error.not_implemented' "[genBCovGoals] not implemented for Sigma types" - ... - 1472 | in - 1473 | (cD', cg', ms) - 1474 | end - 1475 | cg_list - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TClo _ - File "src/core/coverage.ml", lines 1526-1533, characters 7-10: - 1526 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) -> - 1527 | ( cD' - 1528 | , ( cPsi' - 1529 | , LF.Lam (Loc.ghost, x, tM) - 1530 | , (LF.PiTyp ((tdecl', dep), LF.TClo (sA)), S.LF.id)) - 1531 | , t - 1532 | ) - 1533 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, ((Null|CtxVar _), _, (_, _)), _) - File "src/core/coverage.ml", lines 1523-1534, characters 5-16: - 1523 | .....let LF.TypDecl (x, _) = tdecl in - 1524 | let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in - 1525 | List.map - 1526 | begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) -> - 1527 | ( cD' - ... - 1531 | , t - 1532 | ) - 1533 | end - 1534 | cov_goals - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 1494-1534, characters 2-16: - 1494 | ..match tA with - 1495 | | LF.Atom (_, a, tS) -> - 1496 | let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *) - 1497 | dprintf - 1498 | begin fun p -> - ... - 1531 | , t - 1532 | ) - 1533 | end - 1534 | cov_goals - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Sigma _|TClo _) - File "src/core/coverage.ml", lines 1567-1690, characters 5-8: - 1567 | .....begin match mc with - 1568 | | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) -> - 1569 | let cT = LF.ClTyp (sT, cPsi) in - 1570 | let cT_p = LF.ClTyp (sT_p, cPsi_p) in - 1571 | let cM = (Loc.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in - ... - 1687 | NotSolvable - 1688 | end - 1689 | end - 1690 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Eqn (CovGoal (_, _, _), (MetaSub (_, _, _)|GenPatt (_, _, _)))| - Eqn (CovSub (_, _, _), (MetaPatt (_, _, _)|GenPatt (_, _, _)))| - Eqn ((CovCtx _|CovPatt (_, _, _)), _)) - File "src/core/coverage.ml", lines 1715-1720, characters 5-11: - 1715 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in - 1716 | (* let MetaPatt (cPhi, _, sB') = patt in *) - 1717 | (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *) - 1718 | (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *) - 1719 | let result = pre_match cD cD_p covG patt matchL' splitL' in - 1720 | result - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovCtx _|CovSub (_, _, _)) - File "src/core/coverage.ml", lines 1709-1731, characters 2-94: - 1709 | ..match splitL with - 1710 | | [] -> (matchL, []) - 1711 | | Split (CovGoal (cPsi, tR, sA), patt) :: splits -> - 1712 | let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in - 1713 | let tA = Whnf.normTyp sA in - ... - 1728 | pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL' - 1729 | | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits -> - 1730 | let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in - 1731 | (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (SplitPat - (((PatMetaObj (_, _)|PatConst (_, _, _)|PatVar (_, _)|PatPair (_, _, _)| - PatAnn (_, _, _, _)), - _), - _):: - _| - Split ((CovCtx _|CovPatt (_, _, _)), _)::_) - File "src/core/coverage.ml", lines 1965-1991, characters 5-6: - 1965 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) = - 1966 | Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k+d))) (tA, s') - 1967 | in - 1968 | (* bp : Context substitution associated with declaration is off by 1 *) - 1969 | let (ss', cPsi') = Subord.thin' cD'' a cPsi in - ... - 1988 | in - 1989 | ( LF.Dec (cD'', mdec) - 1990 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) - 1991 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, (Sigma _, _)) - File "src/core/coverage.ml", lines 1956-1991, characters 2-6: - 1956 | ..match decls with - 1957 | | LF.Empty -> (cD', S.LF.id) - 1958 | | LF.(Dec (decls, TypDecl (x, tA))) -> - 1959 | let x = NameGen.renumber names x in - 1960 | let names = x :: names in - ... - 1988 | in - 1989 | ( LF.Dec (cD'', mdec) - 1990 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) - 1991 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, TypDeclOpt _) - File "src/core/coverage.ml", lines 1955-1991, characters 28-6: - 1955 | ............................(LF.CtxOffset k as cpsi) (d, decls) = - 1956 | match decls with - 1957 | | LF.Empty -> (cD', S.LF.id) - 1958 | | LF.(Dec (decls, TypDecl (x, tA))) -> - 1959 | let x = NameGen.renumber names x in - ... - 1988 | in - 1989 | ( LF.Dec (cD'', mdec) - 1990 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) - 1991 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CtxName _ - File "src/core/coverage.ml", lines 2078-2081, characters 17-34: - 2078 | .................(LF.Dec (cD', LF.Decl _) as cD) cpsi = - 2079 | let nonempty_cases = List.map (genSchemaElemGoal names cD cpsi) in - 2080 | let empty_case = Misc.List.cons (cD', LF.Null, LF.MShift 0) in - 2081 | F.(empty_case ++ nonempty_cases) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, DeclOpt (_, _))|Empty) - File "src/core/coverage.ml", lines 2105-2108, characters 23-38: - 2105 | .......................(x, LF.CTyp (Some schema_cid), dep) = - 2106 | let LF.Schema elems = Store.Cid.Schema.get_schema schema_cid in - 2107 | let cD' = LF.Dec (cD, LF.Decl (x, LF.CTyp (Some schema_cid), dep)) in - 2108 | genCtx [] cD' (LF.CtxOffset 1) elems - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, CTyp None, _)|(_, ClTyp (_, _), _)) - File "src/core/coverage.ml", lines 2116-2128, characters 5-87: - 2116 | .....let LF.TypDecl (x, tA) = decl in - 2117 | let s = LF.SVar (2, 0, S.LF.id) in - 2118 | let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in - 2119 | let cD' = LF.Dec (cD, LF.Decl (Id.mk_name (Whnf.newMTypName mT), mT, LF.No)) in - 2120 | (* if ren = renaming, generate parameter variable *) - ... - 2125 | let cD'' = LF.Dec (cD', LF.Decl (Id.mk_name (Whnf.newMTypName mT'), mT', LF.No)) in - 2126 | let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in - 2127 | let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in - 2128 | [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)] - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/coverage.ml", lines 2136-2189, characters 2-8: - 2136 | ..match cT with - 2137 | | LF.ClTyp (clTyp, cPsi) -> - 2138 | begin match clTyp with - 2139 | | LF.MTyp tA -> - 2140 | dprintf - ... - 2186 | , Atomic - 2187 | ) - 2188 | end - 2189 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTyp _ - File "src/core/coverage.ml", lines 2199-2200, characters 11-43: - 2199 | ...........let LF.Decl (x, cU, dep) = d in - 2200 | genContextGoals cD' (x, cU, dep) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/coverage.ml", lines 2192-2228, characters 2-56: - 2192 | ..match (cv_list, cD) with - 2193 | | ([], _) -> NoCandidate - 2194 | | ([LF.CtxOffset j], LF.Dec (cD', d)) -> - 2195 | if j = k - 2196 | then - ... - 2225 | SomeCtxCands ctx_goals' - 2226 | end - 2227 | else - 2228 | best_ctx_cand (cD', cv_list) (k+1) (d :: cD_tail) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((CtxOffset _::[], Empty)|(CtxOffset _::_::_, _)|((CtxName _|CInst _)::_, _)) - File "src/core/coverage.ml", lines 2258-2259, characters 25-35: - 2258 | .........................let LF.Root (_, tH, _, _) = tR in - 2259 | LF.PObj tH - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Lam (_, _, _)|LFHole (_, _, _)|Tuple (_, _)) - File "src/core/coverage.ml", lines 2252-2259, characters 22-35: - 2252 | ......................match cT with - 2253 | (* gonna be a ClTyp because we're in the CovGoal branch *) - 2254 | | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR - 2255 | | LF.ClTyp (LF.PTyp _, _) -> - 2256 | (* ensure that PTyp is added as a PObj to the - 2257 | msub; otherwise normalization WILL crash. *) - 2258 | let LF.Root (_, tH, _, _) = tR in - 2259 | LF.PObj tH - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (ClTyp (STyp (_, _), _)|CTyp _) - File "src/core/coverage.ml", lines 2244-2281, characters 17-50: - 2244 | .................match cg with - 2245 | | CovGoal (cPsi', tR, sA') -> - 2246 | dprintf - 2247 | begin fun p -> - 2248 | p.fmt "[best_cand] generated covgoal @[%a@]" - ... - 2278 | , Whnf.cnormClTyp (sT, LF.MShift k) - 2279 | ) - 2280 | in - 2281 | TermCandidate (cD'', cg', ms0). - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovCtx _|CovPatt (_, _, _)) - File "src/core/coverage.ml", lines 2285-2298, characters 11-17: - 2285 | ...........match best_cand (cD', mvlist') (k+1) (md::cD_tail) with - 2286 | | NoCandidate -> SomeTermCands (dep0, cov_goals0) - 2287 | | SomeTermCands (dep, cov_goals) -> - 2288 | begin match dep, dep0 with - 2289 | | Dependent, Atomic -> SomeTermCands (dep, cov_goals) - ... - 2295 | then SomeTermCands (dep, cov_goals) - 2296 | else SomeTermCands (dep0, cov_goals0) - 2297 | *) - 2298 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - SomeCtxCands _ - File "src/core/coverage.ml", lines 2232-2306, characters 2-55: - 2232 | ..match (mv_list, cD) with - 2233 | | ([], _) -> NoCandidate - 2234 | | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl (_, cT, _) as md)))) -> - 2235 | if k = j - 2236 | then - ... - 2303 | best_cand (cD', mvlist') (k + 1) (md :: cD_tail) - 2304 | end - 2305 | else - 2306 | best_cand (cD', mv_list) (k + 1) (md :: cD_tail) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Offset _::_, Dec (_, DeclOpt (_, _)))|(Offset _::_, Empty)|(Inst _::_, _)) - File "src/core/coverage.ml", lines 2380-2388, characters 7-13: - 2380 | .......match cl with - 2381 | | LF.PTyp _ -> - 2382 | let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') dep in - 2383 | LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id))) - 2384 | | LF.MTyp _ -> - 2385 | LF.MObj - 2386 | (ConvSigma.etaExpandMMVstr - 2387 | Loc.ghost LF.Empty cPsi' (tP', S.LF.id) dep (Some u) (u :: names) - 2388 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - STyp (_, _) - File "src/core/coverage.ml", lines 2531-2544, characters 6-9: - 2531 | ......begin fun (CovGoal (cPsi', tR, sA')) -> - 2532 | let m_obj = - 2533 | ( Loc.ghost - 2534 | , LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR) - 2535 | ) - ... - 2541 | ) - 2542 | in - 2543 | (LF.Empty, pat_r, tau_r) - 2544 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovCtx _|CovSub (_, _, _)) - File "src/core/coverage.ml", lines 2573-2575, characters 10-46: - 2573 | ..........match tC with - 2574 | | MTyp _ -> fun sA -> MTyp (TClo sA) - 2575 | | PTyp _ -> fun sA -> PTyp (TClo sA) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - STyp (_, _) - File "src/core/coverage.ml", lines 2569-2602, characters 5-8: - 2569 | .....begin match mT with - 2570 | | LF.(ClTyp (tC, cPsi)) -> - 2571 | let f = - 2572 | let open LF in - 2573 | match tC with - ... - 2599 | , t - 2600 | ) - 2601 | end - 2602 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTyp None - File "src/core/coverage.ml", lines 2647-2695, characters 2-55: - 2647 | ..function - 2648 | | [] -> vlist - 2649 | | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl -> - 2650 | let (pvlist, cvlist, mvlist) = vlist in - 2651 | if List.mem u mvlist - ... - 2692 | let (pvlist, cvlist, mvlist) = vlist in - 2693 | if List.mem x pvlist - 2694 | then mvInSplit cD vlist sl - 2695 | else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (SplitPat - (((PatMetaObj (_, _)|PatConst (_, _, _)|PatVar (_, _)|PatPair (_, _, _)| - PatAnn (_, _, _, _)), - _), - _):: - _| - SplitCtx ((Null|DDec (_, _)), _)::_) - File "src/core/coverage.ml", lines 2706-2711, characters 30-13: - 2706 | ..............................(LF.Offset k') -> - 2707 | if k' < k - 2708 | then 1 - 2709 | else if k' = k - 2710 | then 0 - 2711 | else -1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Inst {instantiation=_; constraints=_; _ } - File "src/core/coverage.ml", lines 2706-2712, characters 6-9: - 2706 | ......begin fun (LF.Offset k) (LF.Offset k') -> - 2707 | if k' < k - 2708 | then 1 - 2709 | else if k' = k - 2710 | then 0 - 2711 | else -1 - 2712 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Inst {instantiation=_; constraints=_; _ } - File "src/core/coverage.ml", lines 2717-2722, characters 33-13: - 2717 | .................................(LF.CtxOffset k') -> - 2718 | if k' < k - 2719 | then 1 - 2720 | else if k' = k - 2721 | then 0 - 2722 | else -1 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CtxName _ - File "src/core/coverage.ml", lines 2717-2723, characters 6-9: - 2717 | ......begin fun (LF.CtxOffset k) (LF.CtxOffset k') -> - 2718 | if k' < k - 2719 | then 1 - 2720 | else if k' = k - 2721 | then 0 - 2722 | else -1 - 2723 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CtxName _ - File "src/core/coverage.ml", line 2800, characters 50-80: - 2800 | Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals) - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CtxCandidate (_, _, _) - File "src/core/coverage.ml", lines 2837-2842, characters 2-33: - 2837 | ..function - 2838 | | Comp.PatNil -> Comp.PatNil - 2839 | | Comp.PatApp (loc, pat, pS) -> - 2840 | let pat' = subst_pattern (pat_r, pv) pat in - 2841 | let pS' = subst_pattern_spine (pat_r, pv) pS in - 2842 | Comp.PatApp (loc, pat', pS') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PatObs (_, _, _, _) - File "src/core/coverage.ml", lines 2913-2929, characters 32-52: - 2913 | ................................(x :: pvlist) = - 2914 | let cov_goals' = - 2915 | List.map - 2916 | begin fun (cD', (cG', pat, tau_p), t) -> - 2917 | (cD', (Context.append (Whnf.cnormGCtx (cG, t)) cG', pat, tau_p), t) - ... - 2926 | cov_goals' - 2927 | end; - 2928 | let l = List.length cov_goals' in - 2929 | best_pv_cand' (cD, cG) pvlist (l, (cov_goals', x)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - [] - File "src/core/coverage.ml", lines 2936-2948, characters 2-40: - 2936 | ..match sl with - 2937 | | [] -> pvlist - 2938 | | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist - 2939 | | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist - 2940 | | SplitCtx _ :: sl -> pvInSplitCand sl pvlist - ... - 2945 | end; - 2946 | if List.mem x pvlist - 2947 | then pvInSplitCand sl pvlist - 2948 | else pvInSplitCand sl (x :: pvlist) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (SplitPat - (((PatMetaObj (_, _)|PatConst (_, _, _)|PatVar (_, _)|PatPair (_, _, _)| - PatAnn (_, _, _, _)), - _), - _):: - _| - Split ((CovCtx _|CovPatt (_, _, _)), _)::_) - File "src/core/coverage.ml", lines 3159-3167, characters 2-27: - 3159 | ..let CovPatt (cG', pat', ttau') = covGoal in - 3160 | dprintf - 3161 | begin fun p -> - 3162 | p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]" - 3163 | (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat - 3164 | (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat' - 3165 | end; - 3166 | let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in - 3167 | Cand (cD_p, cG_p, ml, sl) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovCtx _|CovSub (_, _, _)) - File "src/core/coverage.ml", lines 3158-3167, characters 33-27: - 3158 | .................................(cD_p, GenPatt (cG_p, pat, ttau)) = - 3159 | let CovPatt (cG', pat', ttau') = covGoal in - 3160 | dprintf - 3161 | begin fun p -> - 3162 | p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]" - 3163 | (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat - 3164 | (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat' - 3165 | end; - 3166 | let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in - 3167 | Cand (cD_p, cG_p, ml, sl) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, MetaSub (_, _, _)) - File "src/core/coverage.ml", lines 3295-3330, characters 2-50: - 3295 | ..function - 3296 | | LF.Empty -> false - 3297 | | LF.Dec (cD', (LF.Decl (_, LF.ClTyp (LF.MTyp tA, cPsi), _) as cdecl)) -> - 3298 | begin - 3299 | try - ... - 3327 | print_string "Unable to prove given type is empty\n"; check_emptiness cD' - 3328 | end - 3329 | - 3330 | | LF.Dec (cD', LF.Decl _) -> check_emptiness cD' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, DeclOpt (_, _)) - File "src/core/coverage.ml", lines 3333-3343, characters 2-8: - 3333 | ..function - 3334 | | LF.Empty -> false - 3335 | | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) -> - 3336 | begin - 3337 | try - ... - 3340 | | _ -> check_empty_comp names cD cG - 3341 | with - 3342 | | _ -> check_empty_comp names cD cG - 3343 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, CTypDeclOpt _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Check.cmx -c -impl src/core/check.pp.ml) - File "src/core/check.ml", lines 359-365, characters 6-9: - 359 | ......begin fun (Error (loc, err)) -> - 360 | Error.print_with_location loc - 361 | begin fun ppf -> - 362 | Format.fprintf ppf "Type-checking error.@."; - 363 | format_error ppf err - 364 | end - 365 | end - Warning 8: 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/check.ml", lines 450-454, characters 4-46: - 450 | ....function - 451 | | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS - 452 | | I.Lam (_, _, tM) -> fmv_normal cD tM - 453 | | I.LFHole _ -> cD - 454 | | I.Tuple (_, tuple) -> fmv_tuple cD tuple - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Clo _ - File "src/core/check.ml", lines 469-471, characters 4-55: - 469 | ....function - 470 | | I.Nil -> cD - 471 | | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - SClo _ - File "src/core/check.ml", lines 479-482, characters 4-61: - 479 | ....function - 480 | | I.Null -> cD - 481 | | I.CtxVar (I.CtxOffset k) -> mark_ind cD k - 482 | | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CtxVar (CtxName _|CInst _) - File "src/core/check.ml", lines 490-493, characters 4-38: - 490 | ....function - 491 | | I.Atom (_, _, tS) -> fmv_spine cD tS - 492 | | I.PiTyp ((decl, _), tA) -> fmv_typ (fmv_decl cD decl) tA - 493 | | I.Sigma trec -> fmv_trec cD trec - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TClo _ - File "src/core/check.ml", lines 513-517, characters 4-68: - 513 | ....function - 514 | | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi - 515 | | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM - 516 | | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h - 517 | | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, (MUndef|MV _)) - File "src/core/check.ml", lines 529-532, characters 4-43: - 529 | ....function - 530 | | PatNil -> cD - 531 | | PatApp (_, pat, pat_spine) -> - 532 | fmv_pat_spine (fmv cD pat) pat_spine - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - PatObs (_, _, _, _) - File "src/core/check.ml", lines 537-574, characters 4-10: - 537 | ....match (t, cD) with - 538 | | (I.MShift k, I.Empty) -> cD1' - 539 | | (I.MShift k, cD) - 540 | when k < 0 -> - 541 | raise (Error.Violation "Contextual substitution ill-formed") - ... - 571 | else - 572 | id_map_ind cD1' ms cD - 573 | | _ -> id_map_ind cD1' ms cD - 574 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MDot (_, _), Dec (_, DeclOpt (_, _))) - File "src/core/check.ml", lines 597-598, characters 7-23: - 597 | .......fun (CTypDecl (u, tau, wf_tag)) -> - 598 | (u, tau, wf_tag) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTypDeclOpt _ - File "src/core/check.ml", lines 732-756, characters 6-12: - 732 | ......match cPsi0 with - 733 | | Int.LF.Null -> () (* raise (Error (Syntax.Loc.ghost, IllegalParamTyp (cD, cPsi, tA))) *) - 734 | | Int.LF.CtxVar psi -> - 735 | (* tA is an instance of a schema block *) - 736 | let { Schema.Entry.name; schema = Int.LF.Schema elems; decl = _ } = - ... - 753 | Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id) - 754 | with - 755 | | _ -> checkParamTypeValid' (cPsi0', n + 1) - 756 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DDec (_, TypDeclOpt _) - File "src/core/check.ml", lines 761-780, characters 4-68: - 761 | ....match (mS, cKt) with - 762 | | (MetaNil, (Ctype _, _)) -> () - 763 | | (MetaApp (mO, mT, mS, plicity), (PiKind (_, I.Decl (_, ctyp, dep), cK), t)) -> - 764 | if Stdlib.(<>) (Int.LF.Depend.to_plicity dep) plicity - 765 | then Error.violation "[checkMetaSpine] plicity mismatch"; - ... - 777 | ^ Fmt.stringify Loc.print_short loc - 778 | ) - 779 | end; - 780 | checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((MetaApp (_, _, _, _), (PiKind (_, DeclOpt (_, _), _), _))| - (MetaApp (_, _, _, _), (Ctype _, _))|(MetaNil, (PiKind (_, _, _), _))) - File "src/core/check.ml", lines 806-807, characters 20-42: - 806 | ....................(I.Decl (x, ctyp, _)) = - 807 | checkCLFTyp (Id.loc_of_name x) cD ctyp - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/check.ml", lines 817-852, characters 4-35: - 817 | ....function - 818 | | TypBase (loc, c, mS) -> - 819 | let cK = (CompTyp.get c).CompTyp.Entry.kind in - 820 | checkMetaSpine loc cD mS (cK, C.m_id) - 821 | - ... - 849 | end; - 850 | checkTyp (I.Dec (cD, cdecl)) tau' - 851 | - 852 | | TypInd tau -> checkTyp cD tau - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypDef (_, _, _)|TypClo (_, _)) - File "src/core/check.ml", lines 864-865, characters 21-52: - 864 | .....................(x, (I.Decl (_, cU, dep)), t) = - 865 | I.Dec (cD, I.Decl (x, C.cnormMTyp (cU, t), dep)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, DeclOpt (_, _), _) - File "src/core/check.ml", lines 882-899, characters 12-15: - 882 | ............begin match e2 with - 883 | | Box (_, cM, _) | Syn (_, AnnBox (cM, _)) -> - 884 | dprintf - 885 | begin fun p -> - 886 | p.fmt "[useIH] @[<v>check whether compatible IH exists@,\ - ... - 896 | | None -> Total.filter cD cG cIH (loc, E) - 897 | end - 898 | | Hole _ -> Total.drop_arg cIH - 899 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Pair (_, _, _)|LetPair (_, _, _)| - Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _)) - File "src/core/check.ml", lines 1342-1349, characters 7-10: - 1342 | .......begin match (tau, theta) with - 1343 | | (TypArr (_, tau1, tau2), theta) -> - 1344 | checkPattern cD cG pat (tau1, theta); - 1345 | synPatSpine cD cG pat_spine (tau2, theta) - 1346 | | (TypPiBox (_, cdecl, tau), theta) -> - 1347 | let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in - 1348 | synPatSpine cD cG pat_spine (tau, theta') - 1349 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| - TypCross (_, _, _)|TypClo (_, _)|TypInd _), - _) - File "src/core/check.ml", lines 1362-1364, characters 53-38: - 1362 | .....................................................(I.Decl (_, ctyp, _), theta) = - 1363 | LF.checkMetaObj cD mO (ctyp, theta); - 1364 | I.MDot (metaObjToMFront mO, theta) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (DeclOpt (_, _), _) - File "src/core/check.ml", lines 1362-1364, characters 30-38: - 1362 | ..............................(PatMetaObj (loc, mO)) (I.Decl (_, ctyp, _), theta) = - 1363 | LF.checkMetaObj cD mO (ctyp, theta); - 1364 | I.MDot (metaObjToMFront mO, theta) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)|PatAnn (_, _, _, _)) - File "src/core/check.ml", lines 1650-1652, characters 4-42: - 1650 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in - 1651 | let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in - 1652 | proof mcid cD cG cIH total_decs p ttau - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - {cIH=Dec (_, WfRec (_, _, _)); _ } - File "src/core/check.ml", lines 1663-1728, characters 4-13: - 1663 | ....match d with - 1664 | | Intros hyp -> - 1665 | let tau = Whnf.cnormCTyp ttau in - 1666 | let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in - 1667 | dprintf - ... - 1725 | end; - 1726 | proof mcid cD cG cIH total_decs p (tau, Whnf.m_id) - 1727 | end - 1728 | args - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ImpossibleSplit _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Logic.cmx -c -impl src/core/logic.pp.ml) - File "src/core/logic.ml", lines 137-150, characters 4-36: - 137 | ....match tN with - 138 | | LF.Lam (l, n, tN') -> - 139 | begin - 140 | incr lR; - 141 | let tM = LF.Lam (l, n, shiftNormal tN' k) in - ... - 147 | | LF.Clo (tN, s) -> - 148 | LF.Clo (shiftNormal tN k, s) - 149 | | LF.Tuple (l, tP) -> - 150 | LF.Tuple (l, shiftTuple tP k) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - LFHole (_, _, _) - File "src/core/logic.ml", lines 187-197, characters 4-8: - 187 | ....match tM with - 188 | | LF.PiTyp ((tD, LF.Maybe), tM') -> - 189 | typToClause' (LF.DDec (eV, tD)) cG tM' (cS, dS, dR) - 190 | | LF.PiTyp ((LF.TypDecl (_, tA), LF.No), tB) -> - 191 | typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR))) - ... - 194 | { tHead = (Shift.shiftAtom tM (-cS, -dS, dR)) - 195 | ; eVars = eV - 196 | ; subGoals = cG - 197 | } - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDecl (_, _), Inductive), _)| - PiTyp ((TypDeclOpt _, (No|Inductive)), _)|Sigma _|TClo _) - File "src/core/logic.ml", lines 200-206, characters 4-47: - 200 | ....match tM with - 201 | | LF.PiTyp ((tD, LF.Maybe), tM') -> - 202 | All (tD, typToGoal tM' (cS, dS, dR + 1)) - 203 | | LF.PiTyp ((LF.TypDecl (x, tA) as tD, LF.No), tB) -> - 204 | Impl ((typToRes tA (cS, dS, dR), tD), typToGoal tB (cS, dS, dR + 1)) - 205 | | LF.Atom _ -> - 206 | Atom (Shift.shiftAtom tM (-cS, -dS, dR)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDecl (_, _), Inductive), _)| - PiTyp ((TypDeclOpt _, (No|Inductive)), _)|Sigma _|TClo _) - File "src/core/logic.ml", lines 209-215, characters 4-47: - 209 | ....match tM with - 210 | | LF.PiTyp ((tD, LF.Maybe), tM') -> - 211 | Exists (tD, typToRes tM' (cS, dS, dR + 1)) - 212 | | LF.PiTyp ((LF.TypDecl (_, tA), LF.No), tB) -> - 213 | And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1)) - 214 | | LF.Atom _ -> - 215 | Head (Shift.shiftAtom tM (-cS, -dS, dR)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDecl (_, _), Inductive), _)| - PiTyp ((TypDeclOpt _, (No|Inductive)), _)|Sigma _|TClo _) - File "src/core/logic.ml", lines 243-252, characters 4-10: - 243 | ....match tA with - 244 | | LF.Atom _ -> - 245 | let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) LF.Maybe) in - 246 | LF.Root (Syntax.Loc.ghost, LF.MVar (u, S.id), LF.Nil, `explicit) - 247 | | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _), tB) -> - 248 | LF.Lam - 249 | ( Syntax.Loc.ghost - 250 | , x - 251 | , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s) - 252 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - File "src/core/logic.ml", lines 269-277, characters 4-68: - 269 | ....match eV with - 270 | | LF.DDec (eV', LF.TypDecl (_, tM)) -> - 271 | let (s', fS') = dctxToSub cD cPsi (eV', s) fS in - 272 | let tM' = etaExpand cD cPsi (tM, s') in - 273 | (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS)))) - 274 | | LF.Null -> (s, fS) - 275 | | LF.CtxVar _ -> - 276 | invalid_arg - 277 | "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _." - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DDec (_, TypDeclOpt _) - File "src/core/logic.ml", lines 505-516, characters 4-59: - 505 | ....match r with - 506 | | Head tH -> - 507 | fmt_ppr_typ cD cPsi ppf (tH, s) - 508 | | And (g, r') -> - 509 | fprintf ppf "%a -> %a" - ... - 513 | let tM' = Convert.etaExpand cD cPsi (tM, s) in - 514 | fprintf ppf "[∃%a. %a]" - 515 | (fmt_ppr_decl cD cPsi) (tD, s) - 516 | (fmt_ppr_res cD cPsi) (r', LF.Dot (LF.Obj tM', s)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Exists (TypDeclOpt _, _) - File "src/core/logic.ml", lines 652-668, characters 4-66: - 652 | ....match g with - 653 | | Atom tA -> - 654 | matchAtom dPool cD (cPsi, k) (tA, s) sc - 655 | - 656 | | Impl ((r, (LF.TypDecl (x, _) as tD)), g') -> - ... - 665 | (* we *don't* get an assumption from a forall; it's just a parameter. - 666 | So we just prove the conclusion in an extended context. *) - 667 | gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s) - 668 | (fun (u, tM) -> sc (u, LF.Lam (Syntax.Loc.ghost, x, tM))) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Impl ((_, TypDeclOpt _), _)|All (TypDeclOpt _, _)) - File "src/core/logic.ml", lines 790-843, characters 8-27: - 790 | ........match cD' with - 791 | | LF.Empty -> matchDProg dPool - 792 | | LF.Dec (cD', LF.Decl (_, LF.ClTyp (cltyp, psi), _)) -> - 793 | begin - 794 | let psi' = Whnf.cnormDCtx (psi, LF.MShift k) in - ... - 840 | with - 841 | | U.Failure s -> () - 842 | end; - 843 | loop cD' (k + 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, Decl (_, CTyp _, _))|Dec (_, DeclOpt (_, _))) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Lfrecon.cmx -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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp None, _))|(_, Decl (_, ClTyp (_, _), _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Some (CInst ({typ=CTyp None; _ }, _))| - Some (CInst ({typ=ClTyp (_, _); _ }, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((PiTyp (_, _), Some _)|((Sigma _|TClo _), _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Hole|BVar _|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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiTyp ((TypDeclOpt _, _), _)|Sigma _|TClo _) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: 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 (_, _)), - _)| - Hole|Const _|MVar (_, _)|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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dot (Obj _, _)|SVar (_, _)|FSVar (_, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _)| - SVar (_, _)|FSVar (_, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Root (_, BVar _, App (_, _))| - Root - (_, - (Hole|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _)), - _)| - Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: 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: 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: 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Root (_, _, _), (TClo _, _))|(Tuple (_, _), (TClo _, _))| - (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _), _), _))| - (Lam (_, _, _), (TClo _, _))) - 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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 (_, _))| - Undef|Obj _) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: 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: 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 (_, _))| - Undef|Obj _) - 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: 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: 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|PTyp _), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, ClTyp ((PTyp _|STyp (_, _)), _))|(_, CTyp _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, ClTyp ((MTyp _|STyp (_, _)), _))|(_, CTyp _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((PiTyp ((TypDeclOpt _, _), _), _), _)| - (((Atom (_, _, _)|Sigma _|TClo _), _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((App (_, _), (PiTyp ((TypDeclOpt _, _), _), _))| - (App (_, _), ((Atom (_, _, _)|Sigma _|TClo _), _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (((PiKind ((TypDeclOpt _, _), _), _), _)|((Typ, _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((App (Root (_, BVar _, App (_, _)), _), _)| - (App - (Root - (_, - (Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)| - FPVar (_, _)), _), - _), - _)|(App ((Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)), _), _)) - 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: 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Root (_, FVar _, _), Inst {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ })::_| - (_, Root (_, FVar _, _), Inst {typ=CTyp _; _ })::_| - (_, Root (_, FVar _, _), Offset _)::_| - (_, - Root - (_, - (Hole|BVar _|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FMVar (_, _)| - FPVar (_, _)), _), - _)::_|(_, (Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)), _)::_) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((PTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, ClTyp ((MTyp _|STyp (_, _)), _), _))|(_, Decl (_, CTyp _, _))| - (_, DeclOpt (_, _))) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Root (_, FPVar (_, _), _), ClTyp ((PTyp _|STyp (_, _)), _))| - (Root (_, FPVar (_, _), _), CTyp _)| - (Root (_, FMVar (_, _), _), ClTyp ((PTyp _|STyp (_, _)), _))| - (Root (_, FMVar (_, _), _), CTyp _)| - (Root - (_, (Hole|BVar _|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _), _), - _)|((Lam (_, _, _)|LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)), _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Reconstruct.cmx -c -impl src/core/reconstruct.pp.ml) - File "src/core/reconstruct.ml", lines 70-209, characters 6-44: - 70 | ......match err with - 71 | | NotImplemented f -> - 72 | fprintf ppf "@[<v 2>Not implemented:@,@[%a@]@]" - 73 | f () - 74 | | MCtxIllformed cD -> - ... - 206 | @, @[%a@]\ - 207 | @]" - 208 | P.(fmt_ppr_cmp_meta_obj cD l0) mC_p - 209 | P.(fmt_ppr_cmp_meta_obj cD l0) mC - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - IllegalSubstMatch - File "src/core/reconstruct.ml", lines 65-211, characters 4-7: - 65 | ....begin fun (Error (loc, err)) -> - 66 | Error.print_with_location loc - 67 | begin fun ppf -> - 68 | let open Format in - 69 | fprintf ppf "Type reconstruction error.@."; - ... - 208 | P.(fmt_ppr_cmp_meta_obj cD l0) mC_p - 209 | P.(fmt_ppr_cmp_meta_obj cD l0) mC - 210 | end - 211 | end - Warning 8: 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/reconstruct.ml", lines 242-243, characters 2-49: - 242 | ..function - 243 | | Int.LF.Decl (u, _, _) -> mk_name (SomeName u) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - File "src/core/reconstruct.ml", lines 283-295, characters 4-27: - 283 | ....match tau, n with - 284 | | _, 0 -> 0 - 285 | | I.TypPiBox (_, Int.LF.Decl (u, cU, dep), tau), n -> - 286 | begin match dep with - 287 | | Int.LF.Inductive -> - ... - 292 | 1 + skip tau (n - 1) (* explicits pi-types cost 1 *) - 293 | end - 294 | | I.TypArr (_, _, tau), n -> - 295 | 1 + skip tau (n - 1).............................. - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((TypPiBox (_, DeclOpt (_, _), _), 1)| - ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| - TypCross (_, _, _)|TypClo (_, _)|TypInd _), - 1)) - File "src/core/reconstruct.ml", lines 321-327, characters 9-93: - 321 | .........let (_, Int.LF.Decl (_, Int.LF.CTyp (Some s_cid'), _)) = FCVar.get psi in - 322 | if Id.cid_equals s_cid s_cid' - 323 | then Int.LF.CtxVar (Int.LF.CtxName psi) - 324 | else - 325 | let { Schema.Entry.name; schema; decl = _ } = Schema.get s_cid in - 326 | let c_var' = Int.LF.CtxName psi in - 327 | Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Id.loc_of_name psi)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((_, Decl (_, CTyp None, _))|(_, Decl (_, ClTyp (_, _), _))| - (_, DeclOpt (_, _))) - File "src/core/reconstruct.ml", lines 363-372, characters 7-10: - 363 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in - 364 | begin - 365 | let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in - 366 | Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi); - 367 | match Context.ctxVar cPsi with - 368 | | None -> () - 369 | | Some (Int.LF.CtxName psi) -> - 370 | FCVar.add psi (cD, Int.LF.(Decl (psi, CTyp (Some s_cid), v.depend))) - 371 | | _ -> () - 372 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CTyp None|ClTyp (_, _)) - File "src/core/reconstruct.ml", lines 408-412, characters 2-23: - 408 | ..match cG, k with - 409 | | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 -> - 410 | Whnf.cnormCTyp (tau, Whnf.m_id) - 411 | | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k -> - 412 | lookup cG' (k - 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((Dec (_, CTypDeclOpt _), _)|(Empty, _)) - File "src/core/reconstruct.ml", lines 422-428, characters 2-32: - 422 | ..function - 423 | | Apx.LF.Empty -> Int.LF.Empty - 424 | | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) -> - 425 | let ctx' = elTypDeclCtx cD ctx in - 426 | let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in - 427 | let typDecl' = Int.LF.TypDecl (name, tA) in - 428 | Int.LF.Dec (ctx', typDecl') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Dec (_, TypDeclOpt _) - File "src/core/reconstruct.ml", lines 473-475, characters 4-34: - 473 | ....match dep with - 474 | | Apx.LF.No -> Int.LF.No - 475 | | Apx.LF.Maybe -> Int.LF.Maybe - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Inductive - File "src/core/reconstruct.ml", lines 471-477, characters 20-43: - 471 | ....................(Apx.LF.Decl (u, ctyp, dep)) = - 472 | let dep = - 473 | match dep with - 474 | | Apx.LF.No -> Int.LF.No - 475 | | Apx.LF.Maybe -> Int.LF.Maybe - 476 | in - 477 | Int.LF.Decl (u, elCTyp recT cD ctyp, dep) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt _ - File "src/core/reconstruct.ml", lines 527-560, characters 4-26: - 527 | ....function - 528 | | (Int.LF.Typ, _s) -> - 529 | Int.LF.Nil - 530 | - 531 | | (Int.LF.(PiKind ((TypDecl (u, tA1), dep), kK), s)) -> - ... - 557 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s)) - 558 | end; - 559 | let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in - 560 | Int.LF.App (tR, tS) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiKind ((TypDeclOpt _, _), _), _) - File "src/core/reconstruct.ml", lines 566-578, characters 2-8: - 566 | ..function - 567 | | Int.LF.Atom (_, a, _) -> - 568 | mgAtomicTyp cD cPsi a (Typ.get a).Typ.Entry.kind - 569 | - 570 | | Int.LF.Sigma trec -> - ... - 575 | Int.LF.PiTyp - 576 | ( (tdecl', dep) - 577 | , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA - 578 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TClo _ - File "src/core/reconstruct.ml", lines 581-583, characters 2-41: - 581 | ..function - 582 | | Int.LF.TypDecl (x, tA) -> - 583 | Int.LF.TypDecl (x, mgTyp cD cPsi tA) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - TypDeclOpt _ - File "src/core/reconstruct.ml", lines 640-643, characters 5-18: - 640 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) = - 641 | Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id) - 642 | in - 643 | Int.LF.PObj h - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Root (_, _, App (_, _), _)|Lam (_, _, _)|LFHole (_, _, _)|Tuple (_, _)) - File "src/core/reconstruct.ml", lines 650-653, characters 5-18: - 650 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) = - 651 | Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id) - 652 | in - 653 | Int.LF.PObj h - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Root (_, _, App (_, _), _)|Lam (_, _, _)|LFHole (_, _, _)|Tuple (_, _)) - File "src/core/reconstruct.ml", lines 709-725, characters 2-97: - 709 | ..match (s, cKt) with - 710 | | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) -> - 711 | Int.Comp.MetaNil - 712 | - 713 | | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) -> - ... - 722 | - 723 | | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl(_, ctyp, _), cK), theta)) -> - 724 | let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in - 725 | Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), `explicit) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MetaApp (_, _), (PiKind (_, DeclOpt (_, _), _), _)) - File "src/core/reconstruct.ml", lines 797-802, characters 4-86: - 797 | ....function - 798 | | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil - 799 | | (Int.Comp.PiKind (loc', Int.LF.Decl(u, cU, dep), cK), t) -> - 800 | let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, dep) in - 801 | let mS = genMetaSpine (cK, t') in - 802 | Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, Int.LF.Depend.to_plicity dep) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PiKind (_, DeclOpt (_, _), _), _) - File "src/core/reconstruct.ml", lines 829-841, characters 2-49: - 829 | ..match cPsi with - 830 | | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) -> - 831 | let (n, sW) = Whnf.mctxCDec cD psi_var in - 832 | let v = - 833 | let open Int.LF in - ... - 838 | | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) -> - 839 | let cPsi' = mgCtx cD' (cD, cPsi) in - 840 | let tA' = mgTyp cD' cPsi' tA in - 841 | Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA')) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CtxVar (CtxName _|CInst _)|DDec (_, TypDeclOpt _)) - File "src/core/reconstruct.ml", lines 921-939, characters 7-54: - 921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in - 922 | dprintf - 923 | begin fun p -> - 924 | p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\ - 925 | @,mC = @[%a@]\ - ... - 936 | (mT, Whnf.m_id) - 937 | with - 938 | | Unify.Failure msg -> - 939 | throw loc (ImpossiblePattern (cD, mC_p, mC)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypArr (_, _, _)|TypCross (_, _, _)|TypPiBox (_, _, _)|TypClo (_, _)| - TypInd _) - File "src/core/reconstruct.ml", lines 916-939, characters 4-54: - 916 | ....match caseT with - 917 | | DataObj -> () (* not dependent pattern matching; nothing to do *) - 918 | | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) -> - 919 | let mC_p = Whnf.(cnormMetaObj (mC_p, m_id)) in - 920 | (* tau_p' _has_ to be a box type if caseT is an IndexObj *) - ... - 936 | (mT, Whnf.m_id) - 937 | with - 938 | | Unify.Failure msg -> - 939 | throw loc (ImpossiblePattern (cD, mC_p, mC)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (IndexObj - (PatAnn - (_, - (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)| - PatAnn (_, _, _, _)), _, _), - _)| - IndexObj - ((PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatPair (_, _, _)), _)) - File "src/core/reconstruct.ml", lines 1371-1378, characters 7-22: - 1371 | .......match id with - 1372 | | None -> true - 1373 | | Some Apx.LF.Id -> true - 1374 | | Some Apx.LF.EmptySub -> - 1375 | let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in - 1376 | match cPhi, cPsi with - 1377 | | Int.LF.Null, Int.LF.Null -> true - 1378 | | _ -> false - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (Dot (_, _)|SVar (_, _)|FSVar (_, _)) - File "src/core/reconstruct.ml", lines 1395-1418, characters 6-9: - 1395 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in - 1396 | let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in - 1397 | let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in - 1398 | let s0' = Substitution.LF.comp s0 s' in - 1399 | begin match s0' with - ... - 1415 | else - 1416 | throw loc IllegalSubstMatch - 1417 | | _ -> throw loc IllegalSubstMatch - 1418 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MInst (SObj _, ClTyp ((MTyp _|PTyp _), _))|MInst (SObj _, CTyp _)| - MInst ((MObj _|PObj _), _)|Offset _) - File "src/core/reconstruct.ml", lines 1423-1444, characters 5-8: - 1423 | .....begin - 1424 | match cpsi with - 1425 | | Apx.LF.CtxVar (ctxvar) -> - 1426 | let c_var = Lfrecon.elCtxVar ctxvar in - 1427 | let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in - ... - 1441 | end - 1442 | |> throw loc - 1443 | end - 1444 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Null|CtxHole|DDec (_, _)) - File "src/core/reconstruct.ml", lines 1198-1454, characters 2-6: - 1198 | ..match i with - 1199 | | Apx.Comp.Var (loc, offset) -> - 1200 | let tau = lookup cG offset in - 1201 | dprintf - 1202 | begin fun p -> - ... - 1451 | , ( Int.Comp.TypCross (loc, Whnf.cnormCTyp (tau1, t1), Whnf.cnormCTyp (tau2, t2)) - 1452 | , C.m_id - 1453 | ) - 1454 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (BoxVal - (_, (_, ClObj (_, Dot (Obj _, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))| - BoxVal - (_, (_, ClObj (_, Dot (Head _, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _))))))| - BoxVal (_, (_, ClObj (_, (EmptySub|Id|FSVar (_, _)))))|FVar _|Ann (_, _)) - File "src/core/reconstruct.ml", lines 1520-1590, characters 2-8: - 1520 | ..match (pat, ttau) with - 1521 | | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) -> - 1522 | let tau' = Whnf.cnormCTyp (tau, theta) in - 1523 | dprintf - 1524 | begin fun p -> - ... - 1587 | | Unify.Failure msg -> - 1588 | dprint (fun () -> "Unify Error: " ^ msg); - 1589 | raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau'))) - 1590 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatFVar (_, _), _) - File "src/core/reconstruct.ml", lines 1593-1603, characters 2-57: - 1593 | ..function - 1594 | | Apx.Comp.PatAnn (loc, pat, tau) -> - 1595 | let tau' = elCompTyp cD tau in - 1596 | let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in - 1597 | (cG', Int.Comp.PatAnn (loc, pat', tau', `explicit), (tau', Whnf.m_id)) - ... - 1600 | let tau = (CompConst.get c).CompConst.Entry.typ in - 1601 | dprint (fun () -> "[elPat] PatConst = " ^ R.render_cid_comp_const c); - 1602 | let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in - 1603 | (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatPair (_, _, _)) - File "src/core/reconstruct.ml", lines 1680-1721, characters 5-8: - 1680 | .....begin match ttau with - 1681 | | (Int.Comp.TypCobase (loc', cid, mspine), theta) -> - 1682 | let cD' = (CompDest.get obs).CompDest.Entry.mctx in - 1683 | dprintf - 1684 | begin fun p -> - ... - 1718 | let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in - 1719 | (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2) - 1720 | (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *) - 1721 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ((TypPiBox (_, Decl (_, _, (No|Inductive)), _), _)| - (TypPiBox (_, DeclOpt (_, _), _), _)| - ((TypBase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)|TypArr (_, _, _)| - TypCross (_, _, _)|TypClo (_, _)|TypInd _), - _)) - File "src/core/reconstruct.ml", lines 1737-1744, characters 5-61: - 1737 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in - 1738 | let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in - 1739 | let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in - 1740 | let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in - 1741 | let ttau' = (tau', Whnf.m_id) in - 1742 | let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in - 1743 | (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *) - 1744 | (cG', Int.Comp.PatAnn (l, pat', tau', `explicit), ttau') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _))|TypBox (_, CTyp _)| - TypArr (_, _, _)|TypCross (_, _, _)|TypPiBox (_, _, _)|TypClo (_, _)| - TypInd _) - File "src/core/reconstruct.ml", lines 1767-1784, characters 10-13: - 1767 | ..........begin match mT with - 1768 | | Int.LF.(MTyp (Atom _ | Sigma _ as tA))-> - 1769 | let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in - 1770 | let tP' = mgTyp cD cPsi' tA in - 1771 | (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi')) - ... - 1781 | fixParamTyp in check.ml, and it is only used for - 1782 | coverage checking. *) - 1783 | Error.violation "[recPatObj'] scrutinee PTyp should be impossible" - 1784 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - MTyp (TClo _) - File "src/core/reconstruct.ml", lines 2051-2073, characters 2-5: - 2051 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' = - 2052 | elHypotheses h - 2053 | in - 2054 | dprintf - 2055 | begin fun p -> - ... - 2070 | ( loc - 2071 | , h' - 2072 | , elProof cD cG label p ttau - 2073 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - {cIH=Dec (_, WfRec (_, _, _)); _ } - File "src/core/reconstruct.ml", lines 2248-2261, characters 11-29: - 2248 | ...........match k, tA' with - 2249 | | Some k, Int.LF.Sigma tRec -> - 2250 | (* Compute the type of the kth projection of tRec. *) - 2251 | Int.LF.getType h (tRec, LF.id) k 1 - 2252 | |> Whnf.normTyp - ... - 2258 | A projected case #n.k is required. - 2259 | *) - 2260 | assert false - 2261 | | None, tA' -> tA' - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Some _, (Atom (_, _, _)|PiTyp (_, _)|TClo _)) - File "src/core/reconstruct.ml", lines 2309-2390, characters 7-56: - 2309 | .......let Int.LF.MTyp tP = cU in - 2310 | let (cD', (cPsi', tR_p, tA_p), t) = - 2311 | match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with - 2312 | | None -> assert false - 2313 | (* XXX throw an appropriate error - ... - 2387 | cD_b |- [t o t']tau <= type - 2388 | *) - 2389 | in - 2390 | I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PTyp _|STyp (_, _)) - File "src/core/reconstruct.ml", lines 2398-2433, characters 7-57: - 2398 | .......let Int.LF.MTyp tA = cU in - 2399 | let (cD', (cPsi', tM, sA), t) = - 2400 | match Coverage.genBVar (cD, cPsi, tA) 1 with - 2401 | | [x] -> x - 2402 | | _ -> - ... - 2430 | let l' = `bvar in - 2431 | let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in - 2432 | let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in - 2433 | I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp') - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (PTyp _|STyp (_, _)) - File "src/core/reconstruct.ml", lines 2524-2526, characters 5-44: - 2524 | .....let Some w = w in - 2525 | let ctx_branches = List.map (make_ctx_branch w) bs in - 2526 | I.ContextSplit (i, tau_i, ctx_branches) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - None - File "src/core/reconstruct.ml", lines 2541-2547, characters 5-17: - 2541 | .....let (cD', cG', Int.LF.Empty, tau', _) = - 2542 | Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau) - 2543 | in - 2544 | let hyp = - 2545 | elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id) - 2546 | in - 2547 | I.Intros hyp - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, _, Dec (_, WfRec (_, _, _)), _, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Interactive.cmx -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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (CovCtx _|CovSub (_, _, _)) - 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: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - DeclOpt (_, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Recsgn.cmx -c -impl src/core/recsgn.pp.ml) - File "src/core/recsgn.ml", lines 76-78, characters 11-46: - 76 | ...........match f with - 77 | | Ext.Sgn.Infix -> ("infix", 2) - 78 | | Ext.Sgn.Postfix -> ("postfix", 1) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Prefix - File "src/core/recsgn.ml", lines 44-104, characters 4-7: - 44 | ....begin fun (Error (loc, err)) -> - 45 | Error.print_with_location loc - 46 | begin fun ppf -> - 47 | match err with - 48 | | TotalDeclError (f, f') -> - ... - 101 | | UnboundNamePragma typ_name -> - 102 | fprintf ppf "Name pragma refers to unbound type %a." Id.print typ_name - 103 | end - 104 | end - Warning 8: 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/recsgn.ml", lines 140-152, characters 2-7: - 140 | ..match tau with - 141 | | Ext.Sgn.Typ (_, n, _) -> - 142 | let a = Typ.index_of_name n in - 143 | Typ.freeze a; - 144 | () - ... - 149 | | Ext.Sgn.CompCotyp (_, n, _) -> - 150 | let a = CompCotyp.index_of_name n in - 151 | CompCotyp.freeze a; - 152 | () - Warning 8: 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/recsgn.ml", lines 259-261, characters 12-32: - 259 | ............match fix with - 260 | | Ext.Sgn.Postfix -> 1 - 261 | | Ext.Sgn.Infix -> 2 - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Prefix - File "src/core/recsgn.ml", lines 617-619, characters 9-56: - 617 | .........function - 618 | | Apx.LF.Atom (_loc, a, _spine) -> a - 619 | | Apx.LF.PiTyp ((_, _), t) -> get_type_family t - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Sigma _ - File "src/core/recsgn.ml", lines 233-1182, characters 4-70: - 233 | ....match d with - 234 | | Ext.Sgn.Comment (l, s) -> Int.Sgn.Comment (l, s) - 235 | | Ext.Sgn.Pragma (loc, Ext.Sgn.AbbrevPrag (orig, abbrev)) -> - 236 | begin - 237 | try - ... - 1179 | sgn - 1180 | with - 1181 | | Not_found -> - 1182 | raise (Error (loc, (InvalidOpenPrag (String.concat "." n)))) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Pragma (_, (NotPrag|OptsPrag _))|GlobalPragma (_, _)) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/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__Command.cmx -c -impl src/core/command.pp.ml) - File "src/core/command.ml", lines 263-304, characters 22-11: - 263 | ......................[name] -> - 264 | with_hole_from_strategy_string ppf name - 265 | (requiring_lf_hole ppf - 266 | begin fun (i, h) -> - 267 | let Holes.{ cD; info = { lfGoal = (lfTyp, _); cPsi; _ }; _ } = - ... - 301 | end; - 302 | fprintf ppf ";\n@?"; - 303 | end - 304 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_|[]) - File "src/core/command.ml", lines 361-364, characters 22-45: - 361 | ......................[strat_s; var] -> - 362 | with_hole_from_strategy_string ppf strat_s - 363 | (requiring_computation_hole ppf - 364 | (fun hi -> do_split ppf hi var)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_::_|_::[]|[]) - File "src/core/command.ml", lines 373-384, characters 22-11: - 373 | ......................[strat] -> - 374 | with_hole_from_strategy_string ppf strat - 375 | (requiring_computation_hole ppf - 376 | begin fun (i, h) -> - 377 | let exp = Interactive.intro h in - ... - 381 | (P.fmt_ppr_cmp_exp_chk cD cG P.l0) exp; - 382 | Printer.Control.printNormal := false - 383 | end - 384 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_|[]) - File "src/core/command.ml", lines 393-411, characters 22-74: - 393 | ......................[arg] -> - 394 | let name = Id.(mk_name (SomeString arg)) in - 395 | try - 396 | let entry = - 397 | CompTyp.index_of_name name |> CompTyp.get - ... - 408 | (P.fmt_ppr_cmp_typ LF.Empty P.l0) x.CompConst.Entry.typ)) - 409 | termlist; - 410 | with - 411 | | Not_found -> fprintf ppf "- The type %s does not exist;\n@?" arg - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_|[]) - File "src/core/command.ml", lines 420-430, characters 22-71: - 420 | ......................[arg] -> - 421 | try - 422 | let name = Id.(mk_name (SomeString arg)) in - 423 | let entry = - 424 | Store.Cid.Comp.index_of_name name |> Store.Cid.Comp.get - ... - 427 | Id.print entry.Store.Cid.Comp.Entry.name - 428 | (P.fmt_ppr_cmp_typ LF.Empty P.l0) entry.Store.Cid.Comp.Entry.typ - 429 | with - 430 | | Not_found -> fprintf ppf "- The function does not exist;\n@?" - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_|[]) - File "src/core/command.ml", lines 439-457, characters 22-66: - 439 | ......................[arg] -> - 440 | try - 441 | let n = Id.(mk_name (SomeString arg)) in - 442 | let entry = Store.Cid.Comp.(index_of_name n |> get) in - 443 | match Store.Cid.Comp.Entry.(entry.prog) with - ... - 454 | | _ -> fprintf ppf "- %s is not a function.;\n@?" arg - 455 | with - 456 | | Not_found -> - 457 | fprintf ppf "- The function %s does not exist;\n@?" arg - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_|[]) - File "src/core/command.ml", lines 477-515, characters 8-11: - 477 | ........begin - 478 | let [Synext.Sgn.Query (_, name, extT, expected, tries)] = - 479 | let expected = List.hd arglist in - 480 | let tries = List.hd (List.tl arglist) in - 481 | let str = String.concat " " (List.tl (List.tl arglist)) in - ... - 512 | Logic.storeQuery name (tA', i) expected tries; - 513 | Logic.runLogic (); - 514 | fprintf ppf ";\n@?" - 515 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Query (_, _, _, _, _)::_::_| - (Const (_, _, _)|Typ (_, _, _)|CompTyp (_, _, _, _)|CompCotyp (_, _, _)| - CompConst (_, _, _)|CompDest (_, _, _, _, _)|CompTypAbbrev (_, _, _, _)| - Pragma (_, _)|GlobalPragma (_, _)|MRecTyp (_, _)|Theorem (_, _)| - Val (_, _, _, _)|Module (_, _, _)|Comment (_, _))::_|[]) - File "src/core/command.ml", lines 526-531, characters 20-11: - 526 | ....................[line; col] -> - 527 | let line = to_int line in - 528 | let col = to_int col in - 529 | let typ = Typeinfo.type_of_position line col in - 530 | fprintf ppf "%s;\n@?" - 531 | typ - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_::_|_::[]|[]) - File "src/core/command.ml", lines 540-545, characters 22-13: - 540 | ......................[strat] -> - 541 | with_hole_from_strategy_string ppf strat - 542 | begin fun (i, _) -> - 543 | fprintf ppf "%s;\n@?" - 544 | (HoleId.string_of_hole_id i) - 545 | end - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_::_::_|[]) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.main.eobjs/byte -I src/harpoon/.main.eobjs/native -I /home/opam/.opam/4.10/lib/dune-build-info -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/linenoise -I /home/opam/.opam/4.10/lib/result -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/lib/seq -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -o src/harpoon/.main.eobjs/native/translate.cmx -c -impl src/harpoon/translate.ml) - File "src/harpoon/translate.ml", lines 27-28, characters 5-53: - 27 | .....let LF.Dec (cG', Comp.CTypDecl (x, _, _)) = cG' in - 28 | (cD', cG', fun e -> Comp.Fn (Loc.ghost, x, f e)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, CTypDeclOpt _)|Empty) - File "src/harpoon/translate.ml", lines 31-36, characters 5-6: - 31 | .....let LF.Dec (cD', LF.Decl (x, _, dep)) = cD' in - 32 | ( cD' - 33 | , cG' - 34 | , let plicity = LF.Depend.to_plicity dep in - 35 | fun e -> Comp.MLam (Loc.ghost, x, f e, plicity) - 36 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (Dec (_, DeclOpt (_, _))|Empty) - File "src/harpoon/translate.ml", lines 59-71, characters 10-40: - 59 | ..........match cU with - 60 | | (ClTyp ( (MTyp _ | PTyp _), cPsi )) -> - 61 | let tM = - 62 | Root - 63 | ( Loc.ghost - ... - 68 | in - 69 | ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, t)), MObj tM) - 70 | | CTyp _ -> - 71 | CObj (CtxVar (CtxOffset 1)) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - ClTyp (STyp (_, _), _) - File "src/harpoon/translate.ml", lines 134-152, characters 5-8: - 134 | .....let (cD', cG', LF.Empty, tau', t) = - 135 | Check.Comp.unroll cD cG LF.Empty tau - 136 | in - 137 | (* cD' |- t : cD - 138 | is a weakening meta-substitution *) - ... - 149 | P.(fmt_ppr_cmp_gctx cD_orig l0) cG_orig - 150 | end; - 151 | assert Whnf.(convMCtx cD_orig cD && convGCtx (cG_orig, m_id) (cG, t)); - 152 | f e - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (_, _, Dec (_, WfRec (_, _, _)), _, _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.main.eobjs/byte -I src/harpoon/.main.eobjs/native -I /home/opam/.opam/4.10/lib/dune-build-info -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/linenoise -I /home/opam/.opam/4.10/lib/result -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/lib/seq -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -o src/harpoon/.main.eobjs/native/session.cmx -c -impl src/harpoon/session.ml) - File "src/harpoon/session.ml", lines 290-293, characters 9-33: - 290 | .........match order with - 291 | | Some (Either.Right no) -> `inductive no - 292 | | Some (Either.Left (Synext.Comp.Trust _)) -> `trust - 293 | | None -> `not_recursive - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Some (Left (NumericTotal (_, _)|NamedTotal (_, _, _, _))) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.main.eobjs/byte -I src/harpoon/.main.eobjs/native -I /home/opam/.opam/4.10/lib/dune-build-info -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/linenoise -I /home/opam/.opam/4.10/lib/result -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/lib/seq -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -o src/harpoon/.main.eobjs/native/tactic.cmx -c -impl src/harpoon/tactic.ml) - File "src/harpoon/tactic.ml", lines 431-446, characters 12-72: - 431 | ............let LF.(MObj (Root (_, h, _, _))) = tM in - 432 | match h with - 433 | | LF.PVar (n, s) -> `pvar None - 434 | | LF.(Proj (PVar (n, s), k)) -> `pvar (Some k) - 435 | | LF.Const cid -> `ctor cid - ... - 443 | P.(fmt_ppr_cmp_pattern cD cG l0) pat - 444 | end; - 445 | B.Error.violation - 446 | "[make_meta_branch] head neither pvar (proj) nor const" - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - (MObj (Lam (_, _, _)|LFHole (_, _, _)|Tuple (_, _))|PObj _|SObj _) - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.main.eobjs/byte -I src/harpoon/.main.eobjs/native -I /home/opam/.opam/4.10/lib/dune-build-info -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/linenoise -I /home/opam/.opam/4.10/lib/result -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/lib/seq -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -o src/harpoon/.main.eobjs/native/automation.cmx -c -impl src/harpoon/automation.ml) - File "src/harpoon/automation.ml", lines 106-114, characters 7-10: - 106 | .......let LF.ClTyp (_, cPsi) as cU = Whnf.cnormMTyp (cU, t) in - 107 | let head = MVar (Offset idx, S.LF.id) in - 108 | let clobj = MObj (Root (ghost, head, Nil, `explicit)) in - 109 | let psi_hat = Context.dctxToHat cPsi in - 110 | Box - 111 | ( ghost - 112 | , (ghost, ClObj (psi_hat, clobj)) - 113 | , cU - 114 | ) - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - CTyp _ - (cd _build/default && /home/opam/.opam/4.10/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.main.eobjs/byte -I src/harpoon/.main.eobjs/native -I /home/opam/.opam/4.10/lib/dune-build-info -I /home/opam/.opam/4.10/lib/extlib -I /home/opam/.opam/4.10/lib/gen -I /home/opam/.opam/4.10/lib/linenoise -I /home/opam/.opam/4.10/lib/result -I /home/opam/.opam/4.10/lib/sedlex -I /home/opam/.opam/4.10/lib/seq -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -intf-suffix .ml -no-alias-deps -o src/harpoon/.main.eobjs/native/main.cmx -c -impl src/harpoon/main.ml) - File "src/harpoon/main.ml", lines 15-36, characters 2-6: - 15 | ..let (arg0 :: args) = Array.to_list Sys.argv in - 16 | let open Options in - 17 | let options = parse_arguments args |> elaborate in - 18 | - 19 | let ppf = Format.std_formatter in - ... - 33 | options.path - 34 | options.all_paths - 35 | stubs - 36 | io - Warning 8: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - [] -> compiled beluga.1.0 -> installed beluga.1.0 Done. # Run eval $(opam env) to update the current shell environment 2022-09-02 20:54.49 ---> saved as "13938d58f05fadd4e69ba20d72c817d7882937cb967352a6306710f5ace99aa1" Job succeeded