Building on x86-bm-c9.sw.ocaml.org (from ocaml/opam:debian-unstable) Unable to find image 'ocaml/opam:debian-unstable' locally debian-unstable: Pulling from ocaml/opam 63563b31af74: Pulling fs layer 63563b31af74: Verifying Checksum 63563b31af74: Download complete 63563b31af74: Pull complete Digest: sha256:8f6038a9795a3c7cc61b90b742e29558b247d69f92f73dea67cb146602ff83f6 Status: Downloaded newer image for ocaml/opam:debian-unstable 2025-03-03 14:26.20 ---> using "0acd5aeaa8f7bc314514d9795d14a7f12ec72a6a5b11c5904350189734c6859b" from cache /: (user (uid 1000) (gid 1000)) /: (env OPAMPRECISETRACKING 1) /: (env OPAMUTF8 never) /: (env OPAMEXTERNALSOLVER builtin-0install) /: (env OPAMCRITERIA +removed) /: (env CI true) /: (env OPAM_HEALTH_CHECK_CI true) /: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam")) 2025-03-03 14:26.20 ---> using "40df4fa4cdfc68a5fa7a326047e82a7adc5df52b8059d4a7b745bdd50aad56e7" from cache /: (run (network host) (shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q ef90a2b03158d292539672d3f7cbaadbc9686e00")) 2025-03-03 14:26.20 ---> using "f8a7eaeb9f5c92be7084e0f999dd7e7e4a1eefb297e66373751e952159afda2d" from cache /: (run (shell "rm -rf ~/.opam && opam init -ya --bare --config ~/.opamrc-sandbox ~/opam-repository")) Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. <><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><> [default] Initialised User configuration: ~/.profile is already up-to-date. [NOTE] Make sure that ~/.profile is well sourced in your ~/.bashrc. 2025-03-03 14:26.20 ---> using "1ebcf8e3761a93ad88b5037369014c0e29617030bb8dd94d78d6dedd98943762" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune))) (network host) (shell "opam switch create --repositories=default '5.3' '5.3.0'")) <><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><> Switch invariant: ["ocaml-base-compiler" {= "5.3.0"} | "ocaml-system" {= "5.3.0"}] <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved ocaml-config.3 (cached) -> installed base-bigarray.base -> installed base-threads.base -> installed base-unix.base -> installed ocaml-options-vanilla.1 -> retrieved ocaml-compiler.5.3.0 (cached) -> installed ocaml-compiler.5.3.0 -> installed ocaml-base-compiler.5.3.0 -> installed ocaml-config.3 -> installed ocaml.5.3.0 -> installed base-domains.base -> installed base-effects.base -> installed base-nnp.base Done. # To update the current shell environment, run: eval $(opam env --switch=5.3) 2025-03-03 14:26.20 ---> using "f3fc5dd5dfcbe8e5493a4563bca5034ac862b7842eb9f16d453e6549334b9a79" from cache /: (run (network host) (shell "opam update --depexts")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://deb.debian.org/debian unstable InRelease [205 kB] - Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB] - Err:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index - Couldn't find the start of the patch series - Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB] - Ign:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index - Get:3 http://deb.debian.org/debian unstable/main amd64 Packages [10.1 MB] - Fetched 10.4 MB in 2s (4667 kB/s) - Reading package lists... - 2025-03-03 14:26.20 ---> using "9a78c93989d5550bb49e48632a1de75ead785056e5e8a108c010951463436220" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune))) (network host) (shell "opam pin add -k version dune $(opam show -f version dune)")) dune is now pinned to version 3.17.2 The following actions will be performed: === install 1 package - install dune 3.17.2 (pinned) <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved dune.3.17.2 (cached) -> installed dune.3.17.2 Done. # To update the current shell environment, run: eval $(opam env) 2025-03-03 14:26.20 ---> using "8c970a2b6e083fc728908364a8d3768a0f4ede73a1fdaf0ff7dd6771a2ecdd96" from cache /: (env DUNE_CACHE enabled) /: (env DUNE_CACHE_TRANSPORT direct) /: (env DUNE_CACHE_DUPLICATION copy) /: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune))) (network host) (shell "curl -fsSL https://get.dune.build/install | sh")) #=#=# ##O#-# 0.1% 1.2% ## 3.4% ######## 12.5% ################## 26.1% ################################################################## 92.1% ######################################################################## 100.0% dune x86_64-unknown-linux-musl was installed successfully to ~/.local/bin/dune To use dune you will need to source the file "$HOME/.local/share/dune/env/env.bash" (or similar as appropriate for your shell) export PATH="/home/opam/.local/bin:$PATH" To get started, run: dune --help 2025-03-03 14:26.20 ---> using "14aa2861c13f12cb4ee28b98952b1839ff48cfaf20d65aa237f68c77954270eb" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune))) (network host) (shell "sudo apt-get install -y python3-sexpdata && echo 'import sexpdata\ \nwith open(\"dune-project\", \"r\") as f:\ \n content = [i for i in sexpdata.loads(\"(\" + f.read() + \")\") if not i[0] == sexpdata.Symbol(\"package\")]\ \n print(sexpdata.dumps(content[0]))\ \n for i in content[1:]:\ \n print(sexpdata.dumps(i))' > /tmp/opam-health-check-remove-package.py")) Reading package lists... Building dependency tree... Reading state information... The following additional packages will be installed: libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types python3 python3-minimal python3.13 python3.13-minimal Suggested packages: python3-doc python3-tk python3-venv python3.13-venv python3.13-doc binfmt-support The following NEW packages will be installed: libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types python3 python3-minimal python3-sexpdata python3.13 python3.13-minimal 0 upgraded, 9 newly installed, 0 to remove and 70 not upgraded. Need to get 5893 kB of archives. After this operation, 23.1 MB of additional disk space will be used. Get:1 http://deb.debian.org/debian unstable/main amd64 libpython3.13-minimal amd64 3.13.2-1 [859 kB] Get:2 http://deb.debian.org/debian unstable/main amd64 python3.13-minimal amd64 3.13.2-1 [2205 kB] Get:3 http://deb.debian.org/debian unstable/main amd64 python3-minimal amd64 3.13.2-1 [27.1 kB] Get:4 http://deb.debian.org/debian unstable/main amd64 media-types all 12.0.0 [28.9 kB] Get:5 http://deb.debian.org/debian unstable/main amd64 libpython3.13-stdlib amd64 3.13.2-1 [1979 kB] Get:6 http://deb.debian.org/debian unstable/main amd64 python3.13 amd64 3.13.2-1 [745 kB] Get:7 http://deb.debian.org/debian unstable/main amd64 libpython3-stdlib amd64 3.13.2-1 [10.0 kB] Get:8 http://deb.debian.org/debian unstable/main amd64 python3 amd64 3.13.2-1 [28.1 kB] Get:9 http://deb.debian.org/debian unstable/main amd64 python3-sexpdata all 1.0.2-1 [9940 B] Fetched 5893 kB in 0s (79.7 MB/s) Selecting previously unselected package libpython3.13-minimal:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19826 files and directories currently installed.) Preparing to unpack .../libpython3.13-minimal_3.13.2-1_amd64.deb ... Unpacking libpython3.13-minimal:amd64 (3.13.2-1) ... Selecting previously unselected package python3.13-minimal. Preparing to unpack .../python3.13-minimal_3.13.2-1_amd64.deb ... Unpacking python3.13-minimal (3.13.2-1) ... Setting up libpython3.13-minimal:amd64 (3.13.2-1) ... Setting up python3.13-minimal (3.13.2-1) ... Selecting previously unselected package python3-minimal. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20151 files and directories currently installed.) Preparing to unpack .../python3-minimal_3.13.2-1_amd64.deb ... Unpacking python3-minimal (3.13.2-1) ... Selecting previously unselected package media-types. Preparing to unpack .../media-types_12.0.0_all.deb ... Unpacking media-types (12.0.0) ... Selecting previously unselected package libpython3.13-stdlib:amd64. Preparing to unpack .../libpython3.13-stdlib_3.13.2-1_amd64.deb ... Unpacking libpython3.13-stdlib:amd64 (3.13.2-1) ... Selecting previously unselected package python3.13. Preparing to unpack .../python3.13_3.13.2-1_amd64.deb ... Unpacking python3.13 (3.13.2-1) ... Selecting previously unselected package libpython3-stdlib:amd64. Preparing to unpack .../libpython3-stdlib_3.13.2-1_amd64.deb ... Unpacking libpython3-stdlib:amd64 (3.13.2-1) ... Setting up python3-minimal (3.13.2-1) ... Selecting previously unselected package python3. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20601 files and directories currently installed.) Preparing to unpack .../python3_3.13.2-1_amd64.deb ... Unpacking python3 (3.13.2-1) ... Selecting previously unselected package python3-sexpdata. Preparing to unpack .../python3-sexpdata_1.0.2-1_all.deb ... Unpacking python3-sexpdata (1.0.2-1) ... Setting up media-types (12.0.0) ... Setting up libpython3.13-stdlib:amd64 (3.13.2-1) ... Setting up libpython3-stdlib:amd64 (3.13.2-1) ... Setting up python3.13 (3.13.2-1) ... Setting up python3 (3.13.2-1) ... running python rtupdate hooks for python3.13... running python post-rtupdate hooks for python3.13... Setting up python3-sexpdata (1.0.2-1) ... 2025-03-03 14:26.20 ---> using "8c20028a802cbf97b7848eb86323ea18fc654d771517c3a444280a798b3cba6f" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune))) (network host) (shell "PLACE=$(mktemp -d) && cd $PLACE && echo '(lang dune 3.17)\ \n(package\ \n (name dummy)\ \n (allow_empty true)\ \n (depends (ocaml (= 5.3.0))))' > dune-project && PATH=$HOME/.local/bin:$PATH dune pkg lock && PATH=$HOME/.local/bin:$PATH dune build")) Solution for dune.lock: - ocaml.5.3.0 - ocaml-base-compiler.5.3.0 - ocaml-compiler.5.3.0 - ocaml-config.3 Downloading ocaml-compiler.5.3.0 Building ocaml-compiler.5.3.0 Building ocaml-base-compiler.5.3.0 2025-03-03 14:26.20 ---> using "ed5574b30d6a55598c49402afe63541d40e6d3df78b5f1b3d250ee114712f692" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune))) (network host) (shell "cd $HOME && opam source beluga.1.1.2 && cd beluga.1.1.2 && for opam in *.opam; do opam show --raw ${opam%.opam} > $opam; done && python3 /tmp/opam-health-check-remove-package.py > dune-project-new && mv dune-project-new dune-project && sudo apt-get remove -y python3-sexpdata && sudo apt-get autoremove -y && opam install ./ --depext-only --with-test --with-doc && echo '(lang dune 3.17)\ \n(lock_dir\ \n (repositories overlay default))\ \n\ \n(repository\ \n (name default)\ \n (url \"file:///home/opam/opam-repository\"))\ \n\ \n\ \n' > dune-workspace && PATH=$HOME/.local/bin:$PATH dune pkg lock && PATH=$HOME/.local/bin:$PATH dune build --profile=release || (echo \"opam-health-check: Build failed\" && exit 1)")) Successfully extracted to /home/opam/beluga.1.1.2 Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types python3 python3-minimal python3.13 python3.13-minimal Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: python3-sexpdata 0 upgraded, 0 newly installed, 1 to remove and 70 not upgraded. After this operation, 46.1 kB disk space will be freed. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20630 files and directories currently installed.) Removing python3-sexpdata (1.0.2-1) ... Reading package lists... Building dependency tree... Reading state information... The following packages will be REMOVED: libpython3-stdlib libpython3.13-minimal libpython3.13-stdlib media-types python3 python3-minimal python3.13 python3.13-minimal 0 upgraded, 0 newly installed, 8 to remove and 70 not upgraded. After this operation, 23.0 MB disk space will be freed. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 20622 files and directories currently installed.) Removing python3 (3.13.2-1) ... Removing libpython3-stdlib:amd64 (3.13.2-1) ... Removing python3.13 (3.13.2-1) ... Removing libpython3.13-stdlib:amd64 (3.13.2-1) ... find: '/usr/lib/python3': No such file or directory Removing python3-minimal (3.13.2-1) ... Removing python3.13-minimal (3.13.2-1) ... Unlinking and removing bytecode for runtime python3.13 Removing libpython3.13-minimal:amd64 (3.13.2-1) ... find: '/usr/lib/python3': No such file or directory Removing media-types (12.0.0) ... [ERROR] Package conflict! * No agreement on the version of ocaml-base-compiler: - (invariant) -> ocaml-base-compiler >= 5.3.0 - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-base-compiler < 5.1.2~ You can temporarily relax the switch invariant with `--update-invariant' * Incompatible packages: - (invariant) -> ocaml-base-compiler >= 5.3.0 - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> dkml-base-compiler * Incompatible packages: - (invariant) -> ocaml-base-compiler >= 5.3.0 - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants * Missing dependency: - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-base-compiler (= 3.10.0 | = 3.10.1 | = 3.10.2 | = 3.11.0 | = 3.11.1 | = 3.11.2 | = 3.12.0 | = 3.12.1 | = 4.00.0 | = 4.00.1 | = 4.01.0 | = 4.02.0 | = 4.02.1 | = 4.02.2 | = 4.02.3) -> base-ocamlbuild unknown package * Missing dependency: - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> xenbigarray unknown package * Missing dependency: - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> base-ocamlbuild unknown package * Missing dependency: - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> ocaml-beta unmet availability conditions: 'enable-ocaml-beta-repository' * Missing dependency: - beluga -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> system-msvc unmet availability conditions: 'os = "win32"' Solution for dune.lock: - angstrom.0.16.1 - astring.0.8.5 - base.v0.17.1 - base-bytes.base - base-unix.base - bigstringaf.0.10.0 - bisect_ppx.2.8.3 - camlp-streams.5.0.1 - cmdliner.1.3.0 - conf-timeout.1 - cppo.1.8.0 - csexp.1.5.2 - dune-build-info.3.17.2 - dune-configurator.3.17.2 - either.1.0.0 - extlib.1.8.0 - fix.20230505 - fpath.0.7.3 - gen.1.1 - linenoise.1.5.1 - menhir.20240715 - menhirCST.20240715 - menhirLib.20240715 - menhirSdk.20240715 - ocaml.5.1.1 - ocaml-base-compiler.5.1.1 - ocaml-compiler-libs.v0.12.4 - ocaml-config.3 - ocaml-syntax-shims.1.0.0 - ocaml-version.3.7.3 - ocaml_intrinsics_kernel.v0.17.1 - ocamlbuild.0.16.1+dune - ocamlfind.1.9.8+dune - ocamlformat.0.25.1 - ocamlformat-lib.0.25.1 - ocp-indent.1.8.1 - omd.2.0.0~alpha4 - ounit2.2.2.7 - ppx_derivers.1.2.1 - ppxlib.0.35.0 - re.1.12.0 - result.1.5 - sedlex.3.3 - seq.base - sexplib0.v0.17.0 - stdio.v0.17.0 - stdlib-shims.0.3.0 - stringext.1.6.0 - topkg.1.0.7 - uri.4.4.0 - uucp.16.0.0 - uunf.16.0.0 - uuseg.16.0.0 - uutf.1.0.3 - yojson.2.2.2 Downloading ocaml-base-compiler.5.1.1 Building ocaml-base-compiler.5.1.1 Building ocaml-config.3 Building ocaml.5.1.1 Building seq.base Downloading yojson.2.2.2 Building yojson.2.2.2 Building base-unix.base Downloading ocaml-syntax-shims.1.0.0 Building ocaml-syntax-shims.1.0.0 Downloading csexp.1.5.2 Building csexp.1.5.2 Downloading stringext.1.6.0 Building stringext.1.6.0 Downloading dune-configurator.3.17.2 Building dune-configurator.3.17.2 Downloading bigstringaf.0.10.0 Building bigstringaf.0.10.0 Downloading angstrom.0.16.1 Building angstrom.0.16.1 Downloading uri.4.4.0 Building uri.4.4.0 Downloading stdlib-shims.0.3.0 Downloading gen.1.1 Building stdlib-shims.0.3.0 Building gen.1.1 Downloading ppx_derivers.1.2.1 Downloading sexplib0.v0.17.0 Building ppx_derivers.1.2.1 Building sexplib0.v0.17.0 Downloading ocaml-compiler-libs.v0.12.4 Building ocaml-compiler-libs.v0.12.4 Downloading ppxlib.0.35.0 Building ppxlib.0.35.0 Downloading sedlex.3.3 Building sedlex.3.3 Downloading ounit2.2.2.7 Building ounit2.2.2.7 Downloading dune-build-info.3.17.2 Downloading cmdliner.1.3.0 Building cmdliner.1.3.0 Downloading ocamlfind.1.9.8+dune Building dune-build-info.3.17.2 Building ocamlfind.1.9.8+dune Downloading ocamlbuild.0.16.1+dune Building ocamlbuild.0.16.1+dune Downloading topkg.1.0.7 Building topkg.1.0.7 Downloading uutf.1.0.3 Building uutf.1.0.3 Downloading uunf.16.0.0 Building uunf.16.0.0 Downloading uucp.16.0.0 Building uucp.16.0.0 Downloading omd.2.0.0~alpha4 Building omd.2.0.0~alpha4 Building base-bytes.base Downloading astring.0.8.5 Building astring.0.8.5 Downloading uuseg.16.0.0 Downloading fix.20230505 Building uuseg.16.0.0 Building fix.20230505 Downloading menhirLib.20240715 Downloading menhirSdk.20240715 Downloading menhirCST.20240715 Building menhirLib.20240715 Building menhirSdk.20240715 Building menhirCST.20240715 Downloading result.1.5 Downloading ocaml_intrinsics_kernel.v0.17.1 Building result.1.5 Building ocaml_intrinsics_kernel.v0.17.1 Downloading re.1.12.0 Downloading ocaml-version.3.7.3 Building re.1.12.0 Building ocaml-version.3.7.3 Downloading either.1.0.0 Downloading camlp-streams.5.0.1 Building either.1.0.0 Building camlp-streams.5.0.1 Downloading ocp-indent.1.8.1 Building ocp-indent.1.8.1 Downloading base.v0.17.1 Building base.v0.17.1 Downloading menhir.20240715 Building menhir.20240715 Downloading fpath.0.7.3 Building fpath.0.7.3 Downloading stdio.v0.17.0 Building stdio.v0.17.0 Downloading ocamlformat-lib.0.25.1 Building ocamlformat-lib.0.25.1 Downloading ocamlformat.0.25.1 Building ocamlformat.0.25.1 Downloading linenoise.1.5.1 Building linenoise.1.5.1 Downloading cppo.1.8.0 Building cppo.1.8.0 Downloading extlib.1.8.0 Building extlib.1.8.0 Building conf-timeout.1 Downloading bisect_ppx.2.8.3 Building bisect_ppx.2.8.3 (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/syntax/synint/.synint.objs/byte -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I src/support/.support.objs/byte -I src/syntax/syncom/.syncom.objs/byte -no-alias-deps -o src/syntax/synint/.synint.objs/byte/synint.cmo -c -impl src/syntax/synint/synint.ml) File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60: 629 | ....function 630 | | PatNil -> PatNil 631 | | PatApp (loc, p, pS) -> 632 | PatApp (loc, strip_pattern p, strip_pattern_spine pS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -intf-suffix .ml -no-alias-deps -o src/syntax/synint/.synint.objs/native/synint.cmx -c -impl src/syntax/synint/synint.ml) File "src/syntax/synint/synint.ml", lines 629-632, characters 4-60: 629 | ....function 630 | | PatNil -> PatNil 631 | | PatApp (loc, p, pS) -> 632 | PatApp (loc, strip_pattern p, strip_pattern_spine pS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Order.cmo -c -impl src/core/order.ml) File "src/core/order.ml", lines 26-34, characters 2-23: 26 | ..function 27 | | I.Arg x -> Some [x] 28 | | I.Lex xs -> 29 | let f = 30 | function 31 | | I.Arg x -> Some x 32 | | _ -> None (* We don't support nested lexicographic orders. *) 33 | in 34 | List.traverse f xs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Simul _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Erase.cmo -c -impl src/core/erase.ml) File "src/core/erase.ml", lines 6-19, characters 2-33: 6 | ..match (tau, n) with 7 | | (_, 0) -> 0 8 | | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1) 9 | | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) -> 10 | (* We count [Inductive] as 1 instead of throwing an error because ... 16 | | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) -> 17 | 1 + numeric_order_arg tau (n - 1) 18 | | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) -> 19 | numeric_order_arg tau (n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypPiBox (_, DeclOpt _, _), 1) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Substitution.cmo -c -impl src/core/substitution.ml) File "src/core/substitution.ml", lines 105-124, characters 4-44: 105 | ....match (n, s) with 106 | | (_, Undefs) -> Undef 107 | | (1, Dot (ft, _s)) -> ft 108 | | (n, Dot (_ft, s)) -> bvarSub (n - 1) s 109 | | (n, Shift k) -> Head (BVar (n + k)) ... 121 | Free BVar (n + k) ... -bp *) 122 | Head (HClo (n + k, s, sigma)) 123 | | (n, MSVar (k, ((s, t), sigma))) -> 124 | Head (HMClo (n + k, ((s, t), sigma))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, (EmptySub|FSVar (_, _))) File "src/core/substitution.ml", lines 156-159, characters 12-73: 156 | ............function 157 | | (Last u, 1) -> u 158 | | (Cons (u, _), 1) -> u 159 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last u, 0) File "src/core/substitution.ml", lines 166-169, characters 12-73: 166 | ............function 167 | | (Last u, 1) -> u 168 | | (Cons (u, _), 1) -> u 169 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last u, 0) File "src/core/substitution.ml", lines 147-194, characters 7-10: 147 | .......begin match bvarSub n s with 148 | | Head (BVar x) -> 149 | Head (Proj (BVar x, k)) 150 | 151 | | Head (PVar _ as h) -> ... 191 | | Head (AnnH _ ) -> failwith "Found head that is AnnH" 192 | | Head (MMVar _ ) -> failwith "Found head that is MMVar" 193 | | Head _ -> failwith "Found head that is not a BVar or PVar" 194 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/substitution.ml", lines 203-206, characters 12-73: 203 | ............function 204 | | (Last u, 1) -> (u, s) 205 | | (Cons (u, _), 1) -> (u, s) 206 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last u, 0) File "src/core/substitution.ml", lines 197-210, characters 7-10: 197 | .......begin match frontSub (Head h) s with 198 | | Head h' -> 199 | Head (Proj (h', k)) 200 | 201 | | Obj (Tuple (_, tuple)) -> ... 207 | in 208 | (* Obj (Clo (nth s (tuple, k))) *) 209 | Obj (Pair.fst (nth s (tuple, k))) 210 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _) File "src/core/substitution.ml", lines 213-214, characters 7-26: 213 | .......let Head h' = frontSub (Head h) s in 214 | Head (AnnH (h', a)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undef|Obj _) File "src/core/substitution.ml", lines 138-221, characters 4-35: 138 | ....match ft with 139 | | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s)) 140 | | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s))) 141 | | Head (BVar n) -> bvarSub n s 142 | | Head (FVar _) -> ft ... 218 | | Obj u -> Obj (Clo (u, s)) 219 | | Undef -> Undef 220 | | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s)) 221 | | Head (FPVar (_n, _s' )) -> ft Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (MPVar _|FMVar _) File "src/core/substitution.ml", line 263, characters 13-60: 263 | let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/substitution.ml", lines 292-300, characters 6-33: 292 | ......match s with 293 | | EmptySub -> None 294 | | Undefs -> None 295 | | Shift _ -> None 296 | | Dot (Undef, s') -> lookup (n + 1) s' p 297 | | Dot (Head (BVar k), s') -> 298 | if k = p 299 | then Some (Head (BVar n)) 300 | else lookup (n + 1) s' p Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dot (Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), _) File "src/core/substitution.ml", lines 314-324, characters 6-37: 314 | ......match s with 315 | | EmptySub -> 316 | invert'' maxoffset Undefs 317 | | Undefs -> 318 | invert'' maxoffset Undefs ... 321 | | Dot (Head (BVar k), s') -> 322 | invert' (n + 1) s' (max k maxoffset) 323 | | Dot (_, s') -> (* Is this really necessary? -ac *) 324 | invert' (n + 1) s' maxoffset Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/substitution.ml", lines 335-350, characters 4-65: 335 | ....match (s, cPsi) with 336 | | (Shift _ (* 0 *), Null) -> 337 | Null 338 | | (Shift _, CtxVar psi) -> 339 | CtxVar psi ... 347 | | (Dot (Undef, t), DDec (cPsi, _)) -> 348 | strengthen t cPsi 349 | | (Shift n, cPsi) -> 350 | strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dot (Head (BVar _k), t), (Null|CtxVar _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Context.cmo -c -impl src/core/context.ml) File "src/core/context.ml", lines 90-104, characters 4-24: 90 | ....function 91 | | (DDec (_, TypDecl (x, tA')), 1) -> 92 | TypDecl (x, TClo (tA', Shift k)) 93 | 94 | | (DDec (cPsi', TypDecl _), k') -> ... 101 | ctxDec' (cPsi', k'-1) 102 | 103 | | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) -> 104 | ctxDec' (cPsi, k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxVar (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)), _) File "src/core/context.ml", lines 124-134, characters 4-24: 124 | ....function 125 | | (DDec (_, TypDecl (x, Sigma tArec)), 1) -> 126 | TypDecl (x, Sigma (sigmaShift tArec (Shift k))) 127 | 128 | | (DDec (cPsi', TypDecl (_, Sigma _)), k') -> ... 131 | | (DDec (cPsi', TypDecl _), k') -> 132 | ctxDec' (cPsi', k' - 1) 133 | | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) -> 134 | ctxDec' (cPhi, k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (DDec (cPsi', TypDeclOpt _), _) File "src/core/context.ml", lines 361-364, characters 2-49: 361 | ..match (cPsi, k) with 362 | | (DDec (_, TypDecl (x, _)), 1) -> x 363 | | (DDec (_, TypDeclOpt x), 1) -> x 364 | | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Null|CtxVar _), _) File "src/core/context.ml", lines 367-371, characters 2-27: 367 | ..match (cD, k) with 368 | | (Dec (_, Decl { name = u; _ }), 1) -> u 369 | | (Dec (_, DeclOpt { name = u; _ }), 1) -> u 370 | | (Dec (cD, _), k) -> 371 | getNameMCtx cD (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Empty, _) File "src/core/context.ml", lines 374-377, characters 2-45: 374 | ..match (cG, k) with 375 | | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x 376 | | (Dec (_, Comp.CTypDeclOpt x), 1) -> x 377 | | (Dec (cG, _), k) -> getNameCtx cG (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Empty, _) File "src/core/context.ml", lines 401-403, characters 4-58: 401 | ....function 402 | | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl) 403 | | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Null File "src/core/context.ml", lines 409-411, characters 4-58: 409 | ....function 410 | | CtxVar ctx_var -> Null 411 | | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Null File "src/core/context.ml", lines 436-439, characters 2-28: 436 | ..match (cD, psi_offset) with 437 | | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema 438 | | (Dec (cD, _) , i) -> 439 | lookupSchema cD (i - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Empty, _) File "src/core/context.ml", lines 446-453, characters 7-10: 446 | .......begin match cvar with 447 | | CtxName phi when Name.(psi = phi) -> (psi, schemaName) 448 | | CtxName _ -> lookup cD (offset + 1) 449 | | CtxOffset n -> 450 | if n - offset = 1 451 | then (psi, schemaName) 452 | else lookup cD (offset + 1) 453 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CInst _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__ConvSigma.cmo -c -impl src/core/convSigma.ml) File "src/core/convSigma.ml", lines 20-22, characters 2-54: 20 | ..match (conv_list, k) with 21 | | (d :: conv_list', 1) -> d 22 | | (d :: conv_list', _) -> d + map conv_list' (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ([], _) File "src/core/convSigma.ml", lines 44-52, characters 2-21: 44 | ..match tM with 45 | | LF.Lam (loc, x, tN) -> 46 | let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in 47 | LF.Lam (loc, x, tN') 48 | | LF.Root (loc, h, tS, plicity) -> 49 | let h' = strans_head loc cD cPsi h conv_list in 50 | let tS' = strans_spine cD cPsi (tS, s) conv_list in 51 | LF.Root (loc, h', tS', plicity) 52 | | LF.LFHole _ -> tM Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _|Tuple (_, _)) File "src/core/convSigma.ml", lines 55-101, characters 2-8: 55 | ..match h with 56 | | LF.BVar x -> LF.BVar (map conv_list x) 57 | 58 | | LF.MVar (LF.Offset u, sigma) -> 59 | LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list) ... 98 | LF.BVar x' 99 | with 100 | | _ -> LF.Proj (LF.BVar x, j) 101 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Proj ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| HClo (_, _, _)|HMClo (_, _)), _) File "src/core/convSigma.ml", lines 112-118, characters 2-26: 112 | ..match mf with 113 | | LF.ClObj (phat, LF.MObj tM) -> 114 | LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list )) 115 | | LF.ClObj (phat, LF.PObj h) -> 116 | LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list)) 117 | | LF.MV u -> LF.MV u 118 | | LF.MUndef -> LF.MUndef Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/convSigma.ml", lines 121-123, characters 2-55: 121 | ..function 122 | | (0, xs) -> n 123 | | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, []) File "src/core/convSigma.ml", lines 163-170, characters 2-59: 163 | ..match tA with 164 | | LF.Atom (loc, a, tS ) -> 165 | LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list ) 166 | 167 | | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) -> 168 | let tA' = strans_typ cD cPsi (tA, s) conv_list in 169 | let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in 170 | LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/convSigma.ml", lines 384-432, characters 2-24: 384 | ..match Whnf.whnfTyp sA with 385 | | LF.Sigma tRec as tA, s -> 386 | (* FIXME: this doesn't do any strengthening !! -je *) 387 | let tH = 388 | mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s) ... 429 | let tN = 430 | etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names) 431 | in 432 | LF.Lam (loc, x, tN) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Subord.cmo -c -impl src/core/subord.ml) File "src/core/subord.ml", lines 98-101, characters 7-43: 98 | .......function 99 | | Atom _ -> [tA] 100 | | PiTyp ((TypDecl (_, tA1), _, _), tA2) -> 101 | extract_neg tA1 @ extract_pos tA2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/subord.ml", lines 103-106, characters 7-43: 103 | .......function 104 | | Atom _ -> [] 105 | | PiTyp ((TypDecl (_, tA1), _, _), tA2) -> 106 | extract_pos tA1 @ extract_neg tA2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/subord.ml", lines 85-112, characters 2-47: 85 | ..match tA with 86 | | Atom (_, a, _) -> 87 | Store.Cid.Typ.freeze a; 88 | if List.exists 89 | begin fun type_in_basis -> ... 109 | If we keep this, then we might not strengthen enough... -bp*) 110 | List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1) 111 | @ relevant tA2 basis 112 | | Sigma typRec -> relevantTypRec typRec basis Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/subord.ml", lines 159-161, characters 9-71: 159 | .........match psi with 160 | | CtxOffset _ -> Context.lookupCtxVarSchema cD psi 161 | | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CInst ({typ=CTyp None; _ }, _) File "src/core/subord.ml", lines 155-187, characters 4-10: 155 | ....match cPsi with 156 | | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *) 157 | | CtxVar psi -> 158 | let schema = 159 | match psi with ... 184 | (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA' where tA = [thin_s]([thin_s_inv]tA) *) 185 | let thin_s_inv = Substitution.LF.invert thin_s in 186 | (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv)))) 187 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/subord.ml", line 189, characters 8-45: 189 | inner (match tP with Atom (_, a, _) -> [a]) cPsi ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)) File "src/core/subord.ml", lines 215-216, characters 16-21: 215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in 216 | s_cid Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=CTyp None; _ }) File "src/core/subord.ml", lines 205-238, characters 4-10: 205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with 206 | | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *) 207 | | CtxVar psi -> 208 | begin 209 | try ... 235 | (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA' where tA = [thin_s]([thin_s_inv]tA) *) 236 | let thin_s_inv = Substitution.LF.invert thin_s in 237 | (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv)))) 238 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/subord.ml", lines 249-251, characters 11-24: 249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in 250 | p.fmt "[thin'] CtxName psi = %a FOUND" 251 | Name.pp psi Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=ClTyp (_, _); _ }) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Ctxsub.cmo -c -impl src/core/ctxsub.ml) File "src/core/ctxsub.ml", lines 46-65, characters 2-36: 46 | ..match sA' with 47 | | (PiTyp ((decl, _, _), tA'), s') -> 48 | let (tM , sAmv) = 49 | lowerMVar 50 | (DDec (cPsi, Substitution.LF.decSub decl s')) ... 62 | , Nil 63 | , Plicity.explicit 64 | ) , 65 | ClTyp(MTyp (TClo sA') , cPsi)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _, _) File "src/core/ctxsub.ml", lines 88-158, characters 2-89: 88 | ..function 89 | | Null -> 90 | (* Substitution.LF.id --changed 2010-07-26*) 91 | (cD, ctxShift psi, 0) 92 | ... 155 | 156 | | DDec (_, TypDecl _) -> 157 | (* For the moment, assume tA atomic. *) 158 | Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (_, TypDeclOpt _) File "src/core/ctxsub.ml", lines 174-216, characters 2-11: 174 | ..function 175 | | Null -> 176 | (* Substitution.LF.id --changed 2010-07-26*) 177 | ctxShift cPhi 178 | ... 213 | (* dprint (fun () -> "shifted = " ^ subToString shifted);*) 214 | let result = Dot (front, s) in 215 | dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result); 216 | result Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi', TypDeclOpt _) File "src/core/ctxsub.ml", lines 250-255, characters 2-59: 250 | ..function 251 | | Empty -> MShift (Context.length cD0) 252 | | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) -> 253 | let t = mctxToMMSub cD0 cD' in 254 | let mtyp' = Whnf.cnormMTyp (mtyp, t) in 255 | MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/ctxsub.ml", lines 261-263, characters 2-35: 261 | ..function 262 | | t when n <= 0 -> t 263 | | MDot (_, t') -> drop (n - 1) t' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MShift _ (However, some guarded clause may match this value.) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Store.cmo -c -impl src/core/store.ml) File "src/core/store.ml", lines 212-217, characters 6-45: 212 | ......function 213 | | Int.LF.Atom(_, b, _) -> 214 | List.iter (fun a -> addSubord a b) acc ; [b] 215 | 216 | | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) -> 217 | inspect (acc @ (inspect [] tA1)) tA2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/store.ml", lines 222-226, characters 6-56: 222 | ......function 223 | | Int.LF.Typ -> 224 | List.iter (fun a -> addSubord a cid_tp) acc 225 | | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) -> 226 | inspectKind cid_tp (acc @ (inspect [] tA1)) tK2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Whnf.cmo -c -impl src/core/whnf.ml) File "src/core/whnf.ml", lines 36-39, characters 2-73: 36 | ..match cPsi with 37 | | Null -> tA 38 | | DDec (cPsi', decl) -> 39 | raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar _ File "src/core/whnf.ml", lines 133-148, characters 2-64: 133 | ..match sA' with 134 | | (PiTyp ((decl, _, _), tA'), s') -> 135 | let (u', tM) = 136 | lowerMVar' 137 | (DDec (cPsi, LF.decSub decl s')) ... 145 | 146 | | (Atom (loc, a, tS), s') -> 147 | let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in 148 | (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity)).................... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _, _) File "src/core/whnf.ml", lines 152-162, characters 2-25: 152 | ..match (u, sA) with 153 | | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ } 154 | , (PiTyp _, _) 155 | ) -> 156 | let (u', tM) = lowerMVar' cPsi sA plicity inductivity in ... 159 | 160 | | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s') 161 | 162 | | (_, (Atom _, _)) -> u Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Inst {typ=ClTyp (_, _); _ }, (Sigma _, _)) File "src/core/whnf.ml", lines 319-329, characters 4-31: 319 | ....match s with 320 | | MShift _ -> None 321 | | MDot (MUndef, t') -> lookup (n + 1) t' p 322 | 323 | | MDot (MV k, t') ... 326 | | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') -> 327 | if k = p 328 | then Some n 329 | else lookup (n + 1) t' p Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MDot (CObj (CtxVar (CtxName _|CInst _)), _) File "src/core/whnf.ml", lines 385-387, characters 7-59: 385 | .......match normHead (h, sigma) with 386 | | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity) 387 | | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 404-407, characters 5-8: 404 | .....begin match normMMVar mmt with 405 | | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma)))) 406 | | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma) 407 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 409-413, characters 5-8: 409 | .....begin match normMMVar mmt with 410 | (* The order in which we normalize mm, n, s, and sigma seems to matter..*) 411 | | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma))) 412 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) 413 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 415-419, characters 5-8: 415 | .....begin match normMMVar mmt with 416 | | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma))) 417 | | Result (IHead h) -> normFt' (normHead (h, s), sigma) 418 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) 419 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (ISub _|ICtx _) File "src/core/whnf.ml", lines 422-425, characters 5-8: 422 | .....begin match normMMVar (mm, MShift 0) with 423 | | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma))) 424 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) 425 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 449-451, characters 2-32: 449 | ..match ft with 450 | | Head h -> normHead (h, s) 451 | | Obj tM -> Obj (norm (tM, s)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 454-457, characters 2-37: 454 | ..match tM with 455 | | INorm n -> INorm (cnorm (n, mt)) 456 | | IHead h -> IHead (cnormHead (h, mt)) 457 | | ISub s -> ISub (cnormSub (s, mt)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ICtx _ File "src/core/whnf.ml", lines 463-466, characters 5-8: 463 | .....begin match normHead (h, s) with 464 | | Obj tM -> MObj tM 465 | | Head h' -> PObj h' 466 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 470-473, characters 2-64: 470 | ..match normFt' (ft, LF.id) with 471 | | Head h -> Head (Proj (h, i)) 472 | | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i)) 473 | | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 476-479, characters 2-50: 476 | ..function 477 | | (Last tM, 1) -> tM 478 | | (Cons (tM, _), 1) -> tM 479 | | (Cons (_, rest), k) -> reduceTuple (rest, k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last tM, 0) File "src/core/whnf.ml", lines 507-521, characters 2-17: 507 | ..function 508 | | (LFHole (l, _, _), _) -> 509 | raise (InvalidLFHole l) 510 | 511 | | (Root (loc, h, sp, plicity), spine) -> ... 518 | Lam (loc, n, tM') 519 | 520 | | (Clo sM, tS) -> 521 | reduce sM tS Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _), SClo _) File "src/core/whnf.ml", lines 524-526, characters 2-54: 524 | ..function 525 | | (Nil, s) -> s 526 | | (App (tN, tS), s) -> App (tN, appendSpine (tS, s)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (SClo _, _) File "src/core/whnf.ml", lines 537-543, characters 5-8: 537 | .....begin match mmvar.instantiation.contents with 538 | | Some (ISub s) -> 539 | let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in 540 | LF.comp (Shift n) s0 541 | | None -> 542 | MSVar (n, ((mmvar, mt), normSub s')) 543 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 562-573, characters 2-37: 562 | ..match tA with 563 | | Atom (loc, a, tS) -> 564 | Atom (loc, a, normSpine (tS, sigma)) 565 | 566 | | PiTyp ((TypDecl _ as decl, depend, plicity), tB) -> ... 570 | normTyp (tA, LF.comp s sigma) 571 | 572 | | Sigma recA -> 573 | Sigma (normTypRec (recA, sigma)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/whnf.ml", lines 620-629, characters 5-8: 620 | .....begin match !u with 621 | | None -> 622 | (Some (CInst (mmvar, mcomp theta t)), k) 623 | | Some (ICtx cPsi) -> 624 | (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *) 625 | begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with 626 | | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *) 627 | | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *) 628 | end 629 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 631-641, characters 5-8: 631 | .....begin match LF.applyMSub offset t with 632 | | CObj cPsi -> 633 | begin match Context.dctxToHat cPsi with 634 | | (None, i) -> (None, k + i) 635 | | (Some cvar', i) -> (Some cvar', k + i) ... 638 | | ClObj _ -> 639 | Error.raise_violation 640 | (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset) 641 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MUndef File "src/core/whnf.ml", lines 656-659, characters 5-8: 656 | .....begin match LF.applyMSub k t with 657 | | MV k' -> Head (MVar (Offset k', s')) 658 | | ClObj (_, MObj tM) -> Obj (norm (tM, s')) 659 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, (PObj _|SObj _)) File "src/core/whnf.ml", lines 662-666, characters 5-8: 662 | .....begin match LF.applyMSub k t with 663 | | MV k' -> Head (PVar (k', s')) 664 | | ClObj (_, PObj h) -> normHead (h, s') 665 | | ClObj (_, MObj tM) -> Obj (norm (tM, s')) 666 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/whnf.ml", lines 669-672, characters 5-8: 669 | .....begin match LF.applyMSub sv t with 670 | | MV sv' -> Head (HClo (k, sv', s')) 671 | | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s') 672 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, (MObj _|PObj _)) File "src/core/whnf.ml", lines 674-677, characters 5-8: 674 | .....begin match normMMVar mmt with 675 | | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t))) 676 | | Result (INorm n) -> Obj (cnorm (norm (n, s), t)) 677 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 679-684, characters 5-8: 679 | .....begin match normMMVar mmt with 680 | | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t))) 681 | | Result (IHead h) -> cnormFt' (normHead (h, s), t) 682 | | Result (INorm n) -> 683 | Obj (cnorm (norm (n, s), t)) 684 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (ISub _|ICtx _) File "src/core/whnf.ml", lines 686-689, characters 5-8: 686 | .....begin match normMMVar mmt with 687 | | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))) 688 | | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t) 689 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 691-694, characters 5-8: 691 | .....begin match normMMVar (mm, MShift 0) with 692 | | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t))) 693 | | Result (INorm n) -> Obj (norm (n, s)) 694 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 698-700, characters 2-38: 698 | ..function 699 | | (Head h, t) -> cnormHead' (h, t) 700 | | (Obj tM, t) -> Obj (cnorm (tM, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undef, _) File "src/core/whnf.ml", lines 713-721, characters 5-8: 713 | .....begin match cnormHead' (head, t) with 714 | | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity) 715 | | Obj tM -> 716 | (* in this ends up evaluating to a Root, we want to keep the 717 | plicity that we had here *) 718 | map_plicity 719 | (fun _ -> plicity) 720 | (reduce (tM, LF.id) (cnormSpine (tS, t))) 721 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 728-729, characters 2-17: 728 | ..match cnormHead' (h, t) with 729 | | Head h' -> h' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undef|Obj _) File "src/core/whnf.ml", lines 752-758, characters 5-8: 752 | .....begin match LF.applyMSub offset t with 753 | | MV offset' -> SVar (offset', n, cnormSub (s', t)) 754 | | ClObj (_, SObj r) -> 755 | LF.comp (LF.comp (Shift n) r) (cnormSub (s', t)) 756 | | ClObj _ -> 757 | Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj" 758 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|CObj _) File "src/core/whnf.ml", lines 764-775, characters 5-56: 764 | .....match mmvar.instantiation.contents with 765 | | Some (ISub s) -> 766 | dprintf 767 | begin fun p -> 768 | p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]" ... 772 | let s0' = LF.comp (Shift n) s0 in 773 | cnormSub (s0', t) 774 | | None -> 775 | MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 793-803, characters 2-34: 793 | ..match tA with 794 | | Atom (loc, a, tS) -> 795 | Atom (loc, a, cnormSpine (tS, t)) 796 | 797 | | PiTyp ((TypDecl _ as decl, depend, plicity), tB) -> ... 800 | | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t)) 801 | 802 | | Sigma recA -> 803 | Sigma (cnormTypRec (recA, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/whnf.ml", lines 832-837, characters 5-8: 832 | .....begin match !u with 833 | | None -> 834 | CtxVar (CInst (mmvar, mcomp theta t)) 835 | | Some (ICtx cPhi) -> 836 | cnormDCtx (cPhi, mcomp theta t) 837 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 840-843, characters 5-8: 840 | .....begin match LF.applyMSub psi t with 841 | | CObj cPsi' -> normDCtx cPsi' 842 | | MV k -> CtxVar (CtxOffset k) 843 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|ClObj (_, _)) File "src/core/whnf.ml", lines 886-889, characters 5-8: 886 | .....begin match mmvar.instantiation.contents with 887 | | None -> cPsi 888 | | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta)) 889 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 960-973, characters 8-11: 960 | ........begin match h' with 961 | | BVar i -> 962 | begin match LF.bvarSub i (LF.comp r sigma) with 963 | | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma)) 964 | | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id) ... 970 | let h' = PVar (p, LF.comp (LF.comp s r) sigma) in 971 | whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id) 972 | | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id) 973 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _| HClo (_, _, _)|HMClo (_, _)) File "src/core/whnf.ml", lines 956-979, characters 5-8: 956 | .....begin match u with 957 | (* MPVar instantiation must be a head *) 958 | | Some (IHead h) -> 959 | let h' = cnormHead (h, t) in 960 | begin match h' with ... 976 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in 977 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in 978 | (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) 979 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|ISub _|ICtx _) File "src/core/whnf.ml", lines 954-979, characters 5-8: 954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in 955 | let u = mmvar.instantiation.contents in 956 | begin match u with 957 | (* MPVar instantiation must be a head *) 958 | | Some (IHead h) -> ... 976 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in 977 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in 978 | (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) 979 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 995-1011, characters 8-11: 995 | ........begin match whnfTyp (tA, LF.id) with 996 | | (Atom (loc', a, tS'), _ (* id *)) -> 997 | (* meta-variable is of atomic type; tS = Nil *) 998 | let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in 999 | (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) ... 1008 | (* let _ = lowerMMVar cD u in 1009 | whnf (tM, sigma) *) 1010 | Error.raise_violation "Meta^2-variable needs to be of atomic type" 1011 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Sigma _|TClo _), _) File "src/core/whnf.ml", lines 985-1012, characters 5-8: 985 | .....begin match u with 986 | (* MMVar instantiation must be normal *) 987 | | Some (INorm tM) -> 988 | (* constraints associated with u must be in solved form *) 989 | let tM' = cnorm (tM, t) in ... 1009 | whnf (tM, sigma) *) 1010 | Error.raise_violation "Meta^2-variable needs to be of atomic type" 1011 | end 1012 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 983-1012, characters 5-8: 983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in 984 | let u = mmvar.instantiation.contents in 985 | begin match u with 986 | (* MMVar instantiation must be normal *) 987 | | Some (INorm tM) -> ... 1009 | whnf (tM, sigma) *) 1010 | Error.raise_violation "Meta^2-variable needs to be of atomic type" 1011 | end 1012 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 1041-1053, characters 8-11: 1041 | ........begin match whnfTyp (tA, LF.id) with 1042 | | (Atom (loc', a, tS'), _ (* id *)) -> 1043 | (* meta-variable is of atomic type; tS = Nil *) 1044 | let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in 1045 | (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id) ... 1050 | *) 1051 | ignore (lowerMVar cvar); 1052 | whnf (tM, sigma) 1053 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Sigma _|TClo _), _) File "src/core/whnf.ml", lines 1036-1053, characters 8-11: 1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in 1037 | (* note: we could split this case based on tA; 1038 | * this would avoid possibly building closures with id 1039 | *) 1040 | let r' = normSub r in ... 1050 | *) 1051 | ignore (lowerMVar cvar); 1052 | whnf (tM, sigma) 1053 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 1023-1054, characters 5-8: 1023 | .....begin match u with 1024 | | Some (INorm tM) -> 1025 | (* constraints associated with u must be in solved form *) 1026 | let r' = normSub r in 1027 | let tM' = ... 1051 | ignore (lowerMVar cvar); 1052 | whnf (tM, sigma) 1053 | end 1054 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 1073-1082, characters 5-8: 1073 | .....begin match LF.bvarSub i sigma with 1074 | | Head (BVar j) -> 1075 | ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity) 1076 | , LF.id 1077 | ) 1078 | | Head (PVar (q, s)) -> 1079 | ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity) 1080 | , LF.id 1081 | ) 1082 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/whnf.ml", lines 1098-1109, characters 11-14: 1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with 1099 | | Head (BVar x) -> 1100 | ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity) 1101 | , LF.id 1102 | ) ... 1106 | ) 1107 | | Undef -> 1108 | Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i) 1109 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Obj _ File "src/core/whnf.ml", lines 1096-1118, characters 8-11: 1096 | ........begin match cnormHead (h, t) with 1097 | | BVar i -> 1098 | begin match LF.bvarSub i (LF.comp r sigma) with 1099 | | Head (BVar x) -> 1100 | ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity) ... 1115 | | MPVar ((q, t'), r') -> 1116 | let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in 1117 | (Root (loc, h', SClo (tS, sigma), plicity), LF.id) 1118 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _| HClo (_, _, _)|HMClo (_, _)) File "src/core/whnf.ml", lines 1120-1127, characters 8-9: 1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in 1121 | (* constraints associated with q must be in solved form *) 1122 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in 1123 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in 1124 | let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in 1125 | ( Root (loc, h', SClo (tS, sigma), plicity) 1126 | , LF.id 1127 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 1093-1128, characters 5-8: 1093 | .....begin match mmvar.instantiation.contents with 1094 | | Some (IHead h) -> 1095 | (* constraints associated with q must be in solved form *) 1096 | begin match cnormHead (h, t) with 1097 | | BVar i -> ... 1125 | ( Root (loc, h', SClo (tS, sigma), plicity) 1126 | , LF.id 1127 | ) 1128 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|ISub _|ICtx _) File "src/core/whnf.ml", lines 1143-1157, characters 2-39: 1143 | ..function 1144 | | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l) 1145 | | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1) 1146 | 1147 | | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) -> ... 1154 | whnfRedex (sM, (tS, LF.comp s2' s2)) 1155 | 1156 | | ((Clo (tM, s), s1), sS) -> 1157 | whnfRedex ((tM, LF.comp s s1), sS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Root (_, _, _, _), _), (App (_, _), _)) File "src/core/whnf.ml", lines 1180-1191, characters 2-15: 1180 | ..function 1181 | | [] -> true 1182 | | ({ contents = Queued _ } :: cnstrs) -> 1183 | constraints_solved cnstrs 1184 | | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) -> ... 1188 | | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) -> 1189 | if convHead (h1, LF.id) (h2, LF.id) 1190 | then constraints_solved cnstrs 1191 | else false Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: {contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_ File "src/core/whnf.ml", lines 1283-1288, characters 2-71: 1283 | ..match (spine1, spine2) with 1284 | | ((Nil, _), (Nil, _)) -> true 1285 | | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) -> 1286 | conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2) 1287 | | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s') 1288 | | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Nil, _), (App (_, _), _)) File "src/core/whnf.ml", lines 1457-1465, characters 2-32: 1457 | ..match (cPsi, cPsi') with 1458 | | (_, Empty) -> true 1459 | | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) -> 1460 | if convTyp (tA, LF.id) (tB, LF.id) 1461 | then convSubsetCtx cPsi1 cPsi2 1462 | else 1463 | (* keep tBs around and check that tA is a subordinate of tB, 1464 | i.e. anything in tA cannot influence tB *) 1465 | convSubsetCtx cPsi1 cPsi' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _)) File "src/core/whnf.ml", lines 1591-1593, characters 4-76: 1591 | ....match mO with 1592 | | CObj cPsi -> CObj (normDCtx cPsi) 1593 | | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|MV _) File "src/core/whnf.ml", lines 1604-1624, characters 2-49: 1604 | ..function 1605 | | Comp.TypBase (loc, c, mS) -> 1606 | Comp.TypBase (loc, c, normMetaSpine mS) 1607 | | Comp.TypCobase (loc, c, mS) -> 1608 | Comp.TypCobase (loc, c, normMetaSpine mS) ... 1621 | Comp.TypPiBox 1622 | (loc, (Decl { d with typ = typ' }), tau') 1623 | 1624 | | Comp.TypInd tau -> Comp.TypInd (normCTyp tau) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypPiBox (loc, DeclOpt _, _) File "src/core/whnf.ml", lines 1640-1643, characters 2-30: 1640 | ..match cdecl with 1641 | | Decl d -> 1642 | let typ' = cnormMTyp (d.typ, t) in 1643 | Decl { d with typ = typ' } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/whnf.ml", lines 1646-1670, characters 2-60: 1646 | ..function 1647 | | (Comp.TypBase (loc, a, mS), t) -> 1648 | let mS' = cnormMetaSpine (mS, t) in 1649 | Comp.TypBase (loc, a, mS') 1650 | | (Comp.TypCobase (loc, a, mS), t) -> ... 1667 | | (Comp.TypClo (tT, t'), t) -> 1668 | cnormCTyp (tT, mcomp t' t) 1669 | 1670 | | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _), _) File "src/core/whnf.ml", lines 1673-1675, characters 2-47: 1673 | ..match cdecl with 1674 | | Comp.CTypDecl(n, typ, wf_t) -> 1675 | Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 1691-1707, characters 2-70: 1691 | ..function 1692 | | (Comp.TypBase (loc, c, mS), t) -> 1693 | let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in 1694 | (Comp.TypBase (loc, c, mS'), m_id) 1695 | | (Comp.TypCobase (loc, c, mS), t) -> ... 1704 | 1705 | | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t) 1706 | 1707 | | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _), _) File "src/core/whnf.ml", lines 1902-1905, characters 2-74: 1902 | ..match cG with 1903 | | Empty -> Empty 1904 | | Dec (cG, Comp.CTypDecl (x, tau, flag)) -> 1905 | Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/whnf.ml", lines 1928-1930, characters 2-62: 1928 | ..function 1929 | | Comp.CTypDecl (x, tau, flag) -> 1930 | Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 1957-1962, characters 2-41: 1957 | ..match cD with 1958 | | Empty -> Empty 1959 | | Dec (cD, Decl d) -> 1960 | let typ' = normMTyp d.typ in 1961 | let cD' = normMCtx cD in 1962 | Dec (cD', Decl { d with typ = typ' }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD, DeclOpt _) File "src/core/whnf.ml", lines 1990-1993, characters 2-60: 1990 | ..match (tM1, tM2) with 1991 | | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id) 1992 | | (ISub s1, ISub s2) -> convSub s1 s2 1993 | | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (INorm n1, (IHead _|ISub _|ICtx _)) File "src/core/whnf.ml", lines 1998-2004, characters 2-25: 1998 | ..match (mS, mS') with 1999 | | (Comp.MetaNil, Comp.MetaNil) -> true 2000 | | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) -> 2001 | convMetaObj mO mO' 2002 | && convMetaTyp mT mT' 2003 | && convMetaSpine mS mS' 2004 | && Plicity.(p1 = p2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaNil, MetaApp (_, _, _, _)) File "src/core/whnf.ml", lines 2071-2075, characters 2-42: 2071 | ..match (d1, d2) with 2072 | | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2) 2073 | | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) -> 2074 | Name.(x1 = x2) && Stdlib.(=) w1 w2 2075 | && convCTyp (tau1, m_id) (tau2, m_id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CTypDeclOpt x1, CTypDecl (_, _, _)) File "src/core/whnf.ml", lines 2095-2105, characters 2-8: 2095 | ..match sA with 2096 | | (Atom (loc, _, _) as tP, s) -> 2097 | let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in 2098 | Root (loc, MVar (u, s'), Nil, plicity) 2099 | ... 2102 | ( Name.location x 2103 | , x 2104 | , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity 2105 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/whnf.ml", lines 2120-2130, characters 2-8: 2120 | ..match sA with 2121 | | (Atom _ as tP, s) -> 2122 | let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in 2123 | Root (loc, MMVar ((u, m_id), s'), Nil, plicity) 2124 | ... 2127 | ( loc 2128 | , x 2129 | , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity 2130 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/whnf.ml", lines 2135-2141, characters 2-42: 2135 | ..match tM with 2136 | | Lam (_, _, tM) -> closed (tM, LF.dot1 s) 2137 | | Root (_, h, tS, _) -> 2138 | closedHead h 2139 | && closedSpine (tS, s) 2140 | | LFHole _ -> false 2141 | | Tuple (_, tup) -> closedTuple (tup, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Clo _ File "src/core/whnf.ml", lines 2166-2174, characters 2-28: 2166 | ..function 2167 | | EmptySub -> true 2168 | | Undefs -> true 2169 | | SVar (_, _, sigma) -> closedSub sigma 2170 | | Shift _ -> true 2171 | | Dot (ft, s) -> closedFront ft && closedSub s 2172 | | MSVar (_, ((v, t), s)) -> 2173 | (* the case for MMVar doesn't also check the substitution -je *) 2174 | is_mmvar_instantiated v..................... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: FSVar (_, _) File "src/core/whnf.ml", lines 2185-2190, characters 2-40: 2185 | ..match tA with 2186 | | Atom (_, _, tS) -> closedSpine (tS, s) 2187 | | PiTyp ((t_dec, _, _), tA) -> 2188 | closedDecl (t_dec, s) 2189 | && closedTyp (tA, LF.dot1 s) 2190 | | Sigma recA -> closedTypRec (recA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/whnf.ml", lines 2208-2211, characters 5-8: 2208 | .....begin match mmvar.instantiation.contents with 2209 | | None -> false 2210 | | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta)) 2211 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 2241-2244, characters 2-56: 2241 | ..function 2242 | | CObj cPsi -> closedDCtx cPsi 2243 | | ClObj (phat, t) -> 2244 | closedDCtx (Context.hatToDCtx phat) && closedMObj t Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|MV _) File "src/core/whnf.ml", lines 2255-2264, characters 2-37: 2255 | ..function 2256 | | Comp.TypBase (_, _, mS) -> closedMetaSpine mS 2257 | | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS 2258 | | Comp.TypBox (_, cT) -> closedMetaTyp cT 2259 | | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2 2260 | | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs 2261 | | Comp.TypPiBox (_, ctyp_decl, cT) -> 2262 | closedCTyp cT && closedDecl ctyp_decl 2263 | | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *) 2264 | | Comp.TypInd tau -> closedCTyp tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDef (_, _, _) File "src/core/whnf.ml", lines 2406-2407, characters 37-34: 2406 | .....................................(Comp.CTypDecl (_, tau2, _)) = 2407 | convCTyp (tau1, t1) (tau2, t2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 2406-2407, characters 8-34: 2406 | ........(Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) = 2407 | convCTyp (tau1, t1) (tau2, t2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 2412-2413, characters 32-23: 2412 | ................................(Decl { typ = cU2; _ }) = 2413 | convMetaTyp cU1 cU2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/whnf.ml", lines 2412-2413, characters 8-23: 2412 | ........(Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) = 2413 | convMetaTyp cU1 cU2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/whnf.ml", lines 2418-2420, characters 2-93: 2418 | ..function 2419 | | (Atom _, _) as sA -> (cPsi, whnfTyp sA) 2420 | | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Sigma _|TClo _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Prettyint.cmo -c -impl src/core/prettyint.ml) File "src/core/prettyint.ml", lines 237-294, characters 4-39: 237 | ....function 238 | | LF.Atom (_, a, LF.Nil) -> 239 | fprintf ppf "%s" 240 | (R.render_cid_typ a) 241 | ... 291 | | LF.TClo (typ, s) -> 292 | fprintf ppf "TClo(%a,@ %a)" 293 | (fmt_ppr_lf_typ cD cPsi lvl) typ 294 | (fmt_ppr_lf_sub cD cPsi lvl) s Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/prettyint.ml", lines 434-545, characters 6-51: 434 | ......function 435 | | LF.HClo (h, s, sigma) -> 436 | fprintf ppf "%s[%a[%a]]" 437 | (R.render_bvar cPsi h) 438 | (fmt_ppr_lf_offset cD) s ... 542 | (r_paren_if (paren s)) 543 | 544 | | LF.Proj (head, k) -> 545 | fmt_head_with ("." ^ string_of_int k) head Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: AnnH (_, _) File "src/core/prettyint.ml", lines 769-771, characters 7-52: 769 | .......match LF.(v.typ) with 770 | | LF.ClTyp (_, cPsi) -> 771 | fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/prettyint.ml", lines 785-794, characters 7-10: 785 | .......begin match !g with 786 | | None -> 787 | fprintf ppf "?%a[%a]" 788 | Name.pp LF.(v.name) 789 | (fmt_ppr_lf_msub cD 0) theta 790 | 791 | | Some (LF.ICtx cPsi) -> 792 | fprintf ppf "%a" 793 | (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta)) 794 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/prettyint.ml", lines 878-890, characters 4-38: 878 | ....function 879 | | LF.Null -> () 880 | 881 | | LF.DDec (LF.Null, LF.TypDecl (x, tA)) -> 882 | fprintf ppf "%a : %a" (* formerly "., %s : %a" -jd 2010-06-03 *) ... 887 | fprintf ppf "%a, %a : %a" 888 | (ppr_typ_decl_dctx cD) cPsi 889 | Name.pp x 890 | (fmt_ppr_lf_typ cD cPsi 0) tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/prettyint.ml", lines 974-1006, characters 4-26: 974 | ....function 975 | | LF.Typ -> 976 | fprintf ppf "type" 977 | 978 | | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) -> ... 1003 | (l_paren_if cond) 1004 | (fmt_ppr_lf_typ LF.Empty cPsi 1) a 1005 | (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k 1006 | (r_paren_if cond) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) File "src/core/prettyint.ml", lines 1097-1109, characters 4-40: 1097 | ....function 1098 | | LF.Queued id -> 1099 | fprintf ppf "@[QUEUED %d@]" id 1100 | | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) -> 1101 | fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]" ... 1106 | fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]" 1107 | id 1108 | (fmt_ppr_lf_head cD cPsi l0) h1 1109 | (fmt_ppr_lf_head cD cPsi l0) h2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _)) File "src/core/prettyint.ml", lines 1147-1228, characters 4-39: 1147 | ....function 1148 | | Comp.TypBase (_, c, mS)-> 1149 | let cond = lvl > 10 in 1150 | fprintf ppf "%s@[<2>%s@[%a@]@]%s" 1151 | (l_paren_if cond) ... 1225 | fprintf ppf "@[%a@]*" 1226 | (fmt_ppr_cmp_typ cD 10) tau 1227 | else 1228 | fmt_ppr_cmp_typ cD lvl ppf tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDef (_, _, _) File "src/core/prettyint.ml", lines 1236-1241, characters 4-48: 1236 | ....function 1237 | | Comp.PatNil -> fprintf ppf "" 1238 | | Comp.PatApp (_, pat, pat_spine) -> 1239 | fprintf ppf "@[%a@]@ @[%a@]" 1240 | (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat 1241 | (fmt_ppr_pat_spine cD cG lvl) pat_spine Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) File "src/core/prettyint.ml", lines 1245-1248, characters 6-65: 1245 | ......match (ms, n) with 1246 | | (_, 0) -> ms 1247 | | (Comp.PatNil, _) -> ms 1248 | | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatObs (_, _, _, _), 1) File "src/core/prettyint.ml", lines 1507-1550, characters 4-26: 1507 | ....function 1508 | | Comp.FunValue _ -> fprintf ppf " fn " 1509 | | Comp.ThmValue _ -> fprintf ppf " rec " 1510 | | Comp.MLamValue _ -> fprintf ppf " mlam " 1511 | | Comp.CtxValue _ -> fprintf ppf " mlam " ... 1547 | fprintf ppf "%s%s%a%s" 1548 | (l_paren_if cond) 1549 | (R.render_cid_comp_const c) print_spine pat_spine 1550 | (r_paren_if cond) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: FnValue (_, _, _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Apxnorm.cmo -c -impl src/core/apxnorm.ml) File "src/core/apxnorm.ml", lines 44-49, characters 2-33: 44 | ..function 45 | | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m') 46 | | Apx.LF.Root (loc, h , spine) -> 47 | let h' = shiftApxHead k h in 48 | let spine' = shiftApxSpine k spine in 49 | Apx.LF.Root(loc, h', spine') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)) File "src/core/apxnorm.ml", lines 70-80, characters 2-35: 70 | ..function 71 | | Apx.LF.EmptySub -> Apx.LF.EmptySub 72 | | Apx.LF.Id -> Apx.LF.Id 73 | | Apx.LF.Dot (Apx.LF.Head h, s) -> 74 | let h' = shiftApxHead k h in ... 77 | | Apx.LF.Dot (Apx.LF.Obj m, s) -> 78 | let m' = shiftApxTerm k m in 79 | let s' = shiftApxSub k s in 80 | Apx.LF.Dot (Apx.LF.Obj m', s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (SVar (_, _)|FSVar (_, _)) File "src/core/apxnorm.ml", lines 126-128, characters 4-49: 126 | ....match (l_delta, t) with 127 | | (0, t) -> t 128 | | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, MShift _) File "src/core/apxnorm.ml", lines 134-151, characters 6-36: 134 | ......match Substitution.LF.applyMSub offset t with 135 | | Int.LF.MV u -> Apx.LF.Offset u 136 | | Int.LF.ClObj (_, clobj) -> 137 | let (u, mtyp) = Whnf.mctxLookup cD offset' in 138 | dprintf ... 148 | end; 149 | let t' = drop t l_delta in 150 | let mtyp' = Whnf.cnormMTyp (mtyp, t')in 151 | Apx.LF.MInst (clobj, mtyp') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|CObj _) File "src/core/apxnorm.ml", lines 267-276, characters 7-10: 267 | .......begin match Substitution.LF.applyMSub offset t with 268 | | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) -> 269 | Apx.LF.CtxVar (Apx.LF.CtxOffset psi0) 270 | | Int.LF.CObj Int.LF.Null -> 271 | Apx.LF.Null 272 | | Int.LF.CObj (Int.LF.DDec _) -> 273 | raise (Error (loc, CtxOverGeneral)) 274 | (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *) 275 | | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset') 276 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CObj (CtxVar (CtxName _|CInst _)) File "src/core/apxnorm.ml", lines 288-355, characters 2-27: 288 | ..match e with 289 | | Apx.Comp.Fn (loc, f, e) -> 290 | Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt) 291 | | Apx.Comp.Fun (loc, fbr) -> 292 | Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt) ... 352 | 353 | | Apx.Comp.Var _ 354 | | Apx.Comp.DataConst _ 355 | | Apx.Comp.Const _ -> e Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ann (_, _, _) File "src/core/apxnorm.ml", lines 388-392, characters 4-63: 388 | ....function 389 | | Apx.LF.Empty -> cD'' 390 | | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) -> 391 | let cD1'' = append_mctx cD'' delta2' in 392 | Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (delta2', DeclOpt _) File "src/core/apxnorm.ml", lines 421-431, characters 2-27: 421 | ..function 422 | | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m' 423 | 424 | | Apx.LF.Root (_, h, s) -> 425 | let fMVs' = collectApxHead fMVs h in ... 428 | | Apx.LF.Tuple (_, tuple) -> 429 | collectApxTuple fMVs tuple 430 | 431 | | Apx.LF.LFHole _ -> fMVs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ann (_, _, _) File "src/core/apxnorm.ml", lines 502-503, characters 27-22: 502 | ...........................(Apx.LF.TypDecl (_, a))= 503 | collectApxTyp fMVs a Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/apxnorm.ml", lines 530-538, characters 2-44: 530 | ..function 531 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _) 532 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) -> 533 | let fMVs' = collectApxDCtx fMVs c_psi in 534 | collectApxTyp fMVs' a 535 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) -> 536 | let fMVs' = collectApxDCtx fMVs c_psi in 537 | collectApxDCtx fMVs' c_phi 538 | | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/apxnorm.ml", lines 556-563, characters 2-31: 556 | ..function 557 | | Apx.LF.Atom (loc, c, tS) -> 558 | collectApxSpine fMVd tS 559 | | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) -> 560 | let fMVd1 = collectApxTyp fMVd tA in 561 | collectApxTyp fMVd1 tB 562 | | Apx.LF.Sigma trec -> 563 | collectApxTypRec fMVd trec Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/apxnorm.ml", lines 573-581, characters 2-45: 573 | ..function 574 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) -> 575 | let fMVd1 = collectApxDCtx fMVd cPsi in 576 | collectApxDCtx fMVd1 cPhi 577 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _) 578 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) -> 579 | let fMVd1 = collectApxDCtx fMVd cPsi in 580 | collectApxTyp fMVd1 tA 581 | | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/apxnorm.ml", lines 584-603, characters 2-32: 584 | ..function 585 | | Apx.Comp.TypArr (_, tau1, tau2) -> 586 | let fMVd1 = collectApxCompTyp fMVd tau1 in 587 | collectApxCompTyp fMVd1 tau2 588 | | Apx.Comp.TypCross (_, taus) -> ... 600 | let fMVd1 = collectApxDCtx fMVd cPsi in 601 | collectApxDCtx fMVd1 cPhi 602 | | Apx.Comp.TypBase (_loc, _c, mS) -> 603 | collectApxMetaSpine fMVd mS Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypBox (_, (_, CTyp _)) File "src/core/apxnorm.ml", lines 606-618, characters 2-32: 606 | ..function 607 | | Apx.Comp.PatMetaObj (loc, mO) -> 608 | collectApxMetaObj fMVd mO 609 | | Apx.Comp.PatConst (loc, c, pat_spine) -> 610 | collectApxPatSpine fMVd pat_spine ... 615 | |> List.fold_left collectApxPattern fMVd 616 | | Apx.Comp.PatAnn (loc, pat, tau) -> 617 | let fMVd1 = collectApxCompTyp fMVd tau in 618 | collectApxPattern fMVd1 pat Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatFVar (_, _) File "src/core/apxnorm.ml", lines 836-886, characters 2-33: 836 | ..function 837 | | Apx.Comp.Fn (loc, f, e) -> 838 | Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e) 839 | 840 | | Apx.Comp.Fun (loc, fbr) -> ... 883 | 884 | | Apx.Comp.Var _ 885 | | Apx.Comp.DataConst _ 886 | | Apx.Comp.Const _ as i -> i Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ann (_, _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Abstract.cmo -c -impl src/core/abstract.ml) File "src/core/abstract.ml", lines 253-257, characters 4-47: 253 | ....function 254 | | I.Atom _ -> (k, tS) 255 | | I.PiTyp (_, tA') -> 256 | let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in 257 | etaExpSpine (k + 1) (I.App (tN, tS)) tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/abstract.ml", lines 260-263, characters 4-49: 260 | ....match tA with 261 | | I.Atom _ -> tM 262 | | I.PiTyp ((I.TypDecl (x, _), _, _), tA') -> 263 | I.Lam (loc, x, etaExpPrefix loc (tM, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/abstract.ml", lines 267-269, characters 4-19: 267 | ....match h with 268 | | I.BVar x -> I.BVar (x + k - 1) 269 | | I.FVar _ -> h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/abstract.ml", lines 317-332, characters 2-17: 317 | ..function 318 | | I.Empty -> I.Empty 319 | 320 | | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) -> 321 | begin match raiseType cPsi tA with ... 329 | I.Dec (ctxToCtx cQ', I.TypDecl (x, tA)) 330 | 331 | | I.Dec (cQ', FDecl (_, Impure)) -> 332 | ctxToCtx cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _)))) File "src/core/abstract.ml", lines 336-355, characters 2-20: 336 | ..function 337 | | I.Empty -> I.Empty 338 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) -> 339 | let plicity' = f plicity in 340 | let cQ'' = ctxToMCtx f cQ' in ... 352 | | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))-> 353 | Error.raise_violation "Free variables in computation-level reconstruction." 354 | | I.Dec (cQ', FDecl (_, Impure)) -> 355 | ctxToMCtx f cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV (_, _), Pure (LFTyp _))) File "src/core/abstract.ml", lines 358-365, characters 2-76: 358 | ..function 359 | | I.Empty -> I.Empty 360 | | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) -> 361 | let cQ'' = mctxToCtx cQ' in 362 | I.Dec (cQ'', CtxV (x, w, plicity, inductivity)) 363 | | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) -> 364 | let cQ'' = mctxToCtx cQ' in 365 | I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cQ', DeclOpt _) File "src/core/abstract.ml", lines 368-384, characters 2-32: 368 | ..function 369 | | I.Empty -> I.Empty 370 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) -> 371 | let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in 372 | I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive }) ... 381 | I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity }) 382 | 383 | | I.Dec (cQ', FDecl (_, Impure)) -> 384 | ctxToMCtx_pattern names cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (FV _, Pure (LFTyp _))) File "src/core/abstract.ml", lines 409-421, characters 2-35: 409 | ..function 410 | | (I.Lam (loc, x, tM), s) -> 411 | let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in 412 | (cQ', I.Lam (loc, x, tM')) 413 | | (I.Tuple (loc, tuple), s) -> ... 418 | let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in 419 | (cQ'', I.Root (loc, h', tS', plicity)) 420 | | (I.LFHole (loc, id, name), s) -> 421 | (cQ, I.LFHole (loc, id, name)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _, _) File "src/core/abstract.ml", lines 481-485, characters 7-49: 481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in 482 | let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in 483 | if !pat_flag 484 | then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive) 485 | else MetaTyp (mtyp', plicity, inductivity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, DeclOpt _) File "src/core/abstract.ml", lines 512-517, characters 10-11: 512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) = 513 | addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity)) 514 | in 515 | ( cQ' 516 | , I.{ v with typ; plicity; inductivity } 517 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cQ', LFTyp _) File "src/core/abstract.ml", lines 615-652, characters 2-26: 615 | ..function 616 | | (I.BVar _ as head, _) 617 | | (I.Const _ as head, _) -> (cQ, head) 618 | 619 | | (I.FVar name, _) -> ... 649 | 650 | | (I.Proj (head, j), s) -> 651 | let (cQ', h') = collectHead k cQ phat loc (head, s) in 652 | (cQ', I.Proj (h', j)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _) File "src/core/abstract.ml", lines 656-671, characters 2-27: 656 | ..function 657 | | (I.Atom (loc, a, tS), s) -> 658 | let (cQ', tS') = collectSpine p cQ phat (tS, s) in 659 | (cQ', I.Atom (loc, a, tS')) 660 | ... 668 | 669 | | (I.Sigma typRec, s) -> 670 | let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in 671 | (cQ', I.Sigma typRec') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 686-691, characters 2-66: 686 | ..function 687 | | (I.Typ, _) -> (cQ, I.Typ) 688 | | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) -> 689 | let (cQ', tA') = collectTyp p cQ phat (tA, s) in 690 | let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in 691 | (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 759-761, characters 22-38: 759 | ......................(I.Decl d) = 760 | let (cQ', mtyp') = collectMTyp p cQ d.typ in 761 | (cQ', I.Decl { d with typ = mtyp' }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/abstract.ml", lines 784-790, characters 2-8: 784 | ..function 785 | | (I.Typ, _) -> I.Typ 786 | | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) -> 787 | I.PiKind 788 | ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity) 789 | , abstractKind cQ (offset + 1) (tK, LF.dot1 s) 790 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 795-803, characters 2-8: 795 | ..function 796 | | (I.Atom (loc, a, tS), s (* id *)) -> 797 | I.Atom (loc, a, abstractSpine cQ offset (tS, s)) 798 | 799 | | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) -> 800 | I.PiTyp 801 | ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity) 802 | , abstractTyp cQ (offset + 1) (tB, LF.dot1 s) 803 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 818-843, characters 2-8: 818 | ..function 819 | | (I.Lam (loc, x, tM), s) -> 820 | I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s)) 821 | 822 | | ( I.(Root ... 840 | , abstractHead cQ offset tH 841 | , abstractSpine cQ offset (tS, s) 842 | , plicity 843 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _) File "src/core/abstract.ml", lines 846-851, characters 2-59: 846 | ..function 847 | | I.BVar _ as tH -> tH 848 | | I.Const _ as tH -> tH 849 | | I.FVar n -> I.BVar (index_of cQ (FV n) + offset) 850 | | I.AnnH _ -> 851 | Error.raise_not_implemented "[abstractHead] AnnH case" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)| HMClo (_, _)) File "src/core/abstract.ml", lines 855-869, characters 2-85: 855 | ..match (s, cPsi) with 856 | | (I.Shift _, I.Null) -> tS 857 | | (I.Shift k, I.DDec _) -> 858 | subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS 859 | ... 866 | (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *) 867 | 868 | | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) -> 869 | subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Shift _, CtxVar _) File "src/core/abstract.ml", lines 880-894, characters 2-48: 880 | ..function 881 | | I.Empty -> I.Empty 882 | | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ 883 | | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) -> 884 | let cQ' = abstractCtx cQ in ... 891 | | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) -> 892 | let cQ' = abstractCtx cQ in 893 | let tA' = abstractTyp cQ 0 (tA, LF.id) in 894 | I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA'))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _)))) File "src/core/abstract.ml", lines 900-906, characters 2-39: 900 | ..match cPsi with 901 | | I.Null -> I.Null 902 | | I.CtxVar psi -> cPsi 903 | | I.DDec (cPsi, I.TypDecl (x, tA)) -> 904 | let cPsi' = abstractDctx cQ cPsi (l - 1) in 905 | let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in 906 | I.DDec (cPsi', I.TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/abstract.ml", lines 930-940, characters 2-20: 930 | ..function 931 | | (I.Atom (loc, a, tS), s (* id *)) -> 932 | I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s)) 933 | | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) -> 934 | I.PiTyp ... 937 | ) 938 | | (I.Sigma typRec, s) -> 939 | let typRec' = abstractMVarTypRec cQ offset (typRec, s) in 940 | I.Sigma typRec' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 954-962, characters 2-29: 954 | ..function 955 | | (I.Lam (loc, x, tM), s) -> 956 | I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s)) 957 | | (I.Tuple (loc, tuple), s) -> 958 | I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s)) 959 | | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) -> 960 | I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity) 961 | | (I.LFHole (loc, id, name), s) -> 962 | I.LFHole (loc, id, name) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _, _) File "src/core/abstract.ml", lines 1000-1036, characters 2-46: 1000 | ..function 1001 | | I.BVar _ as mH -> mH 1002 | | I.Const _ as mH -> mH 1003 | 1004 | | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns) ... 1033 | Error.raise_not_implemented "[abstractMVarHead] AnnH case" 1034 | 1035 | | I.Proj (head, k) -> 1036 | I.Proj (abstractMVarHead cQ loff head, k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (FVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/abstract.ml", lines 1091-1097, characters 2-39: 1091 | ..function 1092 | | I.Null -> I.Null 1093 | | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv) 1094 | | I.DDec (cPsi, I.TypDecl (x, tA)) -> 1095 | let cPsi' = abstractMVarDctx cQ loff cPsi in 1096 | let tA' = abstractMVarTyp cQ loff (tA, LF.id) in 1097 | I.DDec (cPsi', I.TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/abstract.ml", lines 1110-1112, characters 30-31: 1110 | ..............................(I.Decl d) = 1111 | let mtyp' = abstractMVarMTyp cQ d.typ loff in 1112 | I.Decl { d with typ = mtyp' } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/abstract.ml", lines 1121-1138, characters 2-58: 1121 | ..match cQ with 1122 | | I.Empty -> I.Empty 1123 | | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) -> 1124 | let cQ' = abstractMVarCtx cQ (l - 1) in 1125 | I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity)))) ... 1135 | * is it ever hit on correct code? -jd 2009-02-12 1136 | * No. This case should not occur in correct code - bp 1137 | *) 1138 | raise (Error (Name.location name, UnknownIdentifier)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV _, Pure (LFTyp _))) File "src/core/abstract.ml", lines 1150-1154, characters 2-20: 1150 | ..function 1151 | | I.ClObj (phat, tM) -> 1152 | I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM) 1153 | | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi) 1154 | | I.MV k -> I.MV k Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MUndef File "src/core/abstract.ml", lines 1167-1179, characters 4-21: 1167 | ....function 1168 | | I.Empty -> I.Empty 1169 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) -> 1170 | let cQ'' = ctxToMCtx' cQ' in 1171 | I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity }) ... 1176 | let cQ'' = ctxToMCtx' cQ' in 1177 | I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity }) 1178 | | I.Dec (cQ', FDecl (_, Impure)) -> 1179 | ctxToMCtx' cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (FV _, Pure (LFTyp _))) File "src/core/abstract.ml", lines 1208-1217, characters 2-8: 1208 | ..match cQ with 1209 | | Int.LF.Empty -> (tA', 0) 1210 | | Int.LF.Dec (_, FDecl (s, _)) -> 1211 | let cQ' = abstractCtx cQ in 1212 | let tA2 = abstractTyp cQ' 0 (tA', LF.id) in 1213 | let cPsi = ctxToCtx cQ' in 1214 | begin match raiseType' cPsi tA2 with 1215 | | (None, tA3) -> (tA3, length' cPsi) 1216 | | _ -> raise (Error (Location.ghost, LeftoverVars)) 1217 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, CtxV _) File "src/core/abstract.ml", lines 1246-1287, characters 2-28: 1246 | ..function 1247 | | Comp.TypBase (loc, a, ms) -> 1248 | let (cQ', ms') = collect_meta_spine p cQ ms in 1249 | (cQ', Comp.TypBase (loc, a, ms')) 1250 | | Comp.TypCobase (loc, a, ms) -> ... 1284 | 1285 | | Comp.TypInd tau -> 1286 | let (cQ', tau') = collectCompTyp p cQ tau in 1287 | (cQ', Comp.TypInd tau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDef (_, _, _) File "src/core/abstract.ml", lines 1291-1296, characters 2-54: 1291 | ..function 1292 | | I.Empty -> (cQ, I.Empty) 1293 | | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) -> 1294 | let (cQ1, cG') = collectGctx cQ cG in 1295 | let (cQ2, tau') = collectCompTyp 0 cQ1 tau in 1296 | (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/abstract.ml", lines 1463-1489, characters 2-52: 1463 | ..function 1464 | | Comp.TypBase (loc, a, cS) -> 1465 | let cS' = abstractMVarMetaSpine cQ offset cS in 1466 | Comp.TypBase (loc, a, cS') 1467 | | Comp.TypCobase (loc, a, cS) -> ... 1486 | ) 1487 | 1488 | | Comp.TypInd tau -> 1489 | Comp.TypInd (abstractMVarCompTyp cQ offset tau) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _)|TypClo (_, _)) File "src/core/abstract.ml", lines 1492-1497, characters 2-47: 1492 | ..function 1493 | | I.Empty -> I.Empty 1494 | | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) -> 1495 | let cG' = abstractMVarGctx cQ offset cG in 1496 | let tau' = abstractMVarCompTyp cQ offset tau in 1497 | I.Dec (cG', Comp.CTypDecl (x, tau', flag)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/abstract.ml", lines 1698-1700, characters 4-48: 1698 | ....match (p, cD) with 1699 | | (0, _) -> cD 1700 | | (_, I.Dec (cD', decl)) -> drop (p - 1) cD' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, Empty) File "src/core/abstract.ml", lines 1722-1724, characters 8-24: 1722 | ........let I.Dec (cD1', decl) = cD1 in 1723 | let cD = subtract cD1' cD2 in 1724 | I.Dec (cD, decl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/abstract.ml", lines 1785-1789, characters 2-24: 1785 | ..function 1786 | | I.Null -> cPsi1 1787 | | I.DDec (cPsi2', dec) -> 1788 | let cPsi1' = appDCtx cPsi1 cPsi2' in 1789 | I.Dec (cPsi1', dec) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Unify.cmo -c -impl src/core/unify.ml) File "src/core/unify.ml", lines 163-195, characters 30-70: 163 | ..............................(Atom (_, a, _) as tP, s) = 164 | dprintf 165 | begin fun p -> 166 | p.fmt "@[<v 6>[genMMVarstr] of type @[%a@]@,in context cPsi = @[%a@]@]" 167 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tP, s)) ... 192 | cPsi |- s_proj : cPhi 193 | cPsi |- comp ss' s_proj : cPhi' *) 194 | let ss_proj = Substitution.LF.comp ss' s_proj in 195 | Root (loc, MMVar ((u, Whnf.m_id), ss_proj), Nil, Plicity.explicit) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _) File "src/core/unify.ml", lines 575-585, characters 6-9: 575 | ......begin match applyMSub k ms with 576 | | MUndef -> 577 | (* Psi1, x:tA |- s' <= Psi2 *) 578 | (Whnf.mcomp mt' (MShift 1), cD2) 579 | ... 582 | A = [mt']([mt']^-1 A) and cPsi = [mt']([mt']^-1 cPsi *) 583 | let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in 584 | (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity })) 585 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 566-590, characters 4-38: 566 | ....match (t, cD1) with 567 | | (MShift _, Empty) -> (Whnf.m_id, Empty) 568 | 569 | | (MShift k, Dec _) -> 570 | pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms ... 587 | | (MDot (MUndef, mt), Dec (cD1, _)) -> 588 | let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in 589 | (* cD1 |- mt' <= cD2 *) 590 | (Whnf.mcomp mt' (MShift 1), cD2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MDot (MV k, mt), Dec (cD1, DeclOpt _)) File "src/core/unify.ml", lines 810-819, characters 7-10: 810 | .......begin match applyMSub u ms with 811 | | MV v -> 812 | Root 813 | ( loc 814 | , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur) 815 | , Nil 816 | , plicity 817 | ) 818 | | MUndef -> raise NotInvertible 819 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 822-830, characters 7-46: 822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in 823 | let d = Context.length cD0 - Context.length cD_d in 824 | let cPsi1 = 825 | if d = 0 826 | then cPsi1 827 | else Whnf.cnormDCtx (cPsi1, MShift d) 828 | in 829 | let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in 830 | Root (loc, FMVar (u, s'), Nil, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=CTyp _; _ }) File "src/core/unify.ml", lines 833-841, characters 7-46: 833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in 834 | let d = Context.length cD0 - Context.length cD_d in 835 | let cPsi1 = 836 | if d = 0 837 | then cPsi1 838 | else Whnf.cnormDCtx (cPsi1, MShift d) 839 | in 840 | let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in 841 | Root (loc, FPVar (p, s'), Nil, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=CTyp _; _ }) File "src/core/unify.ml", lines 846-850, characters 7-10: 846 | .......begin match applyMSub p ms with 847 | | MV q -> 848 | Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity) 849 | | MUndef -> raise NotInvertible 850 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 747-862, characters 4-62: 747 | ....match sM with 748 | | (Lam (loc, x, tM), s) -> 749 | Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur)) 750 | 751 | | (Root (loc, MVar (Inst u, t), tS, plicity), s) -> ... 859 | ) 860 | 861 | | (Tuple (loc, trec), s) -> 862 | Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((LFHole (_, _, _)|Clo _), _) File "src/core/unify.ml", lines 888-891, characters 7-10: 888 | .......begin match bvarSub k ssubst with 889 | | Undef -> raise NotInvertible 890 | | Head (BVar k') -> BVar k' 891 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 894-897, characters 7-10: 894 | .......begin match bvarSub k ssubst with 895 | | Head (BVar _ as head) -> head 896 | | Undef -> raise NotInvertible 897 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 932-936, characters 7-10: 932 | .......begin match applyMSub u ms with 933 | | MV v -> 934 | MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur) 935 | | MUndef -> raise NotInvertible 936 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 940-944, characters 7-10: 940 | .......begin match applyMSub p ms with 941 | | MV q -> 942 | PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur) 943 | | MUndef -> raise NotInvertible 944 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 948-952, characters 7-10: 948 | .......begin match applyMSub p ms with 949 | | MV q -> 950 | Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i) 951 | | MUndef -> raise NotInvertible 952 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 886-952, characters 4-10: 886 | ....match head with 887 | | BVar k -> 888 | begin match bvarSub k ssubst with 889 | | Undef -> raise NotInvertible 890 | | Head (BVar k') -> BVar k' ... 949 | | MV q -> 950 | Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i) 951 | | MUndef -> raise NotInvertible 952 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Proj ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)), _) File "src/core/unify.ml", lines 956-959, characters 4-46: 956 | ....function 957 | | Undefs -> raise (Failure "Variable dependency") 958 | | Shift k -> Shift (n + k) 959 | | Dot (ft, ss') -> shiftInvSub (n - 1) ss' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/unify.ml", lines 981-985, characters 9-40: 981 | .........match applyMSub s ms with 982 | | MV v -> 983 | let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in 984 | (v, cPhi, cPsi') 985 | | MUndef -> raise NotInvertible Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1024-1030, characters 7-10: 1024 | .......begin match applyMSub s ms with 1025 | | MV v -> 1026 | let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in 1027 | (* applyMSub to ctx_offset ? *) 1028 | SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur) 1029 | | MUndef -> raise NotInvertible 1030 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1033-1034, characters 7-64: 1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in 1034 | FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=ClTyp (STyp (Ren, _), _); _ }) File "src/core/unify.ml", lines 1063-1069, characters 4-74: 1063 | ....match (mt, cD1) with 1064 | | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms) 1065 | | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) -> 1066 | let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in 1067 | MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur) 1068 | | (MDot (mobj, mt'), Dec (cD', _)) -> 1069 | MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MDot (mobj, mt'), Empty) File "src/core/unify.ml", lines 1072-1080, characters 4-90: 1072 | ....match mobj with 1073 | | MV n -> 1074 | begin match applyMSub n ms with 1075 | | MUndef -> raise NotInvertible 1076 | | ft -> ft 1077 | end 1078 | | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur))) 1079 | | CObj cPsi -> Error.raise_violation "Not implemented" 1080 | | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/unify.ml", lines 1152-1154, characters 7-80: 1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *) 1153 | let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in 1154 | Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Shift 1 File "src/core/unify.ml", lines 1124-1154, characters 4-80: 1124 | ....match sM with 1125 | | (LFHole _ as n, _) -> n 1126 | | (Lam (loc, x, tM), s) -> 1127 | dprintf 1128 | begin fun p -> ... 1151 | | (Root (loc, head, tS, plicity), s) -> 1152 | let Shift 0 = s in (* Assert s is supposed to be the identity *) 1153 | let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in 1154 | Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _, _) File "src/core/unify.ml", lines 1173-1184, characters 4-9: 1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in 1174 | if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur 1175 | then raise (Failure "Variable occurrence") 1176 | else 1177 | begin ... 1181 | instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents; 1182 | let (mr, r) = comp2 (comp2 id2 mtt) ss in 1183 | ((v, mr), r) 1184 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1187-1199, characters 4-37: 1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in 1188 | if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur 1189 | then raise (Failure "Variable occurrence") 1190 | else 1191 | let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in ... 1196 | , Root (loc, MVar (v, idsub), Nil, Plicity.explicit) 1197 | , mmvar.constraints.contents 1198 | ); 1199 | (v, comp (comp idsub t) ssubst) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 1202-1211, characters 3-10: 1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in 1203 | let d = Context.length cD0 - Context.length cD_d in 1204 | let cPsi1 = 1205 | if d = 0 1206 | then cPsi1 1207 | else Whnf.cnormDCtx (cPsi1, MShift d) 1208 | in 1209 | let t' = simplifySub cD0 cPsi t in 1210 | let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in 1211 | (u, s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=CTyp _; _ }) File "src/core/unify.ml", lines 1216-1219, characters 7-14: 1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in 1217 | let t' = simplifySub cD0 cPsi t in 1218 | let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in 1219 | (v, s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, CTyp _) File "src/core/unify.ml", lines 1214-1220, characters 4-63: 1214 | ....match applyMSub u ms with 1215 | | MV v -> 1216 | let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in 1217 | let t' = simplifySub cD0 cPsi t in 1218 | let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in 1219 | (v, s') 1220 | | MUndef -> raise (Failure "[Prune] Bound MVar dependency") Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1246-1254, characters 7-10: 1246 | .......begin match bvarSub k ssubst with 1247 | | Undef -> 1248 | let s = 1249 | Format.asprintf "[Prune] Bound variable dependency : head = %a" 1250 | (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head 1251 | in 1252 | raise (Failure s) 1253 | | Head (BVar _ as h') -> h' 1254 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1223-1258, characters 4-11: 1223 | ....match head with 1224 | | MMVar ((i, mt), t) -> 1225 | MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur) 1226 | | MVar (Inst i, t) -> 1227 | MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur) ... 1255 | 1256 | | Const _ 1257 | | FVar _ -> 1258 | head Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1293-1317, characters 4-57: 1293 | ....match (s, cPsi1) with 1294 | | (EmptySub, Null) -> EmptySub 1295 | | (Undefs, Null) -> EmptySub 1296 | | (Shift n, DDec _) -> 1297 | pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur ... 1314 | 1315 | | (Dot _, _) 1316 | | (EmptySub, _) 1317 | -> Error.raise_violation "Badly typed substitution" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undefs, (CtxVar _|DDec (_, _))) File "src/core/unify.ml", lines 1321-1323, characters 4-70: 1321 | ....match ft with 1322 | | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur) 1323 | | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/unify.ml", lines 1354-1357, characters 9-59: 1354 | .........function 1355 | | Undefs -> (EmptySub, Null) 1356 | | Shift k -> (id, CtxVar psi) 1357 | | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/unify.ml", lines 1370-1374, characters 9-40: 1370 | .........match applyMSub s mt with 1371 | | MV v -> 1372 | let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in 1373 | cPsi' 1374 | | MUndef -> raise NotInvertible Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1387-1390, characters 7-18: 1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in 1388 | let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in 1389 | ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur); 1390 | (id, cPsi1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|PTyp _), _) File "src/core/unify.ml", lines 1398-1400, characters 7-18: 1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in 1399 | ignore (invSub cD0 phat (sigma, cPsi') ss rOccur); 1400 | (id, cPsi1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ }) File "src/core/unify.ml", lines 1407-1426, characters 7-10: 1407 | .......begin match bvarSub n ssubst with 1408 | | Undef -> 1409 | let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in 1410 | (comp s1' shift, cPsi1') 1411 | ... 1423 | in 1424 | (* cPsi1' |- s1_i <= cPsi' *) 1425 | (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i)))) 1426 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1431-1448, characters 7-10: 1431 | .......begin match bvarSub n ssubst with 1432 | | Undef -> 1433 | let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in 1434 | (comp s1' shift, cPsi1') 1435 | ... 1445 | in 1446 | (* cPsi1' |- s1_i <= cPsi' *) 1447 | (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i)))) 1448 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1343-1471, characters 4-31: 1343 | ....match (s, cPsi1) with 1344 | | (Shift n, DDec _) -> 1345 | pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur 1346 | | (Shift _, Null) 1347 | | (EmptySub, Null) ... 1468 | 1469 | | (Dot (Undef, t), DDec (cPsi1, _)) -> 1470 | let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in 1471 | (comp s1' shift, cPsi1') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub, (CtxVar _|DDec (_, _))) File "src/core/unify.ml", lines 1474-1487, characters 4-21: 1474 | ....match sA with 1475 | | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur) 1476 | | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) -> 1477 | let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in 1478 | let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in ... 1484 | 1485 | | (Sigma typ_rec, s) -> 1486 | let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in 1487 | Sigma typ_rec' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TClo _, _) File "src/core/unify.ml", lines 1504-1507, characters 7-10: 1504 | .......begin match applyMSub psi ms with 1505 | | CObj (cPsi') -> Whnf.normDCtx cPsi' 1506 | | MV k -> CtxVar (CtxOffset k) 1507 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|ClObj (_, _)) File "src/core/unify.ml", lines 1510-1514, characters 7-10: 1510 | .......begin match mmvar.instantiation.contents with 1511 | | None -> cPsi 1512 | | Some (ICtx cPhi) -> 1513 | pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur 1514 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/unify.ml", lines 1501-1529, characters 4-37: 1501 | ....match cPsi with 1502 | | Null -> Null 1503 | | CtxVar (CtxOffset psi) -> 1504 | begin match applyMSub psi ms with 1505 | | CObj (cPsi') -> Whnf.normDCtx cPsi' ... 1526 | (ms, Substitution.LF.id) 1527 | rOccur 1528 | in 1529 | DDec (cPsi', TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/unify.ml", lines 1574-1583, characters 7-10: 1574 | .......begin match bvarSub k ssubst with 1575 | | Undef -> 1576 | (* Psi1, x:tA |- s' <= Psi2 *) 1577 | (comp s' shift, cPsi2) 1578 | 1579 | | Head (BVar _) -> 1580 | (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since 1581 | A = [s']([s']^-1 A) *) 1582 | (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s'))))) 1583 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1590-1599, characters 7-10: 1590 | .......begin match bvarSub k ssubst with 1591 | | Undef -> 1592 | (* Psi1, x:tA |- s' <= Psi2 *) 1593 | (comp s' shift, cPsi2) 1594 | 1595 | | Head (BVar _) -> 1596 | (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since 1597 | A = [s']([s']^-1 A) *) 1598 | (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s'))))) 1599 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1551-1604, characters 4-29: 1551 | ....match (t, cPsi1) with 1552 | | (EmptySub, Null) 1553 | | (Undefs, Null) 1554 | | (Shift _, Null) -> 1555 | (id, Null) ... 1601 | | (Dot (Undef, t), DDec (cPsi1, _)) -> 1602 | let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in 1603 | (* sP1 |- s' <= cPsi2 *) 1604 | (comp s' shift, cPsi2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub, (CtxVar _|DDec (_, _))) File "src/core/unify.ml", lines 1646-1651, characters 4-56: 1646 | ....match (sTup1, sTup2) with 1647 | | ((Last tM, s1), (Last tN, s2)) -> 1648 | unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2) 1649 | | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) -> 1650 | (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2); 1651 | unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Last tM, s1), (Cons (_, _), _)) File "src/core/unify.ml", lines 1654-1680, characters 4-9: 1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in 1655 | if isId t1' 1656 | then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents) 1657 | else 1658 | begin ... 1677 | (* This might actually need to add a constraint, in which case 1678 | "NotInvertible" seems the wrong kind of exception... *) 1679 | Error.raise_violation "Unification violation" 1680 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1694-1705, characters 9-35: 1694 | .........match Whnf.whnfTyp sA with 1695 | | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) -> 1696 | (* cPsi' |- Pi x:A.B <= typ 1697 | cPsi |- s <= cPsi' 1698 | cPsi |- tN <= [s]tA ... 1702 | let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in 1703 | LF.App (tN, tS) 1704 | 1705 | | (LF.Atom _, _) -> LF.Nil Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/unify.ml", lines 1683-1710, characters 4-15: 1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in 1684 | match sM2 with 1685 | | Root (loc, Const c, _, plicity) -> 1686 | let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in 1687 | dprintf ... 1707 | let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in 1708 | instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents); 1709 | Some tM1 1710 | | _ -> None Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1716-1729, characters 6-32: 1716 | ......match Whnf.whnfTyp sA with 1717 | | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) -> 1718 | (* cPsi' |- Pi x:A.B <= typ 1719 | cPsi |- s <= cPsi' 1720 | cPsi |- tN <= [s]tA ... 1726 | in 1727 | let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in 1728 | LF.App (tN, tS) 1729 | | (LF.Atom _, _) -> LF.Nil Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/unify.ml", lines 1714-1762, characters 4-15: 1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in 1715 | let rec genSpine cD1 cPsi1 sA = 1716 | match Whnf.whnfTyp sA with 1717 | | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) -> 1718 | (* cPsi' |- Pi x:A.B <= typ ... 1759 | instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents); 1760 | Some tM1 1761 | 1762 | | _ -> None Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 1766-1769, characters 4-79: 1766 | ....match tm with 1767 | | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur) 1768 | | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur) 1769 | | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ISub s, (MTyp _|PTyp _)) File "src/core/unify.ml", lines 1772-1796, characters 4-9: 1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in 1773 | if isId t1' && isMId mt1 1774 | then 1775 | begin 1776 | dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id"); ... 1793 | (* with | NotInvertible -> Error.raise_violation "Unification violation" *) 1794 | (* This might actually need to add a constraint, in which case "NotInvertible" seems 1795 | the wrong kind of exception... *) 1796 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1810-1882, characters 4-76: 1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in 1811 | let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in 1812 | (* cD |- mtt1 : cD0 and cD ; cPsi |- t1' : cPsi1 *) 1813 | let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in 1814 | let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *) ... 1879 | p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a" 1880 | (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2' 1881 | end; 1882 | instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1885-1918, characters 4-102: 1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in 1886 | let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in 1887 | (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1 1888 | then cD ; cPsi1 |- s' <= cPsi' *) 1889 | let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in ... 1915 | [|w[s']/u|](u[t1]) = [t1](w[s']) 1916 | [|w[s']/u|](u[t2]) = [t2](w[s']) 1917 | *) 1918 | instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1934-1975, characters 7-12: 1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in 1935 | dprnt "(000) MVar-MVar"; 1936 | (* by invariant of whnf: 1937 | meta-variables are lowered during whnf, s1 = s2 = id or co-id 1938 | r1 and r2 are uninstantiated (None) ... 1972 | begin 1973 | let id = next_constraint_id () in 1974 | addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM))) 1975 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 1933-1975, characters 7-12: 1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in 1934 | let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in 1935 | dprnt "(000) MVar-MVar"; 1936 | (* by invariant of whnf: 1937 | meta-variables are lowered during whnf, s1 = s2 = id or co-id ... 1972 | begin 1973 | let id = next_constraint_id () in 1974 | addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM))) 1975 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 2439-2452, characters 4-52: 2439 | ....match (spine1, spine2) with 2440 | | ((Nil, _), (Nil, _)) -> () 2441 | 2442 | | ((SClo (tS1, s1'), s1), sS) -> 2443 | unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS ... 2449 | (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^ 2450 | " == " ^ P.normalToString cD0 cPsi (tM2, s2));*) 2451 | unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2); 2452 | unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Nil, _), (App (_, _), _)) File "src/core/unify.ml", lines 2659-2710, characters 7-61: 2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in 2660 | if mmvar1.instantiation == mmvar2.instantiation 2661 | then 2662 | if Option.equal Id.cid_schema_equal schema1 schema2 2663 | then ... 2707 | Error.raise_violation 2708 | "Case where both meta-substitutions associated with \ 2709 | context variables are not pattern substitutions \ 2710 | should not happen and is not implemented for now" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CTyp schema1, ClTyp (_, _)) File "src/core/unify.ml", lines 2714-2747, characters 7-61: 2714 | .......let CTyp s_cid = mmvar.typ in 2715 | if isPatMSub theta 2716 | then 2717 | begin 2718 | let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in ... 2744 | Error.raise_violation 2745 | "Case where both meta-substitutions associated with \ 2746 | context variables are not pattern substitutions \ 2747 | should not happen and is not implemented for now" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (_, _) File "src/core/unify.ml", lines 2785-2786, characters 4-43: 2785 | ....let Decl { typ = cT; _ } = cdecl in 2786 | unifyMObj cD (mO, t) (mO', t') (cT, mt) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/unify.ml", lines 2820-2832, characters 7-53: 2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in 2821 | let mOt = Whnf.cnormMetaObj (mO, t) in 2822 | (* let mOt' = Whnf.cnormMetaObj (mO', t') in *) 2823 | unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt); 2824 | let mt' = MDot (Comp.metaObjToMFront mOt, mt) in ... 2829 | P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t')) 2830 | end; 2831 | unifyMetaTyp cD (mT, t) (mT', t'); 2832 | unifyMetaSpine cD (mS, t) (mS', t') (cK', mt') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ctype _ File "src/core/unify.ml", lines 2837-2840, characters 4-81: 2837 | ....function 2838 | | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2839 | | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2840 | | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MTyp tA1, (PTyp _|STyp (_, _))) File "src/core/unify.ml", lines 2836-2840, characters 17-81: 2836 | .................Unification cD cPsi = 2837 | function 2838 | | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2839 | | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2840 | | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Matching File "src/core/unify.ml", lines 2842-2850, characters 18-57: 2842 | ..................Unification cD ctyp1 ctyp2 = 2843 | match (ctyp1, ctyp2) with 2844 | | (ClTyp (tp1, cPsi1), ClTyp (tp2, cPsi2)) -> 2845 | unifyDCtx1 Unification cD cPsi1 cPsi2; 2846 | unifyClTyp Unification cD cPsi1 (tp1, tp2) 2847 | | (CTyp schema1, CTyp schema2) -> 2848 | if Bool.not (Option.equal Id.cid_schema_equal schema1 schema2) 2849 | then raise (Failure "CtxPi schema clash") 2850 | | _ -> raise (Failure "Computation-level Type Clash") Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Matching File "src/core/unify.ml", lines 2938-2941, characters 4-62: 2938 | ....match (itM1, itM2) with 2939 | | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id) 2940 | | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2 2941 | | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (INorm tM1, (IHead _|ISub _|ICtx _)) File "src/core/unify.ml", lines 2950-2962, characters 7-10: 2950 | .......begin match !cnstr with 2951 | | Queued id -> 2952 | forceCnstr mflag (nextCnstr ()) 2953 | | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) -> 2954 | solveConstraint cnstr; ... 2959 | solveConstraint cnstr; 2960 | unifyHead mflag cD cPsi h1 h2; 2961 | forceCnstr mflag (nextCnstr ()) 2962 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _)) File "src/core/unify.ml", lines 2994-3029, characters 7-100: 2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in 2995 | solveConstraint c; 2996 | dprintf 2997 | begin fun p -> 2998 | p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\ ... 3026 | *) 3027 | if solvedCnstrs (!globalCnstrs) 3028 | then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs) 3029 | else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated")) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Queued _ File "src/core/unify.ml", lines 3202-3204, characters 8-68: 3202 | ........match (m1, m2) with 3203 | | (MObj tM1, MObj tM2) -> unify Empty cPsi (tM1, id) (tM2,id) 3204 | | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MObj tM1, (PObj _|SObj _)) File "src/core/unify.ml", lines 3208-3217, characters 4-49: 3208 | ....match (m1, m2) with 3209 | | (CObj cPsi, CObj cPhi) -> 3210 | unifyDCtx1 3211 | Unification 3212 | Empty 3213 | (Whnf.cnormDCtx (cPsi, Whnf.m_id)) 3214 | (Whnf.cnormDCtx (cPhi, Whnf.m_id)) 3215 | | (ClObj (phat1, m1), ClObj (phat2, m2)) -> 3216 | (* unify_phat phat1 phat2; *) 3217 | unifyClObj (Context.hatToDCtx phat1) m1 m2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CObj cPsi, (MUndef|ClObj (_, _)|MV _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Interactive.cmo -c -impl src/core/interactive.ml) File "src/core/interactive.ml", lines 202-213, characters 10-26: 202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in 203 | let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in 204 | let k = List.length cD_tail in 205 | let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in 206 | let cg' = ... 210 | , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id) 211 | ) 212 | in 213 | (cD'', cg', ms0) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/interactive.ml", lines 183-214, characters 18-13: 183 | ..................(LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail = 184 | match mtyp with 185 | | LF.CTyp _ -> 186 | Cover.genContextGoals cD' (n, mtyp, plicity, inductivity) 187 | |> List.map ... 211 | ) 212 | in 213 | (cD'', cg', ms0) 214 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Opsem.cmo -c -impl src/core/opsem.ml) File "src/core/opsem.ml", lines 80-83, characters 2-30: 80 | ..match cM' with 81 | | LF.ClObj (phat, LF.MObj tM) -> (loc, cM') 82 | | LF.ClObj (phat, LF.PObj h) -> (loc, cM') 83 | | LF.CObj cPsi -> (loc, cM') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/opsem.ml", lines 121-137, characters 7-17: 121 | .......function 122 | | Comp.NilValBranch -> FunBranch Comp.NilValBranch 123 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br) 124 | when Id.cid_comp_dest_equal cid cid' -> 125 | Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *) ... 134 | | Value v -> Value v 135 | end 136 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) -> 137 | trim br Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _) File "src/core/opsem.ml", lines 119-142, characters 5-8: 119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in 120 | let rec trim = 121 | function 122 | | Comp.NilValBranch -> FunBranch Comp.NilValBranch 123 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br) ... 139 | begin match trim fbr with 140 | | FunBranch fr -> Comp.FunValue fr 141 | | Value v -> v 142 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)| CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)| TupleValue (T (_, _, _))) File "src/core/opsem.ml", lines 91-290, characters 2-50: 91 | ..match i with 92 | | Comp.Const (_, cid) -> 93 | dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid); 94 | begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with 95 | | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) -> ... 287 | eval_branches loc vscrut branches (theta, eta) 288 | 289 | | Comp.Hole (_) -> 290 | Error.raise_violation "Source contains holes" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MApp (_, _, (_, ClObj (_, SObj _)), _, _) File "src/core/opsem.ml", lines 321-325, characters 2-36: 321 | ..match (cObj, cObj') with 322 | | (LF.MObj tM, LF.MObj tM') -> 323 | Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id) 324 | | (LF.PObj h, LF.PObj h') -> 325 | Unify.unifyH LF.Empty phat h h' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MObj tM, (PObj _|SObj _)) File "src/core/opsem.ml", lines 437-458, characters 4-10: 437 | ....function 438 | | Comp.NilValBranch -> FunBranch (Comp.NilValBranch) 439 | | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) -> 440 | begin try 441 | let eta' = match_pattern (v, eta) (p, theta) in ... 455 | eval_branch brs 456 | | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg); 457 | eval_branch brs) 458 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfcheck.cmo -c -impl src/core/lfcheck.ml) File "src/core/lfcheck.ml", lines 225-230, characters 2-19: 225 | ..function 226 | | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *) 227 | | DDec (cPsi', TypDecl (n, tA)) -> 228 | let s = (ctxToSub' cPhi cPsi' : sub) in 229 | let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in 230 | Dot (Obj u, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi', TypDeclOpt _) File "src/core/lfcheck.ml", lines 246-330, characters 2-55: 246 | ..match (sM, sA) with 247 | | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *) 248 | check cD 249 | (DDec (cPsi, S.LF.decSub tX s2)) 250 | (tM, S.LF.dot1 s1) ... 327 | raise (Error (loc, (CheckError (cD, cPsi, sM, sA)))) 328 | end 329 | | ((Root (loc, _, _, _), _ (* id *)), _ ) -> 330 | raise (Error (loc, CheckError (cD, cPsi, sM, sA))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Clo _, _), _) File "src/core/lfcheck.ml", lines 361-370, characters 4-23: 361 | ....match (tS, sA) with 362 | | ((Nil, _), sP) -> sP 363 | 364 | | ((SClo (tS, s'), s), sA) -> 365 | syn (tS, S.LF.comp s' s) sA 366 | 367 | | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) -> 368 | check cD cPsi (tM, s1) (tA1, s2); 369 | let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in 370 | syn (tS, s1) tB2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _)) File "src/core/lfcheck.ml", lines 346-377, characters 16-23: 346 | ................(Root (loc, h, tS, _), s (* id *)) = 347 | let rec spineLength = 348 | function 349 | | Nil -> 0 350 | | SClo (tS, _) -> spineLength tS ... 374 | (* Check first that we didn't supply too many arguments. *) 375 | if typLength sA' < spineLength tS 376 | then raise (Error (loc, SpineIllTyped (typLength sA', spineLength tS))); 377 | syn (tS, s) (sA', s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _) File "src/core/lfcheck.ml", lines 393-394, characters 5-7: 393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in 394 | tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfcheck.ml", lines 400-409, characters 10-25: 400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in 401 | dprintf 402 | begin fun p -> 403 | p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]" 404 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi 405 | (P.fmt_ppr_lf_head cD cPsi P.l0) head 406 | (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head 407 | (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA 408 | end; 409 | (recA, S.LF.id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfcheck.ml", lines 411-413, characters 10-19: 411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in 412 | checkSub loc cD cPsi s Subst cPsi'; 413 | (recA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _) File "src/core/lfcheck.ml", lines 398-414, characters 7-64: 398 | .......match tuple_head with 399 | | BVar k' -> 400 | let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in 401 | dprintf 402 | begin fun p -> ... 411 | let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in 412 | checkSub loc cD cPsi s Subst cPsi'; 413 | (recA, s) 414 | | FPVar (name, _) -> raise (Error (loc, LeftoverFV name)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| HClo (_, _, _)|HMClo (_, _)) File "src/core/lfcheck.ml", lines 446-457, characters 5-17: 446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in 447 | dprintf 448 | begin fun p -> 449 | let f = P.fmt_ppr_lf_dctx cD P.l0 in 450 | p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]" ... 454 | f cPsi' 455 | end; 456 | checkSub loc cD cPsi s Subst cPsi' ; 457 | TClo (tA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/lfcheck.ml", lines 461-474, characters 5-37: 461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in 462 | dprintf 463 | begin fun p -> 464 | let f = P.fmt_ppr_lf_mctx P.l0 in 465 | p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]" ... 471 | checkMSub loc cD t' mmvar.cD; 472 | dprint (fun () -> "[inferHead] MMVar - msub done \n"); 473 | checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ; 474 | TClo (Whnf.cnormTyp (tA, t'), r) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/lfcheck.ml", lines 391-506, characters 2-41: 391 | ..match (head, cl) with 392 | | (BVar k', _) -> 393 | let TypDecl (_, tA) = ctxDec cPsi k' in 394 | tA 395 | ... 503 | TClo (tA, s) 504 | 505 | | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) -> 506 | raise (Error (loc, LeftoverFV name)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MVar (Inst _, _), Subst) (However, some guarded clause may match this value.) File "src/core/lfcheck.ml", lines 509-528, characters 2-13: 509 | ..match cPsi with 510 | | Null -> true (* we need to succeed because coverage should detect that 511 | it is not inhabited *) 512 | 513 | | CtxVar ctx_var -> ... 525 | 526 | | DDec (rest, TypDecl _) -> 527 | canAppear cD rest head sA loc 528 | || false........................................... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (rest, TypDeclOpt _) File "src/core/lfcheck.ml", lines 643-655, characters 2-23: 643 | ..match sS1, sK with 644 | | (Nil, _), sK -> 645 | sK 646 | 647 | | (SClo (tS, s'), s), sK -> ... 652 | synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2)) 653 | 654 | | (App _, _), (Typ, _) -> 655 | raise SpineMismatch Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _)) File "src/core/lfcheck.ml", lines 664-681, characters 2-47: 664 | ..match tA with 665 | | Atom (loc, a, tS) -> 666 | let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in 667 | begin 668 | try ... 678 | checkTyp cD cPsi (tA, s); 679 | checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s) 680 | 681 | | Sigma arec -> checkTypRec cD cPsi (arec, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfcheck.ml", lines 710-714, characters 2-53: 710 | ..function 711 | | Typ -> () 712 | | PiKind ((TypDecl (x, tA), _, _), kind) -> 713 | checkTyp cD cPsi (tA, S.LF.id); 714 | checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) File "src/core/lfcheck.ml", lines 724-725, characters 2-47: 724 | ..match decl with 725 | | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfcheck.ml", lines 734-754, characters 2-7: 734 | ..match cPsi with 735 | | Null -> () 736 | | DDec (cPsi, tX) -> 737 | checkDCtx cD cPsi; 738 | checkDec cD cPsi (tX, S.LF.id) ... 751 | (P.fmt_ppr_lf_mctx P.l0) cD 752 | end; 753 | ignore (Whnf.mctxLookup cD k); 754 | () Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/lfcheck.ml", lines 962-963, characters 5-47: 962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in 963 | checkSchema loc cD cPhi schema_name schema Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57: 1019 | ..match (sArec, sBrec) with 1020 | | ((SigmaLast _, _), (SigmaLast _, _)) -> 1021 | None 1022 | 1023 | | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) -> 1024 | Some (recA, s) 1025 | 1026 | | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) -> 1027 | elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((SigmaLast (_, _), _), (SigmaElem (_, _, _), _)) File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69: 1075 | ..match (cM, cTt) with 1076 | | (CObj cPsi, (CTyp (Some w), _)) -> 1077 | let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in 1078 | checkSchema loc cD cPsi name schema 1079 | ... 1098 | let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in 1099 | let (_, mtyp2) = Whnf.mctxLookup cD u in 1100 | if Bool.not (Whnf.convMTyp mtyp1 mtyp2) 1101 | then Error.raise_violation ("Contextual substitution ill-typed") Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CObj cPsi, (CTyp None, _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Lfrecon.cmo -c -impl src/core/lfrecon.ml) File "src/core/lfrecon.ml", lines 253-262, characters 2-29: 253 | ..function 254 | | Apx.LF.BVar _ -> "BVar" 255 | | Apx.LF.Const _ -> "Const" 256 | | Apx.LF.MVar _ -> "MVar" 257 | | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset " 258 | | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst " 259 | | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head 260 | | Apx.LF.FVar _ -> "FVar" 261 | | Apx.LF.FMVar _ -> "FMVar" 262 | | Apx.LF.FPVar _ -> "FPVar" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Hole File "src/core/lfrecon.ml", lines 275-276, characters 5-19: 275 | .....let (None, d) = Context.dctxToHat cPsi in 276 | Int.LF.Shift d Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Some _, _) File "src/core/lfrecon.ml", lines 311-333, characters 8-80: 311 | ........let CTyp s_cid = mmvar1.typ in 312 | if d = d' 313 | then 314 | begin 315 | begin match c_var with ... 330 | true 331 | end 332 | else 333 | Error.raise_not_implemented "[unify_phat] ctx_var with a full context" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (_, _) File "src/core/lfrecon.ml", lines 358-359, characters 9-42: 358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in 359 | Store.Cid.Schema.get_schema s_cid Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=CTyp None; _ }) File "src/core/lfrecon.ml", lines 352-366, characters 2-92: 352 | ..match ctxvar with 353 | | Some (Int.LF.CtxOffset _ as phi) -> 354 | Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi) 355 | | Some (Int.LF.CtxName n) -> 356 | begin ... 363 | 364 | | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) -> 365 | Store.Cid.Schema.get_schema s_cid 366 | | None -> Error.raise_violation "No context variable for which we could retrieve a schema" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (CInst ({typ=CTyp None; _ }, _)) File "src/core/lfrecon.ml", lines 372-376, characters 2-44: 372 | ..function 373 | | Int.LF.Atom _ -> m 374 | | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) -> 375 | dprint (fun () -> "eta FMV - add Lam "); 376 | Apx.LF.Lam (loc, x, addPrefix loc m tA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 385-389, characters 4-62: 385 | ....function 386 | | Int.LF.Atom _ -> (k, s) 387 | | Int.LF.PiTyp (_, tA) -> 388 | let (k', s') = go (k + 1) s tA in 389 | (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/lfrecon.ml", lines 391-395, characters 2-18: 391 | ..match tA, s with 392 | | Int.LF.Atom _, _ -> (k, s) 393 | | Int.LF.PiTyp _, None -> 394 | let (k', s') = go k Apx.LF.Id tA in 395 | (k', Some s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp (_, _), Some _) File "src/core/lfrecon.ml", lines 399-401, characters 20-71: 399 | ....................(Apx.LF.MVar (x, s)) tA = 400 | let (_, s') = etaExpSub 0 s tA in 401 | addPrefix loc (Apx.LF.Root (loc, Apx.LF.MVar (x, s'), Apx.LF.Nil)) tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)| FPVar (_, _)) File "src/core/lfrecon.ml", lines 406-410, characters 4-52: 406 | ....function 407 | | Int.LF.Atom _ -> (k, tS) 408 | | Int.LF.PiTyp (_, tA') -> 409 | let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in 410 | etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/lfrecon.ml", lines 414-417, characters 4-54: 414 | ....match tA with 415 | | Int.LF.Atom _ -> tM 416 | | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') -> 417 | Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 422-424, characters 4-24: 422 | ....match h with 423 | | Int.LF.BVar x -> Int.LF.BVar (x + k - 1) 424 | | Int.LF.FVar _ -> h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 457-461, characters 4-55: 457 | ....function 458 | | Int.LF.Atom _ -> (k, tS) 459 | | Int.LF.PiTyp (_, tA') -> 460 | let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in 461 | etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/lfrecon.ml", lines 464-468, characters 4-57: 464 | ....match tA with 465 | | Int.LF.Atom _ -> tM 466 | | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') -> 467 | dprint (fun () -> "eta - add Lam "); 468 | Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 613-614, characters 2-33: 613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in 614 | getProjIndex loc cD cPsi recA k Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 617-630, characters 2-19: 617 | ..match h with 618 | | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k) 619 | 620 | | Apx.LF.Proj (Apx.LF.BVar k, p) -> 621 | let tp = ... 627 | let j = getProjIndexFromType loc cD cPsi tp p in 628 | dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d j = %d@\n" k j); 629 | let k' = ConvSigma.map conv_list k - j + 1 in 630 | Apx.LF.BVar k' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Proj ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)| FPVar (_, _)), _) File "src/core/lfrecon.ml", lines 637-643, characters 7-41: 637 | .......function 638 | | Apx.LF.Id -> Apx.LF.Id 639 | | Apx.LF.EmptySub -> Apx.LF.EmptySub 640 | | Apx.LF.Dot (Apx.LF.Head h, s) -> 641 | let s' = go s in 642 | let h' = flattenProjPatHead loc cD h conv_list cPsi in 643 | Apx.LF.Dot (Apx.LF.Head h', s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dot (Obj _, _) File "src/core/lfrecon.ml", lines 679-691, characters 2-38: 679 | ..match s with 680 | | Apx.LF.Id -> s 681 | 682 | | Apx.LF.EmptySub -> s 683 | ... 688 | Apx.LF.Dot (Apx.LF.Head h, flattenSub s) 689 | 690 | | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) -> 691 | flattenVarTuple tM (flattenSub s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _) File "src/core/lfrecon.ml", lines 697-698, characters 2-77: 697 | ..function 698 | | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Root (_, BVar k, App (_, _)) File "src/core/lfrecon.ml", lines 827-829, characters 5-60: 827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in 828 | let sQ = Int.LF.getType h' (typRec, S.LF.id) j in 829 | Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 822-829, characters 2-60: 822 | ..function 823 | | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k 824 | | Apx.LF.Proj (h, nj) -> 825 | let (tp, h') = synHead cD loc cPsi h in 826 | let j = getProjIndexFromType loc cD cPsi tp nj in 827 | let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in 828 | let sQ = Int.LF.getType h' (typRec, S.LF.id) j in 829 | Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _)) File "src/core/lfrecon.ml", lines 858-867, characters 5-8: 858 | .....begin match synHead cD loc cPsi h with 859 | | (Int.LF.TypDecl (x, tA), h') -> 860 | let tA' = 861 | pruningTyp loc cD cPsi (Context.dctxToHat cPsi) 862 | (tA, S.LF.id) (Int.LF.MShift 0, ss) 863 | in 864 | ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA')) 865 | , Int.LF.Dot (Int.LF.Head h', s') 866 | ) 867 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDeclOpt _, _) File "src/core/lfrecon.ml", lines 884-890, characters 2-66: 884 | ..function 885 | | Apx.LF.Typ -> Int.LF.Typ 886 | | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) -> 887 | let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in 888 | let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in 889 | let tK = elKind cD cPsi' k in 890 | Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 909-925, characters 2-25: 909 | ..function 910 | | Apx.LF.Atom (loc, a, s) -> 911 | let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in 912 | let s' = mkShift recT cPsi in 913 | (* let s' = S.LF.id in *) ... 922 | 923 | | Apx.LF.Sigma typRec -> 924 | let typRec' = elTypRec recT cD cPsi typRec in 925 | Int.LF.Sigma typRec' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 977-1023, characters 2-34: 977 | ..match (m, sA) with 978 | | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) -> 979 | (* cPsi' = cPsi, x:tA *) 980 | let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in 981 | let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in ... 1020 | | (Apx.LF.LFHole (loc, m_name), tA) -> 1021 | let id = Holes.allocate () in 1022 | let name = HoleId.name_of_option m_name in 1023 | Int.LF.LFHole (loc, id, name) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _)) File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12: 1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in 1082 | let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in 1083 | begin 1084 | try 1085 | Unify.unifyTyp cD cPsi sQ sP; ... 1088 | | Unify.Failure msg -> 1089 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1090 | | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1091 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12: 1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in 1214 | dprintf 1215 | begin fun p -> 1216 | p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]" 1217 | Name.pp u ... 1277 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP))) 1278 | |_ -> 1279 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP))) 1280 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12: 1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in 1477 | let d = Context.length cD - Context.length cD_d in 1478 | let (tA, cPhi) = 1479 | if d = 0 1480 | then (tA, cPhi) ... 1497 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP))) 1498 | | _ -> 1499 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP))) 1500 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12: 1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) = 1572 | Store.FCVar.get p 1573 | in 1574 | let d = Context.length cD - Context.length cD_d in 1575 | let (tA, cPhi) = ... 1604 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1605 | | _ -> 1606 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1607 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13: 1808 | ..........begin match S.LF.bvarSub k s'' with 1809 | | Int.LF.Head (Int.LF.BVar j) -> 1810 | Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit) 1811 | | Int.LF.Head (Int.LF.PVar (p, r')) -> 1812 | Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit) 1813 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10: 1806 | .......begin match h with 1807 | | Int.LF.BVar k -> 1808 | begin match S.LF.bvarSub k s'' with 1809 | | Int.LF.Head (Int.LF.BVar j) -> 1810 | Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit) ... 1814 | | Int.LF.PVar (p, r) -> 1815 | Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit) 1816 | (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *) 1817 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8: 1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = 1858 | try 1859 | Context.ctxSigmaDec cPsi x 1860 | with 1861 | | _ -> ... 1876 | with 1877 | | Unify.Failure msg -> 1878 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1879 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8: 1882 | .....begin 1883 | match Whnf.mctxPDec cD p with 1884 | | (_, Int.LF.Sigma recA, cPsi') -> 1885 | let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in 1886 | let k = getProjIndex loc cD cPsi recA proj in ... 1907 | end 1908 | | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi)) 1909 | | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom)) 1910 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, TClo _, _) File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15: 1941 | ............begin match S.LF.bvarSub y s'' with 1942 | | Int.LF.Head (Int.LF.BVar x) -> 1943 | Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit) 1944 | | Int.LF.Head (Int.LF.PVar (p, r')) -> 1945 | Int.LF.Root ... 1948 | , tS 1949 | , Plicity.explicit 1950 | ) 1951 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12: 1939 | .........begin match h with 1940 | | Int.LF.BVar y -> 1941 | begin match S.LF.bvarSub y s'' with 1942 | | Int.LF.Head (Int.LF.BVar x) -> 1943 | Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit) ... 1956 | , tS 1957 | , Plicity.explicit 1958 | ) 1959 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25: 1044 | ..match r with 1045 | | Apx.LF.Ann (_loc, m, a) -> 1046 | elTerm' recT cD cPsi m sP 1047 | 1048 | | Apx.LF.LFHole (location, m_name) -> ... 1977 | 1978 | | Apx.LF.Root (loc, h, _) -> 1979 | dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h)); 1980 | throw loc CompTypAnn Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|Tuple (_, _)) File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65: 2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in 2103 | let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in 2104 | (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82: 2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in 2160 | let k = getProjIndex loc cD cPsi recA proj in 2161 | let sA = 2162 | try 2163 | Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k ... 2166 | throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id))) 2167 | in 2168 | let (tS, sQ) = elSpine loc recT cD cPsi spine sA in 2169 | (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14: 2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) = 2277 | Store.FCVar.get s_name 2278 | in 2279 | svar_le (cl0, cl); 2280 | let d = Context.length cD - Context.length cD_d in ... 2307 | with 2308 | | Unify.Failure msg -> 2309 | throw loc (IllTypedSubVar (cD, cPsi, cPhi)) 2310 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ }) File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40: 2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in 2515 | dprint (fun () -> "[elHead] done"); 2516 | (Int.LF.BVar x, (tA', S.LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59: 2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in 2575 | let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in 2576 | (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (offset, ClTyp ((PTyp _|STyp (_, _)), _)) File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41: 2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in 2584 | let s' = elSub loc recT cD cPsi s cl cPhi in 2585 | (Int.LF.PVar (offset, s'), (tA, s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (offset, ClTyp ((MTyp _|STyp (_, _)), _)) File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36: 2643 | ....match (sA, recT) with 2644 | | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) -> 2645 | (* cPsi' |- tA <= typ 2646 | * cPsi |- s <= cPsi' cPsi |- tN <= [s]A 2647 | * ... 2671 | in 2672 | 2673 | let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in 2674 | (Int.LF.App (tN, spine'), sP) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((PiTyp ((TypDeclOpt _, _, _), _), _), _) File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25: 2705 | ....function 2706 | | Int.LF.Atom _ -> 0 2707 | | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2 2708 | | Int.LF.Sigma _ -> 0........................................................ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32: 2725 | ....match (spine, Whnf.whnfTyp sA) with 2726 | | (Apx.LF.Nil, sP) -> 2727 | (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *) 2728 | 2729 | | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) -> 2730 | let tM = elTerm recT cD cPsi m (tA, s) in 2731 | let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in 2732 | (Int.LF.App (tM, tS), sP) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _)) File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30: 2741 | ....match (sK, recT) with 2742 | | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) -> 2743 | (* let sshift = mkShift recT cPsi in *) 2744 | (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *) 2745 | let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in ... 2757 | Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive 2758 | in 2759 | let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in 2760 | Int.LF.App (tN, spine') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((PiKind ((TypDeclOpt _, _, _), _), _), _) File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32: 2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in 2835 | (* cPsi |- tA : type 2836 | * cPsi |- s' : cPsi' 2837 | *) 2838 | let ss = S.LF.invert s' in ... 2860 | in 2861 | 2862 | let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in 2863 | (Int.LF.App (tN', tS), tB') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32: 2824 | ..match (spine, sP) with 2825 | | (Apx.LF.Nil, _) -> 2826 | let ss = S.LF.invert s' in 2827 | let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in 2828 | (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist; ... 2860 | in 2861 | 2862 | let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in 2863 | (Int.LF.App (tN', tS), tB') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (App (Root (loc, BVar x, App (_, _)), _), _) File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8: 2943 | .....begin match instantiation.contents with 2944 | | None -> 2945 | begin 2946 | try 2947 | let tA = Store.FVar.get x in ... 2995 | | _ -> 2996 | throw loc (UnboundName x) 2997 | end 2998 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (IHead _|ISub _|ICtx _) File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8: 2939 | ..function 2940 | | [] -> () 2941 | | ((_, Apx.LF.(Root (loc, FVar x, spine)), 2942 | Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) -> 2943 | begin match instantiation.contents with ... 2995 | | _ -> 2996 | throw loc (UnboundName x) 2997 | end 2998 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Root (loc, FVar x, spine), Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ }):: _ File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99: 3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) = 3021 | lookup_fcvar loc u 3022 | in 3023 | let cPhi = weakenAppropriately cD_d cPhi in 3024 | let s'' = elSub loc cPsi s cPhi in 3025 | Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98: 3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) = 3028 | lookup_fcvar loc x 3029 | in 3030 | let cPhi = weakenAppropriately cD_d cPhi in 3031 | let s'' = elSub loc cPsi s cPhi in 3032 | let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in 3033 | Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98: 3017 | ....match tM, Int.LF.(v.typ) with 3018 | | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) -> 3019 | assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false); 3020 | let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) = 3021 | lookup_fcvar loc u ... 3030 | let cPhi = weakenAppropriately cD_d cPhi in 3031 | let s'' = elSub loc cPsi s cPhi in 3032 | let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in 3033 | Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Total.cmo -c -impl src/core/total.ml) File "src/core/total.ml", lines 31-45, characters 6-9: 31 | ......begin match (x, args) with 32 | | (_, []) -> 33 | Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug." 34 | | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) -> 35 | Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@" ... 42 | 43 | | (Comp.V _, _) -> 44 | Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration." 45 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (M (_, _), (E|DC)::_) File "src/core/total.ml", lines 138-141, characters 2-56: 138 | ..function 139 | | LF.Empty -> LF.Empty 140 | | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) -> 141 | LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/total.ml", lines 155-157, characters 2-40: 155 | ..function 156 | | None -> " _ " 157 | | Some (Comp.Arg x) -> string_of_int x Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (Lex _|Simul _) File "src/core/total.ml", line 249, characters 25-43: 249 | let xs = List.map (fun (Arg x) -> x) xs in ^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lex _|Simul _) File "src/core/total.ml", lines 245-258, characters 4-41: 245 | ....match dec.order with 246 | | `inductive (Arg x) -> 247 | (dec.name, Some [x], (tau, Whnf.m_id)) 248 | | `inductive (Lex xs) -> 249 | let xs = List.map (fun (Arg x) -> x) xs in ... 255 | | `not_recursive 256 | | `trust 257 | | `partial -> 258 | (dec.name, None, (tau, Whnf.m_id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: `inductive (Simul _) File "src/core/total.ml", lines 331-332, characters 19-32: 331 | ...................(LF.Decl { name = x; typ = cU; _ }) = 332 | (gen_var' loc cD (x, cU) , cU) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/total.ml", lines 404-413, characters 2-31: 404 | ..function 405 | | [] -> [] 406 | | Comp.M (cM, cU) :: args -> 407 | if uninstantiated_arg cM 408 | then Comp.DC :: generalize args 409 | else Comp.M (cM, cU) :: generalize args 410 | | Comp.V x :: args -> 411 | Comp.V x :: generalize args 412 | | Comp.DC :: args -> 413 | Comp.DC :: generalize args Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: E::_ File "src/core/total.ml", lines 445-455, characters 19-34: 445 | ...................(1, n) (LF.SchElem (some_part, block_part)) = 446 | let sArec = 447 | match Whnf.whnfTyp (tA, Substitution.LF.id) with 448 | | (LF.Sigma tArec, s') -> (tArec, s') 449 | | (tA', s') -> (LF.SigmaLast (None, tA'), s') in ... 452 | try 453 | Unify.unifyTypRec cD cPsi (block_part, dctxSub) sArec; 454 | Some (b, tA) 455 | with Unify.Failure _ -> None.................................................................. Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (0, _) File "src/core/total.ml", lines 509-511, characters 6-47: 509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in 510 | (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id); 511 | gen_meta_obj (k, Substitution.LF.id) cU) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/total.ml", lines 544-592, characters 2-30: 544 | ..function 545 | | (0, ttau) -> ([], Whnf.cnormCTyp ttau) 546 | | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) -> 547 | let cU0 = Whnf.cnormMTyp (cU', theta) in 548 | begin ... 589 | 590 | | (n, (Comp.TypArr (_, _, tau2), theta)) -> 591 | let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in 592 | (Comp.DC :: spine, tau_r) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (2, ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| TypCross (_, _)|TypClo (_, _)|TypInd _), _)) File "src/core/total.ml", lines 595-619, characters 2-30: 595 | ..function 596 | | (0, ttau) -> ([], Whnf.cnormCTyp ttau) 597 | 598 | | (1, (Comp.TypPiBox _, _)) -> 599 | raise Not_compatible (* Error *) ... 616 | 617 | | (n, (Comp.TypArr (_, _, tau2), theta)) -> 618 | let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in 619 | (Comp.DC :: spine, tau_r) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| TypCross (_, _)|TypClo (_, _)|TypInd _), _)) File "src/core/total.ml", lines 622-713, characters 2-43: 622 | ..match cD' with 623 | | LF.Empty -> cIH 624 | 625 | | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) -> 626 | dprintf ... 710 | dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j); 711 | let cIH' = mk_all (cIH, j) mf_list in 712 | dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1)); 713 | gen_rec_calls cD cIH' (cD', j + 1) mfs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/total.ml", lines 725-791, characters 2-47: 725 | ..match cG0 with 726 | | LF.Empty -> cIH 727 | | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) -> 728 | gen_rec_calls' cD cG cIH (cG', j + 1) mfs 729 | ... 788 | mk_all cIH' mf_list 789 | in 790 | let cIH' = mk_all cIH mf_list in 791 | gen_rec_calls' cD cG cIH' (cG', j + 1) mfs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, CTypDeclOpt _) File "src/core/total.ml", lines 860-868, characters 2-69: 860 | ..match cPsi with 861 | (* cPsi |- tA *) 862 | | LF.Null -> None 863 | | LF.CtxVar _ -> None 864 | | LF.DDec (cPsi, LF.TypDecl (_, tB)) -> 865 | if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id) 866 | then Some k 867 | else 868 | pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/total.ml", lines 1087-1111, characters 5-8: 1087 | .....begin 1088 | match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) , 1089 | prefix_hat 1090 | (Whnf.cnorm_psihat phat Whnf.m_id) 1091 | (Whnf.cnorm_psihat phat' Whnf.m_id) ... 1108 | end ; 1109 | (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k)))) , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k) 1110 | end 1111 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Some k', None) File "src/core/total.ml", lines 1121-1124, characters 5-87: 1121 | .....let LF.Root (_, tH', _, _) = 1122 | Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj) 1123 | in 1124 | (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/total.ml", lines 1134-1140, characters 2-65: 1134 | ..match args with 1135 | | [] -> [] 1136 | | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi) 1137 | | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi) 1138 | | Comp.M (cM, cU ) :: args -> 1139 | let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in 1140 | Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: E::_ File "src/core/total.ml", lines 1316-1337, characters 2-40: 1316 | ..function 1317 | | Comp.TypBase (loc, c, _) -> 1318 | Bool.not (Id.cid_comp_typ_equal a c) 1319 | && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with 1320 | | Sgn.Positivity -> true ... 1334 | | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2 1335 | | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus 1336 | | Comp.TypPiBox (_, _, tau') -> no_occurs a tau' 1337 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1340-1360, characters 2-40: 1340 | ..function 1341 | | Comp.TypBase (loc, c, _) -> 1342 | Id.cid_comp_typ_equal a c 1343 | || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with 1344 | | Sgn.Positivity -> true ... 1357 | | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2 1358 | | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus 1359 | | Comp.TypPiBox (_, _, tau') -> check_positive a tau' 1360 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1364-1372, characters 2-40: 1364 | ..function 1365 | | Comp.TypBase _ -> true 1366 | | Comp.TypCobase _ -> true 1367 | | Comp.TypDef _ -> raise Unimplemented 1368 | | Comp.TypBox _ -> true 1369 | | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2 1370 | | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus 1371 | | Comp.TypPiBox (_, _, tau') -> positive a tau' 1372 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1492-1531, characters 2-27: 1492 | ..match tau1 with 1493 | | Comp.TypBase (loc, c, mS1) -> 1494 | if Id.cid_comp_typ_equal a c 1495 | then 1496 | begin ... 1528 | | Comp.TypBox _ 1529 | | Comp.TypClo _ 1530 | | Comp.TypCobase _ 1531 | | Comp.TypDef _ -> true Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1555-1580, characters 8-48: 1555 | ........function 1556 | | Comp.TypBase _ 1557 | | Comp.TypCobase _ 1558 | | Comp.TypBox _ -> true 1559 | ... 1577 | | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau' 1578 | 1579 | | Comp.TypDef _ 1580 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Check.cmo -c -impl src/core/check.ml) File "src/core/check.ml", lines 471-475, characters 4-46: 471 | ....function 472 | | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS 473 | | I.Lam (_, _, tM) -> fmv_normal cD tM 474 | | I.LFHole _ -> cD 475 | | I.Tuple (_, tuple) -> fmv_tuple cD tuple Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Clo _ File "src/core/check.ml", lines 490-492, characters 4-55: 490 | ....function 491 | | I.Nil -> cD 492 | | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: SClo _ File "src/core/check.ml", lines 500-503, characters 4-61: 500 | ....function 501 | | I.Null -> cD 502 | | I.CtxVar (I.CtxOffset k) -> mark_ind cD k 503 | | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/check.ml", lines 511-514, characters 4-38: 511 | ....function 512 | | I.Atom (_, _, tS) -> fmv_spine cD tS 513 | | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA 514 | | I.Sigma trec -> fmv_trec cD trec Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/check.ml", lines 534-538, characters 4-68: 534 | ....function 535 | | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi 536 | | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM 537 | | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h 538 | | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, (MUndef|MV _)) File "src/core/check.ml", lines 553-556, characters 4-43: 553 | ....function 554 | | PatNil -> cD 555 | | PatApp (_, pat, pat_spine) -> 556 | fmv_pat_spine (fmv cD pat) pat_spine Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) File "src/core/check.ml", lines 561-595, characters 4-10: 561 | ....match (t, cD) with 562 | | (I.MShift k, I.Empty) -> cD1' 563 | | (I.MShift k, cD) 564 | when k < 0 -> 565 | Error.raise_violation "Contextual substitution ill-formed" ... 592 | else 593 | id_map_ind cD1' ms cD 594 | | _ -> id_map_ind cD1' ms cD 595 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MDot (_, _), Dec (cD, DeclOpt _)) File "src/core/check.ml", lines 618-619, characters 7-23: 618 | .......fun (CTypDecl (u, tau, wf_tag)) -> 619 | (u, tau, wf_tag) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/check.ml", lines 747-771, characters 6-12: 747 | ......match cPsi0 with 748 | | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *) 749 | | Int.LF.CtxVar psi -> 750 | (* tA is an instance of a schema block *) 751 | let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } = ... 768 | Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id) 769 | with 770 | | _ -> checkParamTypeValid' (cPsi0', n + 1) 771 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi0', TypDeclOpt _) File "src/core/check.ml", lines 776-796, characters 4-68: 776 | ....match (mS, cKt) with 777 | | (MetaNil, (Ctype _, _)) -> () 778 | | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) -> 779 | if Plicity.(plicity_app <> plicity_pi) 780 | then Error.raise_violation "[checkMetaSpine] plicity mismatch"; ... 793 | Location.print_short loc 794 | ) 795 | end; 796 | checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaNil, (PiKind (_, _, _), _)) File "src/core/check.ml", lines 822-824, characters 20-32: 822 | ....................(I.Decl { name = x; typ = ctyp; _ }) = 823 | let location = Name.location x in 824 | checkCLFTyp location cD ctyp Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/check.ml", lines 834-868, characters 4-35: 834 | ....function 835 | | TypBase (loc, c, mS) -> 836 | let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in 837 | checkMetaSpine loc cD mS (cK, C.m_id) 838 | ... 865 | end; 866 | checkTyp (I.Dec (cD, cdecl)) tau' 867 | 868 | | TypInd tau -> checkTyp cD tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _)|TypClo (_, _)) File "src/core/check.ml", lines 880-882, characters 21-54: 880 | .....................(x, (I.Decl d), t) = 881 | let typ' = C.cnormMTyp (d.typ, t) in 882 | I.Dec (cD, I.Decl { d with name = x; typ = typ' }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (x, DeclOpt _, _) File "src/core/check.ml", lines 899-916, characters 12-15: 899 | ............begin match e2 with 900 | | Box (_, cM, cU) | AnnBox (_, cM, cU) -> 901 | dprintf 902 | begin fun p -> 903 | p.fmt "[useIH] @[<v>check whether compatible IH exists@,\ ... 913 | | Option.None -> Total.filter cD cG cIH (loc, E) 914 | end 915 | | Hole _ -> Total.drop_arg cIH 916 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)| Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _)) File "src/core/check.ml", lines 1114-1276, characters 4-45: 1114 | ....function 1115 | | Var (loc, x) as e -> 1116 | let (f,tau', _) = lookup cG x in 1117 | Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id)) 1118 | (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e); ... 1273 | 1274 | | AnnBox (_, cM, cT) -> 1275 | checkMetaObj cD cM cT C.m_id; 1276 | (None, TypBox (getLoc cM, cT), C.m_id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)| Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)) File "src/core/check.ml", lines 1350-1357, characters 7-10: 1350 | .......begin match (tau, theta) with 1351 | | (TypArr (_, tau1, tau2), theta) -> 1352 | checkPattern cD cG pat (tau1, theta); 1353 | synPatSpine cD cG pat_spine (tau2, theta) 1354 | | (TypPiBox (_, cdecl, tau), theta) -> 1355 | let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in 1356 | synPatSpine cD cG pat_spine (tau, theta') 1357 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| TypCross (_, _)|TypClo (_, _)|TypInd _), _) File "src/core/check.ml", lines 1373-1375, characters 53-38: 1373 | .....................................................(I.Decl { typ = ctyp; _ }, theta) = 1374 | LF.checkMetaObj cD mO (ctyp, theta); 1375 | I.MDot (metaObjToMFront mO, theta) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (DeclOpt _, _) File "src/core/check.ml", lines 1373-1375, characters 30-38: 1373 | ..............................(PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) = 1374 | LF.checkMetaObj cD mO (ctyp, theta); 1375 | I.MDot (metaObjToMFront mO, theta) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/check.ml", lines 1665-1667, characters 4-42: 1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in 1666 | let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in 1667 | proof mcid cD cG cIH total_decs p ttau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))} File "src/core/check.ml", lines 1678-1743, characters 4-13: 1678 | ....match d with 1679 | | Intros hyp -> 1680 | let tau = Whnf.cnormCTyp ttau in 1681 | let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in 1682 | dprintf ... 1740 | end; 1741 | proof mcid cD cG cIH total_decs p (tau, Whnf.m_id) 1742 | end 1743 | args Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ImpossibleSplit _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Reconstruct.cmo -c -impl src/core/reconstruct.ml) File "src/core/reconstruct.ml", lines 55-179, characters 20-41: 55 | ....................function 56 | | NotImplemented f -> 57 | Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]" 58 | f () 59 | | MCtxIllformed cD -> ... 176 | @, @[%a@]\ 177 | @]" 178 | P.(fmt_ppr_cmp_meta_obj cD l0) mC_p 179 | P.(fmt_ppr_cmp_meta_obj cD l0) mC Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: IllegalSubstMatch File "src/core/reconstruct.ml", lines 217-218, characters 2-45: 217 | ..function 218 | | Int.LF.Decl d -> Name.mk_some_name d.name Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/reconstruct.ml", lines 258-267, characters 4-26: 258 | ....match tau, n with 259 | | _, 0 -> 0 260 | | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n -> 261 | Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__) 262 | | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n -> 263 | 1 + skip tau n (* implicits are free *) 264 | | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n -> 265 | 1 + skip tau (n - 1) (* explicits pi-types cost 1 *) 266 | | I.TypArr (_, _, tau), n -> 267 | 1 + skip tau (n - 1).............................. Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypPiBox (_, DeclOpt _, _), 1) File "src/core/reconstruct.ml", lines 292-298, characters 9-92: 292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in 293 | if Id.cid_schema_equal s_cid s_cid' 294 | then Int.LF.CtxVar (Int.LF.CtxName psi) 295 | else 296 | let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in 297 | let c_var' = Int.LF.CtxName psi in 298 | Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=CTyp None; _ }) File "src/core/reconstruct.ml", lines 343-361, characters 7-10: 343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in 344 | begin 345 | let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in 346 | Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi); 347 | match Context.ctxVar cPsi with ... 358 | } 359 | ) 360 | | _ -> () 361 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp None File "src/core/reconstruct.ml", lines 396-400, characters 2-23: 396 | ..match cG, k with 397 | | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 -> 398 | Whnf.cnormCTyp (tau, Whnf.m_id) 399 | | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k -> 400 | lookup cG' (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dec (cG', CTypDeclOpt _), _) File "src/core/reconstruct.ml", lines 410-416, characters 2-32: 410 | ..function 411 | | Apx.LF.Empty -> Int.LF.Empty 412 | | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) -> 413 | let ctx' = elTypDeclCtx cD ctx in 414 | let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in 415 | let typDecl' = Int.LF.TypDecl (name, tA) in 416 | Int.LF.Dec (ctx', typDecl') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (ctx, TypDeclOpt _) File "src/core/reconstruct.ml", lines 459-466, characters 20-5: 459 | ....................(Apx.LF.Decl (u, ctyp, plicity)) = 460 | let ctyp' = elCTyp recT cD ctyp in 461 | Int.LF.Decl 462 | { name = u 463 | ; typ = ctyp' 464 | ; plicity 465 | ; inductivity = Inductivity.not_inductive 466 | } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/reconstruct.ml", lines 519-557, characters 4-26: 519 | ....function 520 | | (Int.LF.Typ, _s) -> 521 | Int.LF.Nil 522 | 523 | | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) -> ... 554 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s)) 555 | end; 556 | let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in 557 | Int.LF.App (tR, tS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/reconstruct.ml", lines 563-575, characters 2-8: 563 | ..function 564 | | Int.LF.Atom (_, a, _) -> 565 | mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind 566 | 567 | | Int.LF.Sigma trec -> ... 572 | Int.LF.PiTyp 573 | ( (tdecl', depend, plicity) 574 | , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA 575 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/reconstruct.ml", lines 578-580, characters 2-41: 578 | ..function 579 | | Int.LF.TypDecl (x, tA) -> 580 | Int.LF.TypDecl (x, mgTyp cD cPsi tA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/reconstruct.ml", lines 637-640, characters 5-18: 637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) = 638 | Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id) 639 | in 640 | Int.LF.PObj h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Root (_, h, (App (_, _)|SClo (_, _)), _) File "src/core/reconstruct.ml", lines 647-650, characters 5-18: 647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) = 648 | Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id) 649 | in 650 | Int.LF.PObj h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Root (_, h, (App (_, _)|SClo (_, _)), _) File "src/core/reconstruct.ml", lines 711-727, characters 2-104: 711 | ..match (s, cKt) with 712 | | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) -> 713 | Int.Comp.MetaNil 714 | 715 | | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) -> ... 724 | 725 | | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) -> 726 | let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in 727 | Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaApp (_, _), (PiKind (_, DeclOpt _, _), _)) File "src/core/reconstruct.ml", lines 798-803, characters 4-65: 798 | ....function 799 | | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil 800 | | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) -> 801 | let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in 802 | let mS = genMetaSpine (cK, t') in 803 | Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind (loc', DeclOpt _, _), _) File "src/core/reconstruct.ml", lines 830-842, characters 2-49: 830 | ..match cPsi with 831 | | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) -> 832 | let (n, sW) = Whnf.mctxCDec cD psi_var in 833 | let v = 834 | let open Int.LF in ... 839 | | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) -> 840 | let cPsi' = mgCtx cD' (cD, cPsi) in 841 | let tA' = mgTyp cD' cPsi' tA in 842 | Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/reconstruct.ml", lines 921-939, characters 7-54: 921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in 922 | dprintf 923 | begin fun p -> 924 | p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\ 925 | @,mC = @[%a@]\ ... 936 | (mT, Whnf.m_id) 937 | with 938 | | Unify.Failure msg -> 939 | throw loc (ImpossiblePattern (cD, mC_p, mC)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)| TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _) File "src/core/reconstruct.ml", lines 916-939, characters 4-54: 916 | ....match caseT with 917 | | DataObj -> () (* not dependent pattern matching; nothing to do *) 918 | | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) -> 919 | let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in 920 | (* tau_p' _has_ to be a box type if caseT is an IndexObj *) ... 936 | (mT, Whnf.m_id) 937 | with 938 | | Unify.Failure msg -> 939 | throw loc (ImpossiblePattern (cD, mC_p, mC)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: IndexObj (PatAnn (_, (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)| PatAnn (_, _, _, _)), _, _), _) File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22: 1369 | .......match id with 1370 | | None -> true 1371 | | Some Apx.LF.Id -> true 1372 | | Some Apx.LF.EmptySub -> 1373 | let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in 1374 | match cPhi, cPsi with 1375 | | Int.LF.Null, Int.LF.Null -> true 1376 | | _ -> false Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (Dot (_, _)|SVar (_, _)|FSVar (_, _)) File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9: 1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in 1394 | let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in 1395 | let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in 1396 | let s0' = Substitution.LF.comp s0 s' in 1397 | begin match s0' with ... 1413 | else 1414 | throw loc IllegalSubstMatch 1415 | | _ -> throw loc IllegalSubstMatch 1416 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _)) File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8: 1421 | .....begin 1422 | match cpsi with 1423 | | Apx.LF.CtxVar (ctxvar) -> 1424 | let c_var = Lfrecon.elCtxVar ctxvar in 1425 | let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in ... 1439 | end 1440 | |> throw loc 1441 | end 1442 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Null|CtxHole|DDec (_, _)) File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6: 1194 | ..match i with 1195 | | Apx.Comp.Var (loc, offset) -> 1196 | let tau = lookup cG offset in 1197 | dprintf 1198 | begin fun p -> ... 1455 | , ( Int.Comp.TypCross (loc, ttaus') 1456 | , C.m_id 1457 | ) 1458 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Box (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _)))))) File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8: 1524 | ..match (pat, ttau) with 1525 | | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) -> 1526 | let tau' = Whnf.cnormCTyp (tau, theta) in 1527 | dprintf 1528 | begin fun p -> ... 1597 | | Unify.Failure msg -> 1598 | dprint (fun () -> "Unify Error: " ^ msg); 1599 | raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau'))) 1600 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatFVar (_, _), _) File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57: 1603 | ..function 1604 | | Apx.Comp.PatAnn (loc, pat, tau) -> 1605 | let tau' = elCompTyp cD tau in 1606 | let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in 1607 | (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id)) ... 1610 | let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in 1611 | dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c)); 1612 | let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in 1613 | (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _)) File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8: 1690 | .....begin match ttau with 1691 | | (Int.Comp.TypCobase (_, _, _), _) -> 1692 | let { Store.Cid.CompDest.Entry.name 1693 | ; mctx = cD' 1694 | ; obs_type = tau0 ... 1730 | let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in 1731 | (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2) 1732 | (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *) 1733 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _) File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68: 1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in 1750 | let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in 1751 | let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in 1752 | let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in 1753 | let ttau' = (tau', Whnf.m_id) in 1754 | let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in 1755 | (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *) 1756 | (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _)) File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13: 1784 | ..........begin match mT with 1785 | | Int.LF.(MTyp (Atom _ | Sigma _ as tA))-> 1786 | let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in 1787 | let tP' = mgTyp cD cPsi' tA in 1788 | (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi')) ... 1798 | fixParamTyp in check.ml, and it is only used for 1799 | coverage checking. *) 1800 | Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible" 1801 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MTyp (TClo _) File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5: 2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' = 2085 | elHypotheses h 2086 | in 2087 | dprintf 2088 | begin fun p -> ... 2103 | ( loc 2104 | , h' 2105 | , elProof cD cG label p ttau 2106 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))} File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29: 2288 | ...........match k, tA' with 2289 | | Some k, Int.LF.Sigma tRec -> 2290 | (* Compute the type of the kth projection of tRec. *) 2291 | Int.LF.getType h (tRec, LF.id) k 2292 | |> Whnf.normTyp ... 2298 | A projected case #n.k is required. 2299 | *) 2300 | assert false 2301 | | None, tA' -> tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _)) File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56: 2339 | .......let Int.LF.MTyp tP = cU in 2340 | let (cD', (cPsi', tR_p, tA_p), t) = 2341 | match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with 2342 | | None -> assert false 2343 | (* FIXME: throw an appropriate error ... 2417 | cD_b |- [t o t']tau <= type 2418 | *) 2419 | in 2420 | I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PTyp _|STyp (_, _)) File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57: 2428 | .......let Int.LF.MTyp tA = cU in 2429 | let (cD', (cPsi', tM, sA), t) = 2430 | match Coverage.genBVar (cD, cPsi, tA) 1 with 2431 | | [x] -> x 2432 | | _ -> ... 2460 | let l' = `bvar in 2461 | let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in 2462 | let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in 2463 | I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PTyp _|STyp (_, _)) File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44: 2545 | .....let Some w = w in 2546 | let ctx_branches = List.map (make_ctx_branch w) bs in 2547 | I.ContextSplit (i, tau_i, ctx_branches) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17: 2562 | .....let (cD', cG', Int.LF.Empty, tau', _) = 2563 | Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau) 2564 | in 2565 | let hyp = 2566 | elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id) 2567 | in 2568 | I.Intros hyp Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', cG', Dec (_, WfRec (_, _, _)), _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Translate.cmo -c -impl src/harpoon/translate.ml) File "src/harpoon/translate.ml", lines 25-26, characters 5-58: 25 | .....let LF.Dec (cG', Comp.CTypDecl (x, _, _)) = cG' in 26 | (cD', cG', fun e -> Comp.Fn (Location.ghost, x, f e)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG', CTypDeclOpt _) File "src/harpoon/translate.ml", lines 29-33, characters 5-6: 29 | .....let LF.Dec (cD', LF.Decl { name = x; plicity; _ }) = cD' in 30 | ( cD' 31 | , cG' 32 | , fun e -> Comp.MLam (Location.ghost, x, f e, plicity) 33 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/harpoon/translate.ml", lines 56-68, characters 10-40: 56 | ..........match cU with 57 | | (ClTyp ( (MTyp _ | PTyp _), cPsi )) -> 58 | let tM = 59 | Root 60 | ( Location.ghost ... 65 | in 66 | ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, t)), MObj tM) 67 | | CTyp _ -> 68 | CObj (CtxVar (CtxOffset 1)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/harpoon/translate.ml", lines 131-149, characters 5-8: 131 | .....let (cD', cG', LF.Empty, tau', t) = 132 | Check.Comp.unroll cD cG LF.Empty tau 133 | in 134 | (* cD' |- t : cD 135 | is a weakening meta-substitution *) ... 146 | P.(fmt_ppr_cmp_gctx cD_orig l0) cG_orig 147 | end; 148 | assert (Whnf.convMCtx cD_orig cD && Whnf.convGCtx (cG_orig, Whnf.m_id) (cG, t)); 149 | f e Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', cG', Dec (_, WfRec (_, _, _)), _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Coverage.cmo -c -impl src/core/coverage.ml) File "src/core/coverage.ml", line 76, characters 21-63: 76 | Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/coverage.ml", lines 75-78, characters 2-5: 75 | ..let Some (CTypDecl (_, tau, _)) = 76 | Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y)) 77 | in 78 | tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (CTypDeclOpt _) File "src/core/coverage.ml", lines 195-210, characters 20-37: 195 | ....................(LF.Atom (_, a, _) as tP) = 196 | let (cPhi, lazy s_proj, lazy s_tup) = ConvSigma.gen_flattening cD cPsi in 197 | (* cPsi |- s_proj : cPhi 198 | cPhi |- s_tup : cPsi 199 | cPhi |- tQ where cPsi |- tP !! tQ = [s_tup]tP !! *) ... 207 | cPsi |- s_proj : cPhi 208 | cPsi |- comp ss' s_proj : cPhi' *) 209 | let ss_proj = S.LF.comp ss' s_proj in 210 | (ss_proj, (cPhi', LF.tclo tQ ssi')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)) File "src/core/coverage.ml", lines 214-218, characters 4-74: 214 | ....match tA with 215 | | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit) 216 | | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) -> 217 | let tM = eta (tB0, s) LF.Nil in 218 | LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/coverage.ml", lines 271-281, characters 4-58: 271 | ....function 272 | | MetaSub (cPsi, s, LF.STyp (_, cPhi)) -> 273 | fprintf ppf "%a |- %a : %a" 274 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi 275 | (P.fmt_ppr_lf_sub cD cPsi P.l0) s ... 278 | fprintf ppf "%a |- %a : %a" 279 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi 280 | (P.fmt_ppr_lf_normal cD cPsi P.l0) tR 281 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MetaSub (cPsi, s, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 304-308, characters 4-73: 304 | ....function 305 | | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi 306 | | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi) 307 | | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA) 308 | | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CovSub (cPsi, s, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 483-484, characters 7-73: 483 | .......let Comp.TypBox (_, mT) = tau_sc in 484 | check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)| TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _) File "src/core/coverage.ml", lines 545-546, characters 9-44: 545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 546 | Yes ((tA, S.LF.id), (tA', S.LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 543-547, characters 7-10: 543 | .......begin 544 | let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in 545 | let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 546 | Yes ((tA, S.LF.id), (tA', S.LF.id)) 547 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 580-619, characters 5-8: 580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in 581 | dprintf 582 | begin fun p -> 583 | p.fmt "[pre_match_head] @[<v>pvar - case\ 584 | @,pattern: @[@[%a@]@ |- @[%a@]@]\ ... 616 | end; 617 | SplitCand 618 | (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *) 619 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (BVar _|Const _|MMVar (({instantiation=_; constraints=_; _ }, _), _)| MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)| FPVar (_, _)|HClo (_, _, _)| HMClo (_, (({instantiation=_; constraints=_; _ }, _), _))) File "src/core/coverage.ml", lines 638-639, characters 9-44: 638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 639 | Yes ((tA, S.LF.id), (tA', S.LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 636-640, characters 7-10: 636 | .......begin 637 | let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in 638 | let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 639 | Yes ((tA, S.LF.id), (tA', S.LF.id)) 640 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 695-708, characters 5-59: 695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in 696 | let covGoal' = 697 | CovGoal 698 | ( LF.DDec (cPsi, S.LF.decSub tdecl s) 699 | , tM, (tB, S.LF.dot1 s) ... 705 | , tN, (tB', S.LF.dot1 s') 706 | ) 707 | in 708 | pre_match cD cD_p covGoal' patt' matchCands splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Atom (_, _, _)|Sigma _|TClo (_, _)), _) File "src/core/coverage.ml", lines 694-708, characters 5-59: 694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in 695 | let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in 696 | let covGoal' = 697 | CovGoal 698 | ( LF.DDec (cPsi, S.LF.decSub tdecl s) ... 705 | , tN, (tB', S.LF.dot1 s') 706 | ) 707 | in 708 | pre_match cD cD_p covGoal' patt' matchCands splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Atom (_, _, _)|Sigma _|TClo (_, _)), _) File "src/core/coverage.ml", lines 692-737, characters 2-8: 692 | ..match (tM, tN) with 693 | | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) -> 694 | let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in 695 | let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in 696 | let covGoal' = ... 734 | (Eqn (covGoal, patt) :: matchCands, splitCands) 735 | 736 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) 737 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _))) File "src/core/coverage.ml", lines 684-737, characters 2-8: 684 | ..let MetaPatt (cPhi, tN, sA') = patt in 685 | dprintf 686 | begin fun p -> 687 | p.fmt "[pre_match] @[<v>cov goal: @[%a@]\ 688 | @,pattern: @[%a@]@]" ... 734 | (Eqn (covGoal, patt) :: matchCands, splitCands) 735 | 736 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) 737 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaSub (_, _, _)|GenPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 683-737, characters 2-8: 683 | ..let CovGoal (cPsi, tM, sA) = covGoal in 684 | let MetaPatt (cPhi, tN, sA') = patt in 685 | dprintf 686 | begin fun p -> 687 | p.fmt "[pre_match] @[<v>cov goal: @[%a@]\ ... 734 | (Eqn (covGoal, patt) :: matchCands, splitCands) 735 | 736 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) 737 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 744-758, characters 5-18: 744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in 745 | let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in 746 | let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in 747 | let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in 748 | let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in ... 755 | (cPsi, tS, sB2') 756 | (cPsi', tS', sC2') 757 | matchCands' 758 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 743-758, characters 5-18: 743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in 744 | let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in 745 | let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in 746 | let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in 747 | let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in ... 755 | (cPsi, tS, sB2') 756 | (cPsi', tS', sC2') 757 | matchCands' 758 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 740-758, characters 2-18: 740 | ..match (tS, tS') with 741 | | (LF.Nil, LF.Nil) -> (matchCands, splitCands) 742 | | (LF.App (tM, tS), LF.App (tM', tS')) -> 743 | let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in 744 | let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in ... 755 | (cPsi, tS, sB2') 756 | (cPsi', tS', sC2') 757 | matchCands' 758 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Nil, (App (_, _)|SClo _)) File "src/core/coverage.ml", lines 793-797, characters 5-63: 793 | .....let LF.TypDecl (_, tA1) = tdecl1 in 794 | let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in 795 | let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in 796 | let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in 797 | pre_match_sub cD cD_p covGoal patt matchCands' splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 792-797, characters 5-63: 792 | .....let LF.TypDecl (_, tA0) = tdecl0 in 793 | let LF.TypDecl (_, tA1) = tdecl1 in 794 | let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in 795 | let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in 796 | let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in 797 | pre_match_sub cD cD_p covGoal patt matchCands' splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 763-816, characters 2-74: 763 | ..match ((s0, cPhi0), (s1, cPhi1)) with 764 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) 765 | | ((LF.Shift k, _), (LF.Shift n, _)) -> 766 | if n = k 767 | then (matchCands, splitCands) ... 813 | 814 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) 815 | 816 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Shift _, _), (Dot (Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), _), _)) File "src/core/coverage.ml", lines 762-816, characters 2-74: 762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in 763 | match ((s0, cPhi0), (s1, cPhi1)) with 764 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) 765 | | ((LF.Shift k, _), (LF.Shift n, _)) -> 766 | if n = k ... 813 | 814 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) 815 | 816 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MetaSub (cPsi1, s1, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 761-816, characters 2-74: 761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in 762 | let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in 763 | match ((s0, cPhi0), (s1, cPhi1)) with 764 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) 765 | | ((LF.Shift k, _), (LF.Shift n, _)) -> ... 813 | 814 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) 815 | 816 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CovSub (cPsi0, s0, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 819-830, characters 2-57: 819 | ..match (f0, f1) with 820 | | (LF.Head h0, LF.Head h1) -> 821 | let tM0 = eta_expand (h0, tA0) in 822 | let tM1 = eta_expand (h1, tA1) in 823 | let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in ... 827 | | (LF.Obj tM0, LF.Obj tM1) -> 828 | let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in 829 | let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in 830 | pre_match cD cD_p covGoal patt matchCands splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Head h0, (Undef|Obj _)) File "src/core/coverage.ml", lines 839-851, characters 5-18: 839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in 840 | let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in 841 | let patt1 = MetaPatt (cPsi', tM', (tC, s')) in 842 | let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in 843 | let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in ... 848 | (cPsi, tS, sK1') 849 | (cPsi', tS', sK2') 850 | matchCands' 851 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 838-851, characters 5-18: 838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in 839 | let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in 840 | let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in 841 | let patt1 = MetaPatt (cPsi', tM', (tC, s')) in 842 | let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in ... 848 | (cPsi, tS, sK1') 849 | (cPsi', tS', sK2') 850 | matchCands' 851 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 834-851, characters 2-18: 834 | ..match ((tS1, sK1), (tS2, sK2)) with 835 | | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) -> 836 | (matchCands, splitCands) 837 | | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) -> 838 | let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in ... 848 | (cPsi, tS, sK1') 849 | (cPsi', tS', sK2') 850 | matchCands' 851 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Nil, (Typ, _)), (Nil, (PiKind (_, _), _))) File "src/core/coverage.ml", lines 860-903, characters 2-17: 860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with 861 | | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) -> 862 | let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in 863 | let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in 864 | let tS1' = Whnf.normSpine (tS1, s1) in ... 900 | (trec1, s1) 901 | (trec2, s2) 902 | matchCands 903 | splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _)) File "src/core/coverage.ml", lines 907-927, characters 2-12: 907 | ..match (srec1, srec2) with 908 | | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) -> 909 | pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands 910 | 911 | | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) -> ... 924 | (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1)))) 925 | (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2)))) 926 | (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2) 927 | mC sC Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _)) File "src/core/coverage.ml", lines 952-1004, characters 2-31: 952 | ..match ((mO, mt), (mO_p, mtp)) with 953 | | LF.((CObj cPsi, _), (CObj cPsi', _)) -> 954 | pre_match_dctx cD cD_p cPsi cPsi' mC sC 955 | | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) -> 956 | match ((clobj, cltyp), (clobj', cltyp')) with ... 1001 | (mobj cD_p) (loc', mO_p) 1002 | (mtyp cD_p) mtp 1003 | in 1004 | Error.raise_violation s Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _)) File "src/core/coverage.ml", lines 1092-1104, characters 5-10: 1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1093 | let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1094 | let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1095 | let t2 = LF.MDot (mO, t) in 1096 | let t2' = LF.MDot (mO', t') in ... 1101 | (pS, (tau2, t2)) 1102 | (pS', (tau2', t2')) 1103 | mC1 1104 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1091-1104, characters 5-10: 1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1092 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1093 | let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1094 | let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1095 | let t2 = LF.MDot (mO, t) in ... 1101 | (pS, (tau2, t2)) 1102 | (pS', (tau2', t2')) 1103 | mC1 1104 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1110-1122, characters 5-10: 1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1111 | let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1112 | let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1113 | let t2 = LF.MDot (mO, t) in 1114 | let t2' = LF.MDot (mO', t') in ... 1119 | (pS, (tau2, t2)) 1120 | (pS', (tau2', t2')) 1121 | mC1 1122 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1109-1122, characters 5-10: 1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1110 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1111 | let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1112 | let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1113 | let t2 = LF.MDot (mO, t) in ... 1119 | (pS, (tau2, t2)) 1120 | (pS', (tau2', t2')) 1121 | mC1 1122 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1128-1134, characters 5-84: 1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1129 | let tau1 = LF.CTyp w in 1130 | let tau1' = LF.CTyp w' in 1131 | let t2 = LF.MDot (mO, t) in 1132 | let t2' = LF.MDot (mO', t')in 1133 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in 1134 | match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1127-1134, characters 5-84: 1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1128 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1129 | let tau1 = LF.CTyp w in 1130 | let tau1' = LF.CTyp w' in 1131 | let t2 = LF.MDot (mO, t) in 1132 | let t2' = LF.MDot (mO', t')in 1133 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in 1134 | match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1139-1147, characters 5-51: 1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1140 | let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in 1141 | let mT1 = mk_cltyp cl cPhi cPsi t in 1142 | let mT2 = mk_cltyp cl' cPhi' cPsi' t' in 1143 | let t2 = LF.MDot (mO, t) in 1144 | let t2' = LF.MDot (mO', t') in 1145 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in 1146 | match_spines (cD, cG) (cD_p, cG_p) 1147 | (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1138-1147, characters 5-51: 1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1139 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1140 | let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in 1141 | let mT1 = mk_cltyp cl cPhi cPsi t in 1142 | let mT2 = mk_cltyp cl' cPhi' cPsi' t' in 1143 | let t2 = LF.MDot (mO, t) in 1144 | let t2' = LF.MDot (mO', t') in 1145 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in 1146 | match_spines (cD, cG) (cD_p, cG_p) 1147 | (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1186-1224, characters 2-8: 1186 | ..match Whnf.whnfTyp sA with 1187 | | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) -> 1188 | (* cPsi' |- Pi x:A.B <= typ 1189 | cPsi |- s <= cPsi' 1190 | cPsi |- tN <= [s]tA ... 1221 | Some LF.Nil 1222 | with 1223 | | U.Failure _ -> None 1224 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 1343-1349, characters 2-29: 1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *) 1344 | (* We call expand_head_sigma here because it might be *projections* 1345 | of the bound variable that are relevant to the matching. 1346 | *) 1347 | expand_head_sigma (LF.BVar i, tA) 1348 | |> List.map (fun (tH, tA) -> (tH, tA, 0)) 1349 | |> genAllObj (cD, cPsi, tP) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 1484-1492, characters 7-10: 1484 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) -> 1485 | let cg' = 1486 | ( cPsi' 1487 | , LF.Lam (Location.ghost, x, tM) 1488 | , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id) 1489 | ) 1490 | in 1491 | (cD', cg', ms) 1492 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', ((Null|CtxVar _), _, (_, _)), _) File "src/core/coverage.ml", lines 1468-1493, characters 2-14: 1468 | ..match tA with 1469 | | LF.Atom _ -> 1470 | genPVar cov_problem @ genBVars cov_problem 1471 | | LF.Sigma trec -> 1472 | Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types" ... 1490 | in 1491 | (cD', cg', ms) 1492 | end 1493 | cg_list Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/coverage.ml", lines 1544-1551, characters 7-10: 1544 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) -> 1545 | ( cD' 1546 | , ( cPsi' 1547 | , LF.Lam (Location.ghost, x, tM) 1548 | , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id)) 1549 | , t 1550 | ) 1551 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', ((Null|CtxVar _), _, (_, _)), _) File "src/core/coverage.ml", lines 1541-1552, characters 5-16: 1541 | .....let LF.TypDecl (x, _) = tdecl in 1542 | let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in 1543 | List.map 1544 | begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) -> 1545 | ( cD' ... 1549 | , t 1550 | ) 1551 | end 1552 | cov_goals Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 1512-1552, characters 2-16: 1512 | ..match tA with 1513 | | LF.Atom (_, a, tS) -> 1514 | let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *) 1515 | dprintf 1516 | begin fun p -> ... 1549 | , t 1550 | ) 1551 | end 1552 | cov_goals Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/coverage.ml", lines 1582-1700, characters 5-8: 1582 | .....begin match mc with 1583 | | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) -> 1584 | let cT = LF.ClTyp (sT, cPsi) in 1585 | let cT_p = LF.ClTyp (sT_p, cPsi_p) in 1586 | let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in ... 1697 | NotSolvable 1698 | end 1699 | end 1700 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _))) File "src/core/coverage.ml", lines 1725-1730, characters 5-11: 1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in 1726 | (* let MetaPatt (cPhi, _, sB') = patt in *) 1727 | (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *) 1728 | (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *) 1729 | let result = pre_match cD cD_p covG patt matchL' splitL' in 1730 | result Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 1719-1741, characters 2-94: 1719 | ..match splitL with 1720 | | [] -> (matchL, []) 1721 | | Split (CovGoal (cPsi, tR, sA), patt) :: splits -> 1722 | let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in 1723 | let tA = Whnf.normTyp sA in ... 1738 | pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL' 1739 | | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits -> 1740 | let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in 1741 | (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Split ((CovCtx _|CovPatt (_, _, _)), _)::_ File "src/core/coverage.ml", lines 1973-2000, characters 5-6: 1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) = 1974 | Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s') 1975 | in 1976 | (* bp : Context substitution associated with declaration is off by 1 *) 1977 | let (ss', cPsi') = Subord.thin' cD'' a cPsi in ... 1997 | in 1998 | ( LF.Dec (cD'', mdec) 1999 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) 2000 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)) File "src/core/coverage.ml", lines 1964-2000, characters 2-6: 1964 | ..match decls with 1965 | | LF.Empty -> (cD', S.LF.id) 1966 | | LF.(Dec (decls, TypDecl (x, tA))) -> 1967 | let x = NameGen.renumber names x in 1968 | let names = x :: names in ... 1997 | in 1998 | ( LF.Dec (cD'', mdec) 1999 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) 2000 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (decls, TypDeclOpt _) File "src/core/coverage.ml", lines 1963-2000, characters 28-6: 1963 | ............................(LF.CtxOffset k as cpsi) (d, decls) = 1964 | match decls with 1965 | | LF.Empty -> (cD', S.LF.id) 1966 | | LF.(Dec (decls, TypDecl (x, tA))) -> 1967 | let x = NameGen.renumber names x in ... 1997 | in 1998 | ( LF.Dec (cD'', mdec) 1999 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) 2000 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxName _|CInst ({instantiation=_; constraints=_; _ }, _)) File "src/core/coverage.ml", lines 2096-2099, characters 17-34: 2096 | .................(LF.Dec (cD', LF.Decl _) as cD) cpsi = 2097 | let nonempty_cases = List.map (genSchemaElemGoal names cD cpsi) in 2098 | let empty_case = List.cons (cD', LF.Null, LF.MShift 0) in 2099 | F.(empty_case ++ nonempty_cases) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/coverage.ml", lines 2123-2136, characters 23-38: 2123 | .......................(x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) = 2124 | let LF.Schema elems = Store.Cid.Schema.get_schema schema_cid in 2125 | let cD' = 2126 | LF.Dec 2127 | (cD ... 2133 | } 2134 | ) 2135 | in 2136 | genCtx [] cD' (LF.CtxOffset 1) elems Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (x, CTyp None, _, _) File "src/core/coverage.ml", lines 2144-2178, characters 5-87: 2144 | .....let LF.TypDecl (x, tA) = decl in 2145 | let s = LF.SVar (2, 0, S.LF.id) in 2146 | let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in 2147 | let name = Whnf.newMTypName mT in 2148 | let cD' = ... 2175 | in 2176 | let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in 2177 | let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in 2178 | [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)] Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 2186-2239, characters 2-8: 2186 | ..match cT with 2187 | | LF.ClTyp (clTyp, cPsi) -> 2188 | begin match clTyp with 2189 | | LF.MTyp tA -> 2190 | dprintf ... 2236 | , Atomic 2237 | ) 2238 | end 2239 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/coverage.ml", lines 2249-2250, characters 11-60: 2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in 2250 | genContextGoals cD' (x, cU, plicity, inductivity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/coverage.ml", lines 2242-2278, characters 2-58: 2242 | ..match (cv_list, cD) with 2243 | | ([], _) -> NoCandidate 2244 | | ([LF.CtxOffset j], LF.Dec (cD', d)) -> 2245 | if j = k 2246 | then ... 2275 | SomeCtxCands ctx_goals' 2276 | end 2277 | else 2278 | best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxOffset j::[], Empty) File "src/core/coverage.ml", lines 2308-2309, characters 25-35: 2308 | .........................let LF.Root (_, tH, _, _) = tR in 2309 | LF.PObj tH Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/coverage.ml", lines 2302-2309, characters 22-35: 2302 | ......................match cT with 2303 | (* gonna be a ClTyp because we're in the CovGoal branch *) 2304 | | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR 2305 | | LF.ClTyp (LF.PTyp _, _) -> 2306 | (* ensure that PTyp is added as a PObj to the 2307 | msub; otherwise normalization WILL crash. *) 2308 | let LF.Root (_, tH, _, _) = tR in 2309 | LF.PObj tH Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/core/coverage.ml", lines 2294-2331, characters 17-50: 2294 | .................match cg with 2295 | | CovGoal (cPsi', tR, sA') -> 2296 | dprintf 2297 | begin fun p -> 2298 | p.fmt "[best_cand] generated covgoal @[%a@]" ... 2328 | , Whnf.cnormClTyp (sT, LF.MShift k) 2329 | ) 2330 | in 2331 | TermCandidate (cD'', cg', ms0). Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovPatt (_, _, _)) File "src/core/coverage.ml", lines 2335-2348, characters 11-17: 2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with 2336 | | NoCandidate -> SomeTermCands (dep0, cov_goals0) 2337 | | SomeTermCands (dep, cov_goals) -> 2338 | begin match dep, dep0 with 2339 | | Dependent, Atomic -> SomeTermCands (dep, cov_goals) ... 2345 | then SomeTermCands (dep, cov_goals) 2346 | else SomeTermCands (dep0, cov_goals0) 2347 | *) 2348 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: SomeCtxCands _ File "src/core/coverage.ml", lines 2282-2356, characters 2-55: 2282 | ..match (mv_list, cD) with 2283 | | ([], _) -> NoCandidate 2284 | | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) -> 2285 | if k = j 2286 | then ... 2353 | best_cand (cD', mvlist') (k + 1) (md :: cD_tail) 2354 | end 2355 | else 2356 | best_cand (cD', mv_list) (k + 1) (md :: cD_tail) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Offset j::mvlist', Dec (cD', DeclOpt _)) File "src/core/coverage.ml", lines 2430-2438, characters 7-13: 2430 | .......match cl with 2431 | | LF.PTyp _ -> 2432 | let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in 2433 | LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id))) 2434 | | LF.MTyp _ -> 2435 | LF.MObj 2436 | (ConvSigma.etaExpandMMVstr 2437 | Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names) 2438 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/coverage.ml", lines 2581-2594, characters 6-9: 2581 | ......begin fun (CovGoal (cPsi', tR, sA')) -> 2582 | let m_obj = 2583 | ( Location.ghost 2584 | , LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR) 2585 | ) ... 2591 | ) 2592 | in 2593 | (LF.Empty, pat_r, tau_r) 2594 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 2630-2632, characters 10-46: 2630 | ..........match tC with 2631 | | MTyp _ -> fun sA -> MTyp (TClo sA) 2632 | | PTyp _ -> fun sA -> PTyp (TClo sA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/coverage.ml", lines 2626-2667, characters 5-8: 2626 | .....begin match mT with 2627 | | LF.(ClTyp (tC, cPsi)) -> 2628 | let f = 2629 | let open LF in 2630 | match tC with ... 2664 | , t 2665 | ) 2666 | end 2667 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp None File "src/core/coverage.ml", lines 2714-2762, characters 2-55: 2714 | ..function 2715 | | [] -> vlist 2716 | | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl -> 2717 | let (pvlist, cvlist, mvlist) = vlist in 2718 | if List.mem u mvlist ... 2759 | let (pvlist, cvlist, mvlist) = vlist in 2760 | if List.mem x pvlist 2761 | then mvInSplit cD vlist sl 2762 | else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: SplitCtx ((Null|DDec (_, _)), _)::_ File "src/core/coverage.ml", lines 2773-2778, characters 30-13: 2773 | ..............................(LF.Offset k') -> 2774 | if k' < k 2775 | then 1 2776 | else if k' = k 2777 | then 0 2778 | else -1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Inst {instantiation=_; constraints=_; _ } File "src/core/coverage.ml", lines 2773-2779, characters 6-9: 2773 | ......begin fun (LF.Offset k) (LF.Offset k') -> 2774 | if k' < k 2775 | then 1 2776 | else if k' = k 2777 | then 0 2778 | else -1 2779 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Inst {instantiation=_; constraints=_; _ } File "src/core/coverage.ml", lines 2784-2789, characters 33-13: 2784 | .................................(LF.CtxOffset k') -> 2785 | if k' < k 2786 | then 1 2787 | else if k' = k 2788 | then 0 2789 | else -1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxName _|CInst ({instantiation=_; constraints=_; _ }, _)) File "src/core/coverage.ml", lines 2784-2790, characters 6-9: 2784 | ......begin fun (LF.CtxOffset k) (LF.CtxOffset k') -> 2785 | if k' < k 2786 | then 1 2787 | else if k' = k 2788 | then 0 2789 | else -1 2790 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxName _|CInst ({instantiation=_; constraints=_; _ }, _)) File "src/core/coverage.ml", line 2867, characters 50-80: 2867 | Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxCandidate (_, _, _) File "src/core/coverage.ml", lines 2903-2908, characters 2-33: 2903 | ..function 2904 | | Comp.PatNil -> Comp.PatNil 2905 | | Comp.PatApp (loc, pat, pS) -> 2906 | let pat' = subst_pattern (pat_r, pv) pat in 2907 | let pS' = subst_pattern_spine (pat_r, pv) pS in 2908 | Comp.PatApp (loc, pat', pS') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) File "src/core/coverage.ml", lines 2979-2995, characters 32-52: 2979 | ................................(x :: pvlist) = 2980 | let cov_goals' = 2981 | List.map 2982 | begin fun (cD', (cG', pat, tau_p), t) -> 2983 | (cD', (Context.append (Whnf.cnormGCtx (cG, t)) cG', pat, tau_p), t) ... 2992 | cov_goals' 2993 | end; 2994 | let l = List.length cov_goals' in 2995 | best_pv_cand' (cD, cG) pvlist (l, (cov_goals', x)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/coverage.ml", lines 3002-3013, characters 2-40: 3002 | ..match sl with 3003 | | [] -> pvlist 3004 | | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist 3005 | | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist 3006 | | SplitCtx _ :: sl -> pvInSplitCand sl pvlist ... 3010 | ); 3011 | if List.mem x pvlist 3012 | then pvInSplitCand sl pvlist 3013 | else pvInSplitCand sl (x :: pvlist) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Split ((CovCtx _|CovPatt (_, _, _)), _)::_ File "src/core/coverage.ml", lines 3223-3231, characters 2-27: 3223 | ..let CovPatt (cG', pat', ttau') = covGoal in 3224 | dprintf 3225 | begin fun p -> 3226 | p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]" 3227 | (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat 3228 | (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat' 3229 | end; 3230 | let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in 3231 | Cand (cD_p, cG_p, ml, sl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _)) File "src/core/coverage.ml", lines 3222-3231, characters 33-27: 3222 | .................................(cD_p, GenPatt (cG_p, pat, ttau)) = 3223 | let CovPatt (cG', pat', ttau') = covGoal in 3224 | dprintf 3225 | begin fun p -> 3226 | p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]" 3227 | (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat 3228 | (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat' 3229 | end; 3230 | let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in 3231 | Cand (cD_p, cG_p, ml, sl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _))) File "src/core/coverage.ml", lines 3399-3434, characters 2-50: 3399 | ..function 3400 | | LF.Empty -> false 3401 | | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) -> 3402 | begin 3403 | try ... 3431 | print_string "Unable to prove given type is empty\n"; check_emptiness cD' 3432 | end 3433 | 3434 | | LF.Dec (cD', LF.Decl _) -> check_emptiness cD' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/coverage.ml", lines 3437-3447, characters 2-8: 3437 | ..function 3438 | | LF.Empty -> false 3439 | | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) -> 3440 | begin 3441 | try ... 3444 | | _ -> check_empty_comp names cD cG 3445 | with 3446 | | _ -> check_empty_comp names cD cG 3447 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Automation.cmo -c -impl src/harpoon/automation.ml) File "src/harpoon/automation.ml", lines 107-115, characters 7-10: 107 | .......let LF.ClTyp (_, cPsi) as cU = Whnf.cnormMTyp (cU, t) in 108 | let head = MVar (Offset idx, S.LF.id) in 109 | let clobj = MObj (Root (Location.ghost, head, Nil, Plicity.explicit)) in 110 | let psi_hat = Context.dctxToHat cPsi in 111 | Box 112 | ( Location.ghost 113 | , (Location.ghost, ClObj (psi_hat, clobj)) 114 | , cU 115 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/optparser/.optparser.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/byte/harpoon__Tactic.cmo -c -impl src/harpoon/tactic.ml) File "src/harpoon/tactic.ml", lines 227-231, characters 7-55: 227 | .......match cG with 228 | | LF.Dec (cG', Comp.CTypDecl (n, tA, _)) when k == 1 -> 229 | LF.Dec (cG', Comp.CTypDecl (n, tA, false)) 230 | | LF.Dec (cG', decl) -> 231 | LF.Dec (unmark_inductive_var cG' (k-1), decl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/harpoon/tactic.ml", lines 453-468, characters 12-72: 453 | ............let LF.(MObj (Root (_, h, _, _))) = tM in 454 | match h with 455 | | LF.PVar (n, s) -> `pvar None 456 | | LF.(Proj (PVar (n, s), k)) -> `pvar (Some k) 457 | | LF.Const cid -> `ctor cid ... 465 | P.(fmt_ppr_cmp_pattern cD cG l0) pat 466 | end; 467 | Error.raise_violation 468 | "[make_meta_branch] head neither pvar (proj) nor const" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MObj (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/core/.beluga.objs/byte -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/parser/.beluga_parser.objs/byte -I src/support/.support.objs/byte -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/synext/.synext.objs/byte -I src/syntax/synint/.synint.objs/byte -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/byte/beluga__Logic.cmo -c -impl src/core/logic.ml) File "src/core/logic.ml", lines 190-203, characters 4-36: 190 | ....match tN with 191 | | LF.Lam (l, n, tN') -> 192 | begin 193 | incr lR; 194 | let tM = LF.Lam (l, n, shiftNormal tN' k) in ... 200 | | LF.Clo (tN, s) -> 201 | LF.Clo (shiftNormal tN k, s) 202 | | LF.Tuple (l, tP) -> 203 | LF.Tuple (l, shiftTuple tP k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: LFHole (_, _, _) File "src/core/logic.ml", lines 241-251, characters 4-8: 241 | ....match tA with 242 | | LF.PiTyp ((tD, _, Plicity.Implicit), tA') -> 243 | typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR) 244 | | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) -> 245 | typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR))) ... 248 | { tHead = (Shift.shiftAtom tA (-cS, -dS, dR)) 249 | ; eVars = eV 250 | ; subGoals = cG 251 | } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, Explicit), _) File "src/core/logic.ml", lines 297-306, characters 4-30: 297 | ....match tA with 298 | | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') -> 299 | All (tdec, typToGoal tA' (cS, dS, dR + 1)) 300 | | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) -> 301 | Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1)) 302 | | LF.Atom _ -> 303 | Atom (Shift.shiftAtom tA (-cS, -dS, dR)) 304 | | LF.TClo (tA, s) -> 305 | dprintf begin fun p -> p.fmt "[typToGoal] TClo" end; 306 | raise NotImplementedYet Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, Explicit), _) File "src/core/logic.ml", lines 309-315, characters 4-47: 309 | ....match tM with 310 | | LF.PiTyp ((tD, _, Plicity.Implicit), tM') -> 311 | Exists (tD, typToRes tM' (cS, dS, dR + 1)) 312 | | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) -> 313 | And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1)) 314 | | LF.Atom _ -> 315 | Head (Shift.shiftAtom tM (-cS, -dS, dR)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, Explicit), _) File "src/core/logic.ml", lines 326-348, characters 4-34: 326 | ....match tau with 327 | | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) -> 328 | (* Invariant: tA will always be atomic in our implementation *) 329 | Box (cPsi, Atom tA, Some M) 330 | (* possibly needs to have PiBox variables shifted; ... 345 | let typ_dec = Comp.CTypDecl (name, tau1 , true) in 346 | Implies ((cr1, typ_dec), cg2) 347 | | Comp.TypBase (_, comp_cid, s) -> 348 | Atomic (comp_cid, msToAs s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypBox (_, CTyp _) File "src/core/logic.ml", lines 351-358, characters 4-47: 351 | ....match tau with 352 | | Comp.TypBox (_) | Comp.TypBase(_) -> 353 | Base tau 354 | | Comp.TypArr (_, tau1, tau2) -> 355 | CAnd (comptypToCompGoal tau1, comptypToCompRes tau2) 356 | | Comp.TypPiBox (_, typ_dec, tau') -> 357 | CExists (typ_dec, comptypToCompRes tau') 358 | | Comp.TypInd tau' -> comptypToCompRes tau' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)) File "src/core/logic.ml", lines 394-402, characters 4-30: 394 | ....match box with 395 | | Box (cPsi, Atom tA, Some M) -> 396 | let loc = Location.ghost in 397 | let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in 398 | Comp.TypBox (loc, ctyp) 399 | | Box (cPsi, Atom tA, Some P) -> 400 | let loc = Location.ghost in 401 | let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in 402 | Comp.TypBox (loc, ctyp) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Box (_, Atom _, None) File "src/core/logic.ml", lines 412-416, characters 4-34: 412 | ....match atomic with 413 | | Atomic (cid, aS) -> 414 | let loc = Location.ghost in 415 | let mS = asToMs aS in 416 | Comp.TypBase (loc, cid, mS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Box (_, _, _)|Implies ((_, _), _)|Forall (_, _)) File "src/core/logic.ml", lines 434-443, characters 4-10: 434 | ....match tA with 435 | | LF.Atom _ -> 436 | let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in 437 | LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit) 438 | | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) -> 439 | LF.Lam 440 | ( Location.ghost 441 | , x 442 | , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s) 443 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/logic.ml", lines 462-470, characters 4-68: 462 | ....match eV with 463 | | LF.DDec (eV', LF.TypDecl (_, tA)) -> 464 | let (s', fS') = dctxToSub cD cPsi (eV', s) fS in 465 | let tM' = etaExpand cD cPsi (tA, s') in 466 | (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS)))) 467 | | LF.Null -> (s, fS) 468 | | LF.CtxVar _ -> 469 | invalid_arg 470 | "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _." Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (eV', TypDeclOpt _) File "src/core/logic.ml", lines 475-481, characters 4-28: 475 | ....match eV with 476 | | LF.DDec (eV', LF.TypDecl (_, tA)) -> 477 | let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in 478 | let tM' = etaExpand cD cPsi (tA, s') in 479 | (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS)))) 480 | | LF.Null -> (s, fS) 481 | | LF.CtxVar _ -> (s, fS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (eV', TypDeclOpt _) File "src/core/logic.ml", lines 500-501, characters 6-52: 500 | ......match lst with 501 | | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 510-513, characters 6-20: 510 | ......match dctx with 511 | | LF.DDec (dctx', _) -> find_ctxvar_offset dctx' 512 | | LF.CtxVar (LF.CtxOffset k) -> k 513 | | LF.Null -> 0 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/logic.ml", lines 697-709, characters 9-47: 697 | .........(match mtyp with 698 | | LF.ClTyp (LF.MTyp _, _) -> 699 | let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in 700 | let mfront = Whnf.mmVarToMFront loc mmV mtyp in 701 | comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms)) ... 706 | comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms)) 707 | ((x, (loc, mfront)) :: xs) 708 | | LF.CTyp cid_opt -> 709 | comptypToMQuery' (tau', i-1) ms xs) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/core/logic.ml", lines 696-709, characters 9-47: 696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in 697 | (match mtyp with 698 | | LF.ClTyp (LF.MTyp _, _) -> 699 | let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in 700 | let mfront = Whnf.mmVarToMFront loc mmV mtyp in ... 706 | comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms)) 707 | ((x, (loc, mfront)) :: xs) 708 | | LF.CTyp cid_opt -> 709 | comptypToMQuery' (tau', i-1) ms xs) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/logic.ml", lines 1084-1094, characters 4-72: 1084 | ....match r with 1085 | | Head tH -> 1086 | fmt_ppr_typ cD cPsi ppf (tH, s) 1087 | | And (g, r') -> 1088 | fprintf ppf "%a -> %a" ... 1091 | | Exists (LF.TypDecl (_, _tA) as tD, r') -> 1092 | fprintf ppf "(∃%a. %a)" 1093 | (fmt_ppr_decl cD cPsi) (tD, s) 1094 | (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Exists (TypDeclOpt _, _) File "src/core/logic.ml", lines 1305-1332, characters 4-19: 1305 | ....match s with 1306 | | LF.Shift _ -> true 1307 | | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') -> 1308 | if uninstantiated hd then false 1309 | else check_sub s' ... 1329 | if uninstantiated hd then false 1330 | else check_sub s' 1331 | | LF.Dot (_, s') -> 1332 | check_sub s' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/logic.ml", lines 1337-1339, characters 6-48: 1337 | ......match cD with 1338 | | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity 1339 | | LF.Dec (cD', _) -> get_plicity cD' (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/logic.ml", lines 1394-1412, characters 4-30: 1394 | ....match g with 1395 | | Atom tA -> 1396 | matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth) 1397 | 1398 | | Impl ((r, (LF.TypDecl (x, _) as tD)), g') -> ... 1409 | So we just prove the conclusion in an extended context. *) 1410 | gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s) 1411 | (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM))) 1412 | (currDepth, maxDepth) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Impl ((r, TypDeclOpt _), _) File "src/core/logic.ml", lines 1444-1446, characters 17-29: 1444 | .................match cltyp with 1445 | | LF.MTyp tau -> tau 1446 | | LF.PTyp tau -> tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 1439-1483, characters 4-96: 1439 | ....match cD with 1440 | | LF.Empty -> raise NoSolution 1441 | | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) -> 1442 | solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal) 1443 | | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) -> ... 1480 | end 1481 | with 1482 | | U.Failure _ -> 1483 | solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, DeclOpt _) File "src/core/logic.ml", lines 1496-1600, characters 4-76: 1496 | ....match s with 1497 | | LF.Shift _ -> 1498 | dprintf begin fun p -> 1499 | p.fmt "[trivially_prove] s_all = %a" 1500 | (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all ... 1597 | with 1598 | | U.Failure _ | NoSolution -> raise NoSolution) 1599 | | LF.Dot (_, s') -> 1600 | trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/logic.ml", lines 2260-2263, characters 4-25: 2260 | ....match cG with 2261 | | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name 2262 | | LF.Dec (cG', Comp.CTypDecl (name, _, _)) -> 2263 | get_name (k-1) cG' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG', CTypDeclOpt _) File "src/core/logic.ml", lines 2337-2340, characters 4-21: 2337 | ....match cdecl with 2338 | | Comp.CTypDecl (_, tau, _) -> 2339 | let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in 2340 | (cc, k, Boxed) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/logic.ml", lines 2416-2417, characters 9-57: 2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in 2417 | update cP' cG' (prependToCPool cc' cP_ret) (k+1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Full (Full (_, (_, _, _)), (_, _, _)) File "src/core/logic.ml", lines 2407-2418, characters 6-33: 2407 | ......match (cP, cG) with 2408 | | (Emp, LF.Dec(cG', cdecl)) -> 2409 | let cc = decToCC cdecl 1 in 2410 | let cP_ret' = shift_cPool cP_ret 1 in 2411 | update cP cG' (prependToCPool cc cP_ret') (k+1) ... 2415 | if pos' = k then unbox cc else cc in 2416 | let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in 2417 | update cP' cG' (prependToCPool cc' cP_ret) (k+1) 2418 | | (Emp, LF.Empty) -> cP_ret Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Full (cP', cc), Empty) File "src/core/logic.ml", lines 2470-2476, characters 6-36: 2470 | ......match tA with 2471 | | LF.Atom (l, cid, sp) -> 2472 | LF.Atom (l, cid, remove_sp sp) 2473 | | LF.PiTyp ((td, depend, plicity), tA') -> 2474 | LF.PiTyp ((td, depend, plicity), remove_typ tA) 2475 | | LF.TClo (tA', s) -> 2476 | LF.TClo (remove_typ tA', s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Sigma _ File "src/core/logic.ml", lines 2495-2508, characters 6-49: 2495 | ......match tau with 2496 | | Comp.TypBase (l, cid, mS) -> 2497 | Comp.TypBase (l, cid, remove_mS mS) 2498 | | Comp.TypBox (l, mT) -> 2499 | (match mT with ... 2505 | | Comp.TypArr (l, tau1, tau2) -> 2506 | Comp.TypArr (l, remove_tau tau1, remove_tau tau2) 2507 | | Comp.TypPiBox (l, cdec, tau') -> 2508 | Comp.TypPiBox (l, cdec, remove_tau tau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _) File "src/core/logic.ml", lines 2731-2741, characters 9-52: 2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in 2732 | let mmvar' = 2733 | Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity 2734 | mmvar.LF.inductivity in 2735 | let norm = LF.Root (noLoc, ... 2738 | let mf = LF.ClObj (dctx_hat, LF.MObj norm) in 2739 | let x = Comp.M ((noLoc, mf), mT) in 2740 | let (xs, sub) = gen_new_ih_args lst' ys in 2741 | (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/logic.ml", lines 2752-2762, characters 9-52: 2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in 2753 | let mmvar' = 2754 | Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity 2755 | mmvar.LF.inductivity in 2756 | let norm = LF.Root (noLoc, LF.MMVar ... 2759 | let mf = LF.ClObj (dctx_hat, LF.MObj norm) in 2760 | let x = Comp.M ((noLoc, mf), mT) in 2761 | let (xs, sub) = gen_new_ih_args lst' ys in 2762 | (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/logic.ml", lines 2771-2779, characters 9-58: 2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in 2772 | let mmvar' = 2773 | Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity 2774 | mmvar.LF.inductivity in 2775 | let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in 2776 | let mf = LF.ClObj (dctx_hat, LF.PObj hd) in 2777 | let x = Comp.M ((noLoc, mf), mT) in 2778 | let (xs, sub) = gen_new_ih_args lst' ys in 2779 | (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|STyp (_, _)), _) File "src/core/logic.ml", lines 2842-2843, characters 11-44: 2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in 2843 | (loc, LF.ClObj (dh, LF.PObj hd')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/logic.ml", lines 2920-2921, characters 6-42: 2920 | ......match i with 2921 | | Comp.Var(l, k) -> Comp.Var(l, k+1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))| LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)| Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)| Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)| AnnBox (_, (_, _), _)) File "src/core/logic.ml", lines 2977-2978, characters 6-37: 2977 | ......match cltyp with 2978 | | LF.MTyp tA | LF.PTyp tA -> tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 2998-3001, characters 6-58: 2998 | ......match cG_a with 2999 | | [] -> false 3000 | | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' -> 3001 | (Name.equal name name2) || (old_split name cG_a') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CTypDeclOpt _, _, _, _, _, _)::_ File "src/core/logic.ml", lines 3005-3009, characters 6-37: 3005 | ......match cG_a with 3006 | | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a' 3007 | when Name.equal name name2 -> 3008 | (con, thm, bool) 3009 | | x :: xs -> find_split name xs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3013-3065, characters 6-30: 3013 | ......match (cG, cPool) with 3014 | | (LF.Dec(cG', 3015 | ((Comp.CTypDecl (name, Comp.TypBox 3016 | (_, LF.ClTyp (cltyp, cPsi)), _wf)) 3017 | as cdecl)), ... 3062 | | (LF.Dec (cG', _), Full (cPool', _)) -> 3063 | update (cG', cPool', ret) 3064 | 3065 | | (LF.Empty, Emp) -> ret Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dec (cG', _), Emp) File "src/core/logic.ml", lines 3084-3087, characters 6-38: 3084 | ......match cD_a with 3085 | | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a' 3086 | when Name.equal d.name n -> x 3087 | | _ :: cD_a' -> retrieve n cD_a' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3103-3108, characters 21-41: 3103 | .....................match cltyp with 3104 | | LF.MTyp tA -> 3105 | LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), 3106 | LF.Nil, Plicity.explicit)) 3107 | | LF.PTyp tA -> 3108 | LF.PObj (LF.PVar (1, S.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3094-3118, characters 9-31: 3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) = 3095 | retrieve name cD_a in 3096 | let (con', bool') = 3097 | if bool then 3098 | try ... 3115 | let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in 3116 | let x = (tdecl', Some i, con', 1, thm, bool') in 3117 | let ret' = shift_cD_a ret in 3118 | update cD' (x :: ret') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (DeclOpt _, _, _, _, _, _) File "src/core/logic.ml", lines 3126-3131, characters 21-41: 3126 | .....................match cltyp with 3127 | | LF.MTyp tA -> 3128 | LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), 3129 | LF.Nil, Plicity.explicit)) 3130 | | LF.PTyp tA -> 3131 | LF.PObj (LF.PVar (1, S.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3090-3157, characters 6-23: 3090 | ......match cD with 3091 | | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp) 3092 | ; plicity = Plicity.Explicit; _ }) as tdecl)) 3093 | when is_in name cD_a -> 3094 | let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) = ... 3154 | let x = (tdecl', None, con, 1, None, bool) in 3155 | let ret' = shift_cD_a ret in 3156 | update cD' (x :: ret') 3157 | | LF.Empty -> ret Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, DeclOpt _) File "src/core/logic.ml", lines 3243-3251, characters 6-44: 3243 | ......match cG_a with 3244 | | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a' 3245 | when Name.equal name n -> 3246 | (tau, i, thm_var, 3247 | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false) 3248 | :: cG_a', k) 3249 | | x :: cG_a' -> 3250 | let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in 3251 | (tau, i, thm_var, x :: cG_a'', pos) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3256-3264, characters 6-39: 3256 | ......match cD_a with 3257 | | (LF.Decl d, Option.Some i, no, k, thm_var, true) 3258 | :: cD_a' when Name.equal name d.name -> 3259 | let tau = Comp.TypBox(noLoc, d.typ) in 3260 | (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false) 3261 | :: cD_a') 3262 | | x :: cD_a' -> 3263 | let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in 3264 | (tau, i, thm_var, x :: cD_a'') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3330-3332, characters 9-42: 3330 | .........let (Some n) = find_mvar k cD_a in 3331 | let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in 3332 | (tau, i, thm_var, cD_a', cG_a, 0). Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 3358-3365, characters 8-50: 3358 | ........match cG_a with 3359 | | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool) 3360 | :: cG_a' when Name.equal name name2 -> 3361 | (cdecl, con, thm, bool, cG_a') 3362 | | x :: xs -> 3363 | let (tdecl, num, thm_var, bool, cG_a') = 3364 | remove xs in 3365 | (tdecl, num, thm_var, bool, x :: cG_a') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3374-3399, characters 7-25: 3374 | .......(match cltyp with 3375 | | LF.MTyp tA -> 3376 | let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in 3377 | let norm = 3378 | LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in ... 3396 | let i = Comp.AnnBox(noLoc, mobj, ctyp) in 3397 | let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool) 3398 | :: (shift_cD_a cD_a) in 3399 | (cD_a', cG_a')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3403-3428, characters 7-25: 3403 | .......(match cltyp with 3404 | | LF.MTyp _ -> 3405 | let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in 3406 | let norm = 3407 | LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in ... 3425 | let i = Comp.AnnBox(noLoc, mobj, ctyp) in 3426 | let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool) 3427 | :: (shift_cD_a cD_a) in 3428 | (cD_a', cG_a')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3489-3525, characters 7-31: 3489 | .......(match cltyp with 3490 | | LF.MTyp _ -> 3491 | let norm = 3492 | LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), 3493 | LF.Nil, plicity) in ... 3522 | | false -> None 3523 | in 3524 | (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true) 3525 | :: (shift_cD_a cD_a)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3646-3651, characters 4-46: 3646 | ....match cG with 3647 | | LF.Empty -> cPool 3648 | | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) -> 3649 | let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in 3650 | let cc = (clause, (lengthCPool cPool) + 1, Boxed) in 3651 | gen_cPool cG' (prependToCPool cc cPool) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG', CTypDeclOpt _) File "src/core/logic.ml", lines 3898-3900, characters 6-46: 3898 | ......match cD with 3899 | | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name 3900 | | LF.Dec (cD', _) -> find_name cD' (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/logic.ml", lines 4037-4047, characters 22-64: 4037 | ......................match mobj with 4038 | | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _)) 4039 | | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) -> 4040 | mmvar.LF.instantiation := 4041 | Some (LF.INorm (LF.Root (noLoc, ... 4044 | | LF.PObj LF.MPVar ((mmvar, _), _) 4045 | | LF.PObj LF.MMVar ((mmvar, _), _) -> 4046 | mmvar.LF.instantiation := 4047 | Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MObj (Root (_, (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _)) File "src/core/logic.ml", lines 4051-4057, characters 6-26: 4051 | ......match ih_args with 4052 | | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs -> 4053 | if Solver.uninstantiated hd then mobj else grab xs 4054 | | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _)) 4055 | :: xs-> 4056 | if Solver.uninstantiated hd then mobj else grab xs 4057 | | _ :: xs -> grab xs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 4060-4064, characters 14-56: 4060 | ..............match mobj with 4061 | | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _)) 4062 | | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) 4063 | | LF.PObj LF.MPVar ((mmvar, _), _) 4064 | | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MObj (Root (_, (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)| FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)| HMClo (_, (({instantiation=_; constraints=_; _ }, _), _))), _, _)) File "src/core/logic.ml", lines 4079-4090, characters 6-88: 4079 | ......let Some cid = thm_cid in 4080 | let i = Comp.Const(noLoc, cid) in 4081 | let sc' = (fun e -> sc (Comp.Case (noLoc, 4082 | Comp.PragmaNotCase, 4083 | Whnf.cnormExp (fS i, LF.MShift 0), ... 4087 | pattern, 4088 | LF.MShift 0, 4089 | e)]))) in 4090 | find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 4126-4128, characters 21-40: 4126 | .....................match (currDepth, maxDepth) with 4127 | | (Some k, None) -> (k, 0) 4128 | | (Some k1, Some k2) -> (k1, k2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (None, _) File "src/core/logic.ml", lines 4290-4311, characters 9-83: 4290 | .........let Some cid = thm_cid in 4291 | let i = arg_builder (Comp.Const(noLoc, cid)) in 4292 | let (ms', fS) = 4293 | C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in 4294 | let ms'' = rev_ms ms' 0 in ... 4308 | with 4309 | | U.Failure _ | DepthReached _ | End_Of_Search -> 4310 | focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc 4311 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 4595-4597, characters 6-57: 4595 | ......match cG with 4596 | | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau 4597 | | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/logic.ml", lines 4895-4905, characters 10-31: 4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, 4896 | ms_b, pat, td_b, cid)] = blist in 4897 | 4898 | invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b 4899 | (normCompGoal (cg, ms)) ms_b ... 4902 | [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat, 4903 | ms_b, e)]))) 4904 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 4905 | (ind, thm, td, cid) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid):: (_, _, _, _, _, _, _, _, _, _, _, _)::_ File "src/core/logic.ml", lines 4976-5015, characters 7-35: 4976 | .......let Atom tA = g' in 4977 | let cltyp = LF.MTyp tA in 4978 | let sc' = 4979 | (fun (cPsi', tM) -> 4980 | let dctx_hat = Context.dctxToHat cPsi' in ... 5012 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5013 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5014 | (ind, thm, td, thm_cid); 5015 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Impl ((_, _), _)|All (_, _)) File "src/core/logic.ml", lines 4975-5015, characters 7-35: 4975 | .......let Box(cPsi',g',_) = cg' in 4976 | let Atom tA = g' in 4977 | let cltyp = LF.MTyp tA in 4978 | let sc' = 4979 | (fun (cPsi', tM) -> ... 5012 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5013 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5014 | (ind, thm, td, thm_cid); 5015 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _)) File "src/core/logic.ml", lines 5024-5029, characters 11-51: 5024 | ...........let LF.Root (_,hd,_,_) = tM in 5025 | let dctx_hat = Context.dctxToHat cPsi' in 5026 | let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in 5027 | let meta_obj = (noLoc, mfront) in 5028 | let meta_typ = LF.ClTyp (cltyp, cPsi') in 5029 | sc (Comp.Box(noLoc, meta_obj, meta_typ)). Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/logic.ml", lines 5020-5060, characters 7-34: 5020 | .......let Atom tA = g' in 5021 | let cltyp = LF.PTyp tA in 5022 | let sc' = 5023 | (fun (cPsi', tM) -> 5024 | let LF.Root (_,hd,_,_) = tM in ... 5057 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5058 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5059 | (ind, thm, td, thm_cid); 5060 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Impl ((_, _), _)|All (_, _)) File "src/core/logic.ml", lines 5019-5060, characters 7-34: 5019 | .......let Box(_,g',_) = cg' in 5020 | let Atom tA = g' in 5021 | let cltyp = LF.PTyp tA in 5022 | let sc' = 5023 | (fun (cPsi', tM) -> ... 5057 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5058 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5059 | (ind, thm, td, thm_cid); 5060 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _)) File "src/core/logic.ml", lines 4969-5085, characters 4-30: 4969 | ....match cg with 4970 | | Box (cPsi, g, Some M) -> 4971 | (* We apply the msub here in case there are FREE MVARS that 4972 | appear from unify *) 4973 | let ms = Whnf.cnormMSub ms in ... 5082 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5083 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5084 | (ind, thm, td, thm_cid); 5085 | raise End_Of_Search Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Box (_, _, None) File "src/core/logic.ml", lines 5223-5246, characters 7-36: 5223 | .......let Some cid = thm_cid in 5224 | let cIH_all' = Total.shift cIH_all in 5225 | let cIH'' = Total.shift cIH' in 5226 | let i = Comp.Const(noLoc, cid) in 5227 | (try ... 5243 | | End_Of_Search | DepthReached _ -> 5244 | blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc 5245 | (cDepth, mDepth, currSplitDepth, maxSplitDepth) 5246 | (ind, thm, td, thm_cid)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5263-5286, characters 7-32: 5263 | .......let Some cid = thm_cid in 5264 | let i = Comp.Const(noLoc, cid) in 5265 | let cIH'' = Total.shift cIH' in 5266 | let cIH_all' = Total.shift cIH_all in 5267 | let exp = Whnf.cnormExp (fS i, LF.MShift 0) in ... 5283 | in 5284 | blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc' 5285 | (cDepth, mDepth, currSplitDepth, maxSplitDepth) 5286 | (ind, thm, td, thm_cid) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5393-5394, characters 6-46: 5393 | ......match cp with 5394 | | (_cc, _k, Boxed) -> (_cc, _k, Unboxed) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_cc, _k, Unboxed) File "src/core/logic.ml", lines 5441-5458, characters 10-49: 5441 | ..........match r with 5442 | | LF.ClTyp (LF.MTyp _, cPsi) -> 5443 | let tM = 5444 | LF.Root 5445 | ( noLoc ... 5455 | LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)), 5456 | LF.PObj hd) 5457 | | LF.CTyp _ -> 5458 | LF.CObj (LF.CtxVar (LF.CtxOffset 1)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/core/logic.ml", lines 5549-5554, characters 7-37: 5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in 5550 | let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in 5551 | let cIH' = Total.shift cIH in 5552 | uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc' 5553 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1) 5554 | (ind, thm, td, thm_cid) blur Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/logic.ml", lines 5587-5590, characters 24-19: 5587 | ........................match sp with 5588 | | 0 -> Some 0 (* No splitting. *) 5589 | | 1 -> None (* Only inversions. *) 5590 | | 2 -> Some 1........................ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: 3 File "src/core/logic.ml", lines 5795-5798, characters 9-40: 5795 | .........let Some iterm = !(mmvar.LF.instantiation) in 5796 | (match iterm with 5797 | | LF.IHead hd -> hd 5798 | | _ -> raise NotImplementedYet) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5800-5803, characters 9-40: 5800 | .........let Some iterm = !(mmvar.LF.instantiation) in 5801 | (match iterm with 5802 | | LF.IHead hd -> hd 5803 | | _ -> raise NotImplementedYet) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5805-5808, characters 9-40: 5805 | .........let Some iterm = !(mmvar.LF.instantiation) in 5806 | (match iterm with 5807 | | LF.IHead hd -> hd 5808 | | _ -> raise NotImplementedYet) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5834-5835, characters 11-16: 5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in 5835 | iterm Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5837-5838, characters 11-16: 5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in 5838 | iterm Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5840-5841, characters 11-16: 5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in 5841 | iterm Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5847-5849, characters 9-33: 5847 | .........(match remove_head_mvars hd with 5848 | | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p) 5849 | | LF.INorm norm -> norm) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ISub _|ICtx _) File "src/core/logic.ml", lines 6066-6076, characters 8-33: 6066 | ........match tau with 6067 | | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n 6068 | | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1) 6069 | | Comp.TypInd (_) -> Option.some n 6070 | | Comp.TypBox (_, _) -> Option.none ... 6073 | let ind = ind_index tau1 n in 6074 | match ind with 6075 | | Option.None -> ind_index tau2 (n + 1) 6076 | | Option.Some _ -> ind Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Erase.cmx -c -impl src/core/erase.ml) File "src/core/erase.ml", lines 6-19, characters 2-33: 6 | ..match (tau, n) with 7 | | (_, 0) -> 0 8 | | (TypArr (_, _, tau), n) -> 1 + numeric_order_arg tau (n - 1) 9 | | (TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, tau), n) -> 10 | (* We count [Inductive] as 1 instead of throwing an error because ... 16 | | (TypPiBox (_, LF.Decl { plicity = Plicity.Explicit; _ }, tau), n) -> 17 | 1 + numeric_order_arg tau (n - 1) 18 | | (TypPiBox (_, LF.Decl { plicity = Plicity.Implicit; _ }, tau), n) -> 19 | numeric_order_arg tau (n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypPiBox (_, DeclOpt _, _), 1) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Order.cmx -c -impl src/core/order.ml) File "src/core/order.ml", lines 26-34, characters 2-23: 26 | ..function 27 | | I.Arg x -> Some [x] 28 | | I.Lex xs -> 29 | let f = 30 | function 31 | | I.Arg x -> Some x 32 | | _ -> None (* We don't support nested lexicographic orders. *) 33 | in 34 | List.traverse f xs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Simul _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Substitution.cmx -c -impl src/core/substitution.ml) File "src/core/substitution.ml", lines 105-124, characters 4-44: 105 | ....match (n, s) with 106 | | (_, Undefs) -> Undef 107 | | (1, Dot (ft, _s)) -> ft 108 | | (n, Dot (_ft, s)) -> bvarSub (n - 1) s 109 | | (n, Shift k) -> Head (BVar (n + k)) ... 121 | Free BVar (n + k) ... -bp *) 122 | Head (HClo (n + k, s, sigma)) 123 | | (n, MSVar (k, ((s, t), sigma))) -> 124 | Head (HMClo (n + k, ((s, t), sigma))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, (EmptySub|FSVar (_, _))) File "src/core/substitution.ml", lines 156-159, characters 12-73: 156 | ............function 157 | | (Last u, 1) -> u 158 | | (Cons (u, _), 1) -> u 159 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last u, 0) File "src/core/substitution.ml", lines 166-169, characters 12-73: 166 | ............function 167 | | (Last u, 1) -> u 168 | | (Cons (u, _), 1) -> u 169 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last u, 0) File "src/core/substitution.ml", lines 147-194, characters 7-10: 147 | .......begin match bvarSub n s with 148 | | Head (BVar x) -> 149 | Head (Proj (BVar x, k)) 150 | 151 | | Head (PVar _ as h) -> ... 191 | | Head (AnnH _ ) -> failwith "Found head that is AnnH" 192 | | Head (MMVar _ ) -> failwith "Found head that is MMVar" 193 | | Head _ -> failwith "Found head that is not a BVar or PVar" 194 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/substitution.ml", lines 203-206, characters 12-73: 203 | ............function 204 | | (Last u, 1) -> (u, s) 205 | | (Cons (u, _), 1) -> (u, s) 206 | | (Cons (u, tuple), n) -> nth (Dot (Obj u, s)) (tuple, n - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last u, 0) File "src/core/substitution.ml", lines 197-210, characters 7-10: 197 | .......begin match frontSub (Head h) s with 198 | | Head h' -> 199 | Head (Proj (h', k)) 200 | 201 | | Obj (Tuple (_, tuple)) -> ... 207 | in 208 | (* Obj (Clo (nth s (tuple, k))) *) 209 | Obj (Pair.fst (nth s (tuple, k))) 210 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Obj (Lam (_, _, _)|Root (_, _, _, _)|LFHole (_, _, _)|Clo _) File "src/core/substitution.ml", lines 213-214, characters 7-26: 213 | .......let Head h' = frontSub (Head h) s in 214 | Head (AnnH (h', a)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undef|Obj _) File "src/core/substitution.ml", lines 138-221, characters 4-35: 138 | ....match ft with 139 | | Head (HClo (n, s', sigma)) -> Head (HClo (n, s', comp sigma s)) 140 | | Head (HMClo (n, ((s', theta), sigma))) -> Head (HMClo (n, ((s', theta), comp sigma s))) 141 | | Head (BVar n) -> bvarSub n s 142 | | Head (FVar _) -> ft ... 218 | | Obj u -> Obj (Clo (u, s)) 219 | | Undef -> Undef 220 | | Head (MMVar (n, s')) -> Head (MMVar (n, comp s' s)) 221 | | Head (FPVar (_n, _s' )) -> ft Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (MPVar _|FMVar _) File "src/core/substitution.ml", line 263, characters 13-60: 263 | let decSub (TypDecl (x, tA)) s = TypDecl (x, TClo (tA, s)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/substitution.ml", lines 292-300, characters 6-33: 292 | ......match s with 293 | | EmptySub -> None 294 | | Undefs -> None 295 | | Shift _ -> None 296 | | Dot (Undef, s') -> lookup (n + 1) s' p 297 | | Dot (Head (BVar k), s') -> 298 | if k = p 299 | then Some (Head (BVar n)) 300 | else lookup (n + 1) s' p Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dot (Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), _) File "src/core/substitution.ml", lines 314-324, characters 6-37: 314 | ......match s with 315 | | EmptySub -> 316 | invert'' maxoffset Undefs 317 | | Undefs -> 318 | invert'' maxoffset Undefs ... 321 | | Dot (Head (BVar k), s') -> 322 | invert' (n + 1) s' (max k maxoffset) 323 | | Dot (_, s') -> (* Is this really necessary? -ac *) 324 | invert' (n + 1) s' maxoffset Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/substitution.ml", lines 335-350, characters 4-65: 335 | ....match (s, cPsi) with 336 | | (Shift _ (* 0 *), Null) -> 337 | Null 338 | | (Shift _, CtxVar psi) -> 339 | CtxVar psi ... 347 | | (Dot (Undef, t), DDec (cPsi, _)) -> 348 | strengthen t cPsi 349 | | (Shift n, cPsi) -> 350 | strengthen (Dot (Head (BVar (n + 1)), Shift (n + 1))) cPsi Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dot (Head (BVar _k), t), (Null|CtxVar _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Context.cmx -c -impl src/core/context.ml) File "src/core/context.ml", lines 90-104, characters 4-24: 90 | ....function 91 | | (DDec (_, TypDecl (x, tA')), 1) -> 92 | TypDecl (x, TClo (tA', Shift k)) 93 | 94 | | (DDec (cPsi', TypDecl _), k') -> ... 101 | ctxDec' (cPsi', k'-1) 102 | 103 | | (CtxVar (CInst ({instantiation = {contents = Some (ICtx cPsi)}; _}, _)), k) -> 104 | ctxDec' (cPsi, k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxVar (CInst ({instantiation={contents=Some (INorm _|IHead _|ISub _)}; _ }, _)), _) File "src/core/context.ml", lines 124-134, characters 4-24: 124 | ....function 125 | | (DDec (_, TypDecl (x, Sigma tArec)), 1) -> 126 | TypDecl (x, Sigma (sigmaShift tArec (Shift k))) 127 | 128 | | (DDec (cPsi', TypDecl (_, Sigma _)), k') -> ... 131 | | (DDec (cPsi', TypDecl _), k') -> 132 | ctxDec' (cPsi', k' - 1) 133 | | (CtxVar (CInst ({ instantiation = {contents = Some (ICtx cPhi) }; _ }, _)) , k) -> 134 | ctxDec' (cPhi, k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (DDec (cPsi', TypDeclOpt _), _) File "src/core/context.ml", lines 361-364, characters 2-49: 361 | ..match (cPsi, k) with 362 | | (DDec (_, TypDecl (x, _)), 1) -> x 363 | | (DDec (_, TypDeclOpt x), 1) -> x 364 | | (DDec (cPsi, _), k) -> getNameDCtx cPsi (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Null|CtxVar _), _) File "src/core/context.ml", lines 367-371, characters 2-27: 367 | ..match (cD, k) with 368 | | (Dec (_, Decl { name = u; _ }), 1) -> u 369 | | (Dec (_, DeclOpt { name = u; _ }), 1) -> u 370 | | (Dec (cD, _), k) -> 371 | getNameMCtx cD (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Empty, _) File "src/core/context.ml", lines 374-377, characters 2-45: 374 | ..match (cG, k) with 375 | | (Dec (_, Comp.CTypDecl (x, _ , _)), 1) -> x 376 | | (Dec (_, Comp.CTypDeclOpt x), 1) -> x 377 | | (Dec (cG, _), k) -> getNameCtx cG (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Empty, _) File "src/core/context.ml", lines 401-403, characters 4-58: 401 | ....function 402 | | CtxVar ctx_var -> DDec (CtxVar ctx_var, new_typ_decl) 403 | | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Null File "src/core/context.ml", lines 409-411, characters 4-58: 409 | ....function 410 | | CtxVar ctx_var -> Null 411 | | DDec (cPsi, concrete) -> DDec (inner cPsi, concrete) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Null File "src/core/context.ml", lines 436-439, characters 2-28: 436 | ..match (cD, psi_offset) with 437 | | (Dec (_, Decl { typ = CTyp (Some cid_schema); _ }), 1) -> cid_schema 438 | | (Dec (cD, _) , i) -> 439 | lookupSchema cD (i - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Empty, _) File "src/core/context.ml", lines 446-453, characters 7-10: 446 | .......begin match cvar with 447 | | CtxName phi when Name.(psi = phi) -> (psi, schemaName) 448 | | CtxName _ -> lookup cD (offset + 1) 449 | | CtxOffset n -> 450 | if n - offset = 1 451 | then (psi, schemaName) 452 | else lookup cD (offset + 1) 453 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CInst _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Store.cmx -c -impl src/core/store.ml) File "src/core/store.ml", lines 212-217, characters 6-45: 212 | ......function 213 | | Int.LF.Atom(_, b, _) -> 214 | List.iter (fun a -> addSubord a b) acc ; [b] 215 | 216 | | Int.LF.PiTyp((Int.LF.TypDecl(_, tA1), _, _), tA2) -> 217 | inspect (acc @ (inspect [] tA1)) tA2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/store.ml", lines 222-226, characters 6-56: 222 | ......function 223 | | Int.LF.Typ -> 224 | List.iter (fun a -> addSubord a cid_tp) acc 225 | | Int.LF.PiKind((Int.LF.TypDecl(_, tA1), _, _), tK2) -> 226 | inspectKind cid_tp (acc @ (inspect [] tA1)) tK2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Whnf.cmx -c -impl src/core/whnf.ml) File "src/core/whnf.ml", lines 36-39, characters 2-73: 36 | ..match cPsi with 37 | | Null -> tA 38 | | DDec (cPsi', decl) -> 39 | raiseType cPsi' (PiTyp ((decl, Depend.maybe, Plicity.implicit), tA)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar _ File "src/core/whnf.ml", lines 133-148, characters 2-64: 133 | ..match sA' with 134 | | (PiTyp ((decl, _, _), tA'), s') -> 135 | let (u', tM) = 136 | lowerMVar' 137 | (DDec (cPsi, LF.decSub decl s')) ... 145 | 146 | | (Atom (loc, a, tS), s') -> 147 | let u' = newMVar None (cPsi, Atom (loc, a, SClo (tS, s'))) plicity inductivity in 148 | (u', Root (Location.ghost, MVar (u', LF.id), Nil, plicity)).................... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _, _) File "src/core/whnf.ml", lines 152-162, characters 2-25: 152 | ..match (u, sA) with 153 | | ( Inst { instantiation; typ = ClTyp (_, cPsi); plicity; inductivity; _ } 154 | , (PiTyp _, _) 155 | ) -> 156 | let (u', tM) = lowerMVar' cPsi sA plicity inductivity in ... 159 | 160 | | (_, (TClo (tA, s), s')) -> lowerMVar1 u (tA, LF.comp s s') 161 | 162 | | (_, (Atom _, _)) -> u Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Inst {typ=ClTyp (_, _); _ }, (Sigma _, _)) File "src/core/whnf.ml", lines 319-329, characters 4-31: 319 | ....match s with 320 | | MShift _ -> None 321 | | MDot (MUndef, t') -> lookup (n + 1) t' p 322 | 323 | | MDot (MV k, t') ... 326 | | MDot (ClObj (_, PObj (PVar (k, Shift 0))), t') -> 327 | if k = p 328 | then Some n 329 | else lookup (n + 1) t' p Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MDot (CObj (CtxVar (CtxName _|CInst _)), _) File "src/core/whnf.ml", lines 385-387, characters 7-59: 385 | .......match normHead (h, sigma) with 386 | | Head h' -> Root (loc, h', normSpine (tS, sigma), plicity) 387 | | Obj tM -> reduce (tM, LF.id) (normSpine (tS, sigma)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 404-407, characters 5-8: 404 | .....begin match normMMVar mmt with 405 | | ResMM mmt' -> Head (HMClo (k, (mmt', normSub' (s, sigma)))) 406 | | Result (ISub r) -> normFt' (normFt' (LF.bvarSub k r, s), sigma) 407 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 409-413, characters 5-8: 409 | .....begin match normMMVar mmt with 410 | (* The order in which we normalize mm, n, s, and sigma seems to matter..*) 411 | | ResMM mmt' -> Head (MMVar (mmt', normSub' (s, sigma))) 412 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) 413 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 415-419, characters 5-8: 415 | .....begin match normMMVar mmt with 416 | | ResMM mmt' -> Head (MPVar (mmt', normSub' (s, sigma))) 417 | | Result (IHead h) -> normFt' (normHead (h, s), sigma) 418 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) 419 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (ISub _|ICtx _) File "src/core/whnf.ml", lines 422-425, characters 5-8: 422 | .....begin match normMMVar (mm, MShift 0) with 423 | | ResMM (mm', _) -> Head (MVar (Inst mm', normSub' (s, sigma))) 424 | | Result (INorm n) -> Obj (norm (norm (n, s), sigma)) 425 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 449-451, characters 2-32: 449 | ..match ft with 450 | | Head h -> normHead (h, s) 451 | | Obj tM -> Obj (norm (tM, s)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 454-457, characters 2-37: 454 | ..match tM with 455 | | INorm n -> INorm (cnorm (n, mt)) 456 | | IHead h -> IHead (cnormHead (h, mt)) 457 | | ISub s -> ISub (cnormSub (s, mt)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ICtx _ File "src/core/whnf.ml", lines 463-466, characters 5-8: 463 | .....begin match normHead (h, s) with 464 | | Obj tM -> MObj tM 465 | | Head h' -> PObj h' 466 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 470-473, characters 2-64: 470 | ..match normFt' (ft, LF.id) with 471 | | Head h -> Head (Proj (h, i)) 472 | | Obj (Tuple (_, tM)) -> Obj (reduceTuple (tM, i)) 473 | | Obj _ -> Error.raise_violation "[reduceTupleFt] not a tuple" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 476-479, characters 2-50: 476 | ..function 477 | | (Last tM, 1) -> tM 478 | | (Cons (tM, _), 1) -> tM 479 | | (Cons (_, rest), k) -> reduceTuple (rest, k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Last tM, 0) File "src/core/whnf.ml", lines 507-521, characters 2-17: 507 | ..function 508 | | (LFHole (l, _, _), _) -> 509 | raise (InvalidLFHole l) 510 | 511 | | (Root (loc, h, sp, plicity), spine) -> ... 518 | Lam (loc, n, tM') 519 | 520 | | (Clo sM, tS) -> 521 | reduce sM tS Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _), SClo _) File "src/core/whnf.ml", lines 524-526, characters 2-54: 524 | ..function 525 | | (Nil, s) -> s 526 | | (App (tN, tS), s) -> App (tN, appendSpine (tS, s)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (SClo _, _) File "src/core/whnf.ml", lines 537-543, characters 5-8: 537 | .....begin match mmvar.instantiation.contents with 538 | | Some (ISub s) -> 539 | let s0 = cnormSub (LF.comp (normSub s) (normSub s'), mt) in 540 | LF.comp (Shift n) s0 541 | | None -> 542 | MSVar (n, ((mmvar, mt), normSub s')) 543 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 562-573, characters 2-37: 562 | ..match tA with 563 | | Atom (loc, a, tS) -> 564 | Atom (loc, a, normSpine (tS, sigma)) 565 | 566 | | PiTyp ((TypDecl _ as decl, depend, plicity), tB) -> ... 570 | normTyp (tA, LF.comp s sigma) 571 | 572 | | Sigma recA -> 573 | Sigma (normTypRec (recA, sigma)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/whnf.ml", lines 620-629, characters 5-8: 620 | .....begin match !u with 621 | | None -> 622 | (Some (CInst (mmvar, mcomp theta t)), k) 623 | | Some (ICtx cPsi) -> 624 | (* | (Some (CInst ((_, { contents = Some (ICtx cPsi) }, _, _, _, _), theta)), k) -> *) 625 | begin match Context.dctxToHat (cnormDCtx (cPsi, mcomp theta t)) with 626 | | (None, i) -> (None, k + i) (* cnorm_psihat (None, k + i) t *) 627 | | (Some cvar', i) -> (Some cvar', k + i) (* cnorm_psihat (Some cvar', k + i) t *) 628 | end 629 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 631-641, characters 5-8: 631 | .....begin match LF.applyMSub offset t with 632 | | CObj cPsi -> 633 | begin match Context.dctxToHat cPsi with 634 | | (None, i) -> (None, k + i) 635 | | (Some cvar', i) -> (Some cvar', k + i) ... 638 | | ClObj _ -> 639 | Error.raise_violation 640 | (Format.asprintf "[cnorm_psihat] ClObj impossible; offset %d" offset) 641 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MUndef File "src/core/whnf.ml", lines 656-659, characters 5-8: 656 | .....begin match LF.applyMSub k t with 657 | | MV k' -> Head (MVar (Offset k', s')) 658 | | ClObj (_, MObj tM) -> Obj (norm (tM, s')) 659 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, (PObj _|SObj _)) File "src/core/whnf.ml", lines 662-666, characters 5-8: 662 | .....begin match LF.applyMSub k t with 663 | | MV k' -> Head (PVar (k', s')) 664 | | ClObj (_, PObj h) -> normHead (h, s') 665 | | ClObj (_, MObj tM) -> Obj (norm (tM, s')) 666 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/whnf.ml", lines 669-672, characters 5-8: 669 | .....begin match LF.applyMSub sv t with 670 | | MV sv' -> Head (HClo (k, sv', s')) 671 | | ClObj (_, SObj r) -> normFt' (LF.bvarSub k r, s') 672 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, (MObj _|PObj _)) File "src/core/whnf.ml", lines 674-677, characters 5-8: 674 | .....begin match normMMVar mmt with 675 | | ResMM (mm', mt) -> Head (MMVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t))) 676 | | Result (INorm n) -> Obj (cnorm (norm (n, s), t)) 677 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 679-684, characters 5-8: 679 | .....begin match normMMVar mmt with 680 | | ResMM (mm', mt) -> Head (MPVar ((mm', cnormMSub' (mt, t)), cnormSub (s, t))) 681 | | Result (IHead h) -> cnormFt' (normHead (h, s), t) 682 | | Result (INorm n) -> 683 | Obj (cnorm (norm (n, s), t)) 684 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (ISub _|ICtx _) File "src/core/whnf.ml", lines 686-689, characters 5-8: 686 | .....begin match normMMVar mmt with 687 | | ResMM (mm', mt) -> Head (HMClo (k, ((mm', cnormMSub' (mt, t)), cnormSub (s, t)))) 688 | | Result (ISub r) -> cnormFt' (normFt' (LF.bvarSub k r, s), t) 689 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 691-694, characters 5-8: 691 | .....begin match normMMVar (mm, MShift 0) with 692 | | ResMM (mm', _) -> Head (MVar (Inst mm', cnormSub (s, t))) 693 | | Result (INorm n) -> Obj (norm (n, s)) 694 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Result (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 698-700, characters 2-38: 698 | ..function 699 | | (Head h, t) -> cnormHead' (h, t) 700 | | (Obj tM, t) -> Obj (cnorm (tM, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undef, _) File "src/core/whnf.ml", lines 713-721, characters 5-8: 713 | .....begin match cnormHead' (head, t) with 714 | | Head h' -> Root (loc, h', cnormSpine (tS, t), plicity) 715 | | Obj tM -> 716 | (* in this ends up evaluating to a Root, we want to keep the 717 | plicity that we had here *) 718 | map_plicity 719 | (fun _ -> plicity) 720 | (reduce (tM, LF.id) (cnormSpine (tS, t))) 721 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/whnf.ml", lines 728-729, characters 2-17: 728 | ..match cnormHead' (h, t) with 729 | | Head h' -> h' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undef|Obj _) File "src/core/whnf.ml", lines 752-758, characters 5-8: 752 | .....begin match LF.applyMSub offset t with 753 | | MV offset' -> SVar (offset', n, cnormSub (s', t)) 754 | | ClObj (_, SObj r) -> 755 | LF.comp (LF.comp (Shift n) r) (cnormSub (s', t)) 756 | | ClObj _ -> 757 | Error.raise_violation "[cnormSub] t @ offset must give an MV or ClObj SObj" 758 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|CObj _) File "src/core/whnf.ml", lines 764-775, characters 5-56: 764 | .....match mmvar.instantiation.contents with 765 | | Some (ISub s) -> 766 | dprintf 767 | begin fun p -> 768 | p.fmt "[cnormSub] @[<v>MSVar - MSInst for @[%a@]@]" ... 772 | let s0' = LF.comp (Shift n) s0 in 773 | cnormSub (s0', t) 774 | | None -> 775 | MSVar (n, ((mmvar, cnormMSub (mcomp mt t)), s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ICtx _) File "src/core/whnf.ml", lines 793-803, characters 2-34: 793 | ..match tA with 794 | | Atom (loc, a, tS) -> 795 | Atom (loc, a, cnormSpine (tS, t)) 796 | 797 | | PiTyp ((TypDecl _ as decl, depend, plicity), tB) -> ... 800 | | TClo (tA, s) -> normTyp (cnormTyp (tA, t), cnormSub (s, t)) 801 | 802 | | Sigma recA -> 803 | Sigma (cnormTypRec (recA, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/whnf.ml", lines 832-837, characters 5-8: 832 | .....begin match !u with 833 | | None -> 834 | CtxVar (CInst (mmvar, mcomp theta t)) 835 | | Some (ICtx cPhi) -> 836 | cnormDCtx (cPhi, mcomp theta t) 837 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 840-843, characters 5-8: 840 | .....begin match LF.applyMSub psi t with 841 | | CObj cPsi' -> normDCtx cPsi' 842 | | MV k -> CtxVar (CtxOffset k) 843 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|ClObj (_, _)) File "src/core/whnf.ml", lines 886-889, characters 5-8: 886 | .....begin match mmvar.instantiation.contents with 887 | | None -> cPsi 888 | | Some (ICtx cPhi) -> normDCtx (cnormDCtx (cPhi, theta)) 889 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 960-973, characters 8-11: 960 | ........begin match h' with 961 | | BVar i -> 962 | begin match LF.bvarSub i (LF.comp r sigma) with 963 | | Obj tM -> whnfRedex ((tM, LF.id), (tS, sigma)) 964 | | Head (BVar k) -> (Root (loc, BVar k, SClo (tS, sigma), plicity), LF.id) ... 970 | let h' = PVar (p, LF.comp (LF.comp s r) sigma) in 971 | whnf (Root (loc, h', SClo (tS, sigma), plicity), LF.id) 972 | | MPVar ((q, t'), r') -> whnf (Root (loc, MPVar ((q, t'), LF.comp r' r), SClo (tS, sigma), plicity), LF.id) 973 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _| HClo (_, _, _)|HMClo (_, _)) File "src/core/whnf.ml", lines 956-979, characters 5-8: 956 | .....begin match u with 957 | (* MPVar instantiation must be a head *) 958 | | Some (IHead h) -> 959 | let h' = cnormHead (h, t) in 960 | begin match h' with ... 976 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in 977 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in 978 | (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) 979 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|ISub _|ICtx _) File "src/core/whnf.ml", lines 954-979, characters 5-8: 954 | .....let ClTyp (PTyp tA, cPsi) = mmvar.typ in 955 | let u = mmvar.instantiation.contents in 956 | begin match u with 957 | (* MPVar instantiation must be a head *) 958 | | Some (IHead h) -> ... 976 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in 977 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in 978 | (Root (loc, MPVar ((p', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) 979 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 995-1011, characters 8-11: 995 | ........begin match whnfTyp (tA, LF.id) with 996 | | (Atom (loc', a, tS'), _ (* id *)) -> 997 | (* meta-variable is of atomic type; tS = Nil *) 998 | let u' = { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in 999 | (Root (loc, MMVar ((u', t), LF.comp r sigma), SClo (tS, sigma), plicity), LF.id) ... 1008 | (* let _ = lowerMMVar cD u in 1009 | whnf (tM, sigma) *) 1010 | Error.raise_violation "Meta^2-variable needs to be of atomic type" 1011 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Sigma _|TClo _), _) File "src/core/whnf.ml", lines 985-1012, characters 5-8: 985 | .....begin match u with 986 | (* MMVar instantiation must be normal *) 987 | | Some (INorm tM) -> 988 | (* constraints associated with u must be in solved form *) 989 | let tM' = cnorm (tM, t) in ... 1009 | whnf (tM, sigma) *) 1010 | Error.raise_violation "Meta^2-variable needs to be of atomic type" 1011 | end 1012 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 983-1012, characters 5-8: 983 | .....let ClTyp (MTyp tA, cPsi) = mmvar.typ in 984 | let u = mmvar.instantiation.contents in 985 | begin match u with 986 | (* MMVar instantiation must be normal *) 987 | | Some (INorm tM) -> ... 1009 | whnf (tM, sigma) *) 1010 | Error.raise_violation "Meta^2-variable needs to be of atomic type" 1011 | end 1012 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 1041-1053, characters 8-11: 1041 | ........begin match whnfTyp (tA, LF.id) with 1042 | | (Atom (loc', a, tS'), _ (* id *)) -> 1043 | (* meta-variable is of atomic type; tS = Nil *) 1044 | let u' = Inst { mmvar with typ = ClTyp (MTyp (Atom (loc', a, tS')), cPsi) } in 1045 | (Root (loc, MVar (u', LF.comp r' sigma), SClo (tS, sigma), plicity), LF.id) ... 1050 | *) 1051 | ignore (lowerMVar cvar); 1052 | whnf (tM, sigma) 1053 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Sigma _|TClo _), _) File "src/core/whnf.ml", lines 1036-1053, characters 8-11: 1036 | ........let ClTyp (MTyp tA, cPsi) = mmvar.typ in 1037 | (* note: we could split this case based on tA; 1038 | * this would avoid possibly building closures with id 1039 | *) 1040 | let r' = normSub r in ... 1050 | *) 1051 | ignore (lowerMVar cvar); 1052 | whnf (tM, sigma) 1053 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 1023-1054, characters 5-8: 1023 | .....begin match u with 1024 | | Some (INorm tM) -> 1025 | (* constraints associated with u must be in solved form *) 1026 | let r' = normSub r in 1027 | let tM' = ... 1051 | ignore (lowerMVar cvar); 1052 | whnf (tM, sigma) 1053 | end 1054 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (IHead _|ISub _|ICtx _) File "src/core/whnf.ml", lines 1073-1082, characters 5-8: 1073 | .....begin match LF.bvarSub i sigma with 1074 | | Head (BVar j) -> 1075 | ( Root (loc, Proj (BVar j, k), SClo (tS, sigma), plicity) 1076 | , LF.id 1077 | ) 1078 | | Head (PVar (q, s)) -> 1079 | ( Root (loc, Proj (PVar (q, s), k), SClo (tS, sigma), plicity) 1080 | , LF.id 1081 | ) 1082 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/whnf.ml", lines 1098-1109, characters 11-14: 1098 | ...........begin match LF.bvarSub i (LF.comp r sigma) with 1099 | | Head (BVar x) -> 1100 | ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity) 1101 | , LF.id 1102 | ) ... 1106 | ) 1107 | | Undef -> 1108 | Error.raise_violation ("[whnf] Undef looked up at " ^ string_of_int i) 1109 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Obj _ File "src/core/whnf.ml", lines 1096-1118, characters 8-11: 1096 | ........begin match cnormHead (h, t) with 1097 | | BVar i -> 1098 | begin match LF.bvarSub i (LF.comp r sigma) with 1099 | | Head (BVar x) -> 1100 | ( Root (loc, Proj (BVar x, k), SClo (tS, sigma), plicity) ... 1115 | | MPVar ((q, t'), r') -> 1116 | let h' = Proj (MPVar ((q, t'), LF.comp (LF.comp r' r) sigma), k) in 1117 | (Root (loc, h', SClo (tS, sigma), plicity), LF.id) 1118 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _|FPVar _| HClo (_, _, _)|HMClo (_, _)) File "src/core/whnf.ml", lines 1120-1127, characters 8-9: 1120 | ........let ClTyp (PTyp tA, cPsi) = mmvar.typ in 1121 | (* constraints associated with q must be in solved form *) 1122 | let (cPsi', tA') = (normDCtx cPsi, normTyp (tA, LF.id)) in 1123 | let p' = { mmvar with typ = ClTyp (PTyp tA', cPsi') } in 1124 | let h' = Proj (MPVar ((p', t), LF.comp r sigma), k) in 1125 | ( Root (loc, h', SClo (tS, sigma), plicity) 1126 | , LF.id 1127 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|STyp (_, _)), _) File "src/core/whnf.ml", lines 1093-1128, characters 5-8: 1093 | .....begin match mmvar.instantiation.contents with 1094 | | Some (IHead h) -> 1095 | (* constraints associated with q must be in solved form *) 1096 | begin match cnormHead (h, t) with 1097 | | BVar i -> ... 1125 | ( Root (loc, h', SClo (tS, sigma), plicity) 1126 | , LF.id 1127 | ) 1128 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|ISub _|ICtx _) File "src/core/whnf.ml", lines 1143-1157, characters 2-39: 1143 | ..function 1144 | | ((LFHole (l, id, name), s1), _) -> raise (InvalidLFHole l) 1145 | | ((Root _ as root, s1), (Nil, _)) -> whnf (root, s1) 1146 | 1147 | | ((Lam (_, _, tM), s1), (App (tN, tS), s2)) -> ... 1154 | whnfRedex (sM, (tS, LF.comp s2' s2)) 1155 | 1156 | | ((Clo (tM, s), s1), sS) -> 1157 | whnfRedex ((tM, LF.comp s s1), sS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Root (_, _, _, _), _), (App (_, _), _)) File "src/core/whnf.ml", lines 1180-1191, characters 2-15: 1180 | ..function 1181 | | [] -> true 1182 | | ({ contents = Queued _ } :: cnstrs) -> 1183 | constraints_solved cnstrs 1184 | | ({ contents = Eqn (_, _, _, INorm tM, INorm tN) } :: cnstrs) -> ... 1188 | | ({ contents = Eqn (_, _, _, IHead h1, IHead h2) } :: cnstrs) -> 1189 | if convHead (h1, LF.id) (h2, LF.id) 1190 | then constraints_solved cnstrs 1191 | else false Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: {contents=Eqn (_, _, _, INorm tM, (IHead _|ISub _|ICtx _))}::_ File "src/core/whnf.ml", lines 1283-1288, characters 2-71: 1283 | ..match (spine1, spine2) with 1284 | | ((Nil, _), (Nil, _)) -> true 1285 | | ((App (tM1, spine1), s1), (App (tM2, spine2), s2)) -> 1286 | conv (tM1, s1) (tM2, s2) && convSpine (spine1, s1) (spine2, s2) 1287 | | (spine1, (SClo (tS, s), s')) -> convSpine spine1 (tS, LF.comp s s') 1288 | | ((SClo (tS, s), s'), spine2) -> convSpine (tS, LF.comp s s') spine2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Nil, _), (App (_, _), _)) File "src/core/whnf.ml", lines 1457-1465, characters 2-32: 1457 | ..match (cPsi, cPsi') with 1458 | | (_, Empty) -> true 1459 | | Dec (cPsi1, TypDecl (_, tA)), Dec (cPsi2, TypDecl (_, tB)) -> 1460 | if convTyp (tA, LF.id) (tB, LF.id) 1461 | then convSubsetCtx cPsi1 cPsi2 1462 | else 1463 | (* keep tBs around and check that tA is a subordinate of tB, 1464 | i.e. anything in tA cannot influence tB *) 1465 | convSubsetCtx cPsi1 cPsi' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dec (_, TypDecl (_, _)), Dec (cPsi2, TypDeclOpt _)) File "src/core/whnf.ml", lines 1591-1593, characters 4-76: 1591 | ....match mO with 1592 | | CObj cPsi -> CObj (normDCtx cPsi) 1593 | | ClObj (phat, n) -> ClObj (cnorm_psihat phat m_id, normMObj (n, LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|MV _) File "src/core/whnf.ml", lines 1604-1624, characters 2-49: 1604 | ..function 1605 | | Comp.TypBase (loc, c, mS) -> 1606 | Comp.TypBase (loc, c, normMetaSpine mS) 1607 | | Comp.TypCobase (loc, c, mS) -> 1608 | Comp.TypCobase (loc, c, normMetaSpine mS) ... 1621 | Comp.TypPiBox 1622 | (loc, (Decl { d with typ = typ' }), tau') 1623 | 1624 | | Comp.TypInd tau -> Comp.TypInd (normCTyp tau) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypPiBox (loc, DeclOpt _, _) File "src/core/whnf.ml", lines 1640-1643, characters 2-30: 1640 | ..match cdecl with 1641 | | Decl d -> 1642 | let typ' = cnormMTyp (d.typ, t) in 1643 | Decl { d with typ = typ' } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/whnf.ml", lines 1646-1670, characters 2-60: 1646 | ..function 1647 | | (Comp.TypBase (loc, a, mS), t) -> 1648 | let mS' = cnormMetaSpine (mS, t) in 1649 | Comp.TypBase (loc, a, mS') 1650 | | (Comp.TypCobase (loc, a, mS), t) -> ... 1667 | | (Comp.TypClo (tT, t'), t) -> 1668 | cnormCTyp (tT, mcomp t' t) 1669 | 1670 | | (Comp.TypInd tau, t) -> Comp.TypInd (cnormCTyp (tau, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _), _) File "src/core/whnf.ml", lines 1673-1675, characters 2-47: 1673 | ..match cdecl with 1674 | | Comp.CTypDecl(n, typ, wf_t) -> 1675 | Comp.CTypDecl(n, cnormCTyp (typ, t), wf_t) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 1691-1707, characters 2-70: 1691 | ..function 1692 | | (Comp.TypBase (loc, c, mS), t) -> 1693 | let mS' = normMetaSpine (cnormMetaSpine (mS, t)) in 1694 | (Comp.TypBase (loc, c, mS'), m_id) 1695 | | (Comp.TypCobase (loc, c, mS), t) -> ... 1704 | 1705 | | (Comp.TypClo (tT, t'), t) -> cwhnfCTyp (tT, mcomp t' t) 1706 | 1707 | | (Comp.TypInd tau, t) -> (Comp.TypInd (Comp.TypClo (tau, t)), m_id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _), _) File "src/core/whnf.ml", lines 1902-1905, characters 2-74: 1902 | ..match cG with 1903 | | Empty -> Empty 1904 | | Dec (cG, Comp.CTypDecl (x, tau, flag)) -> 1905 | Dec (cwhnfCtx (cG, t), Comp.CTypDecl (x, Comp.TypClo (tau, t), flag)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/whnf.ml", lines 1928-1930, characters 2-62: 1928 | ..function 1929 | | Comp.CTypDecl (x, tau, flag) -> 1930 | Comp.CTypDecl (x, normCTyp (cnormCTyp (tau, m_id)), flag) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 1957-1962, characters 2-41: 1957 | ..match cD with 1958 | | Empty -> Empty 1959 | | Dec (cD, Decl d) -> 1960 | let typ' = normMTyp d.typ in 1961 | let cD' = normMCtx cD in 1962 | Dec (cD', Decl { d with typ = typ' }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD, DeclOpt _) File "src/core/whnf.ml", lines 1990-1993, characters 2-60: 1990 | ..match (tM1, tM2) with 1991 | | (INorm n1, INorm n2) -> conv (n1, LF.id) (n2, LF.id) 1992 | | (ISub s1, ISub s2) -> convSub s1 s2 1993 | | (IHead h1, IHead h2) -> convHead (h1, LF.id) (h2, LF.id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (INorm n1, (IHead _|ISub _|ICtx _)) File "src/core/whnf.ml", lines 1998-2004, characters 2-25: 1998 | ..match (mS, mS') with 1999 | | (Comp.MetaNil, Comp.MetaNil) -> true 2000 | | (Comp.MetaApp (mO, mT, mS, p1), Comp.MetaApp (mO', mT', mS', p2)) -> 2001 | convMetaObj mO mO' 2002 | && convMetaTyp mT mT' 2003 | && convMetaSpine mS mS' 2004 | && Plicity.(p1 = p2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaNil, MetaApp (_, _, _, _)) File "src/core/whnf.ml", lines 2071-2075, characters 2-42: 2071 | ..match (d1, d2) with 2072 | | (CTypDeclOpt x1, CTypDeclOpt x2) -> Name.(x1 = x2) 2073 | | (CTypDecl (x1, tau1, w1), CTypDecl (x2, tau2, w2)) -> 2074 | Name.(x1 = x2) && Stdlib.(=) w1 w2 2075 | && convCTyp (tau1, m_id) (tau2, m_id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CTypDeclOpt x1, CTypDecl (_, _, _)) File "src/core/whnf.ml", lines 2095-2105, characters 2-8: 2095 | ..match sA with 2096 | | (Atom (loc, _, _) as tP, s) -> 2097 | let u = newMVar (Some n) (cPsi, tclo tP s) plicity inductivity in 2098 | Root (loc, MVar (u, s'), Nil, plicity) 2099 | ... 2102 | ( Name.location x 2103 | , x 2104 | , etaExpandMV (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity 2105 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/whnf.ml", lines 2120-2130, characters 2-8: 2120 | ..match sA with 2121 | | (Atom _ as tP, s) -> 2122 | let u = newMMVar (Some n) (cD, cPsi, tclo tP s) plicity inductivity in 2123 | Root (loc, MMVar ((u, m_id), s'), Nil, plicity) 2124 | ... 2127 | ( loc 2128 | , x 2129 | , etaExpandMMV loc cD (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) n (LF.dot1 s') plicity inductivity 2130 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/whnf.ml", lines 2135-2141, characters 2-42: 2135 | ..match tM with 2136 | | Lam (_, _, tM) -> closed (tM, LF.dot1 s) 2137 | | Root (_, h, tS, _) -> 2138 | closedHead h 2139 | && closedSpine (tS, s) 2140 | | LFHole _ -> false 2141 | | Tuple (_, tup) -> closedTuple (tup, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Clo _ File "src/core/whnf.ml", lines 2166-2174, characters 2-28: 2166 | ..function 2167 | | EmptySub -> true 2168 | | Undefs -> true 2169 | | SVar (_, _, sigma) -> closedSub sigma 2170 | | Shift _ -> true 2171 | | Dot (ft, s) -> closedFront ft && closedSub s 2172 | | MSVar (_, ((v, t), s)) -> 2173 | (* the case for MMVar doesn't also check the substitution -je *) 2174 | is_mmvar_instantiated v..................... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: FSVar (_, _) File "src/core/whnf.ml", lines 2185-2190, characters 2-40: 2185 | ..match tA with 2186 | | Atom (_, _, tS) -> closedSpine (tS, s) 2187 | | PiTyp ((t_dec, _, _), tA) -> 2188 | closedDecl (t_dec, s) 2189 | && closedTyp (tA, LF.dot1 s) 2190 | | Sigma recA -> closedTypRec (recA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/whnf.ml", lines 2208-2211, characters 5-8: 2208 | .....begin match mmvar.instantiation.contents with 2209 | | None -> false 2210 | | Some (ICtx cPsi) -> closedDCtx (cnormDCtx (cPsi, theta)) 2211 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/whnf.ml", lines 2241-2244, characters 2-56: 2241 | ..function 2242 | | CObj cPsi -> closedDCtx cPsi 2243 | | ClObj (phat, t) -> 2244 | closedDCtx (Context.hatToDCtx phat) && closedMObj t Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|MV _) File "src/core/whnf.ml", lines 2255-2264, characters 2-37: 2255 | ..function 2256 | | Comp.TypBase (_, _, mS) -> closedMetaSpine mS 2257 | | Comp.TypCobase (_, _, mS) -> closedMetaSpine mS 2258 | | Comp.TypBox (_, cT) -> closedMetaTyp cT 2259 | | Comp.TypArr (_, cT1, cT2) -> closedCTyp cT1 && closedCTyp cT2 2260 | | Comp.TypCross (_, cTs) -> List2.for_all (fun cT -> closedCTyp cT) cTs 2261 | | Comp.TypPiBox (_, ctyp_decl, cT) -> 2262 | closedCTyp cT && closedDecl ctyp_decl 2263 | | Comp.TypClo (cT, t) -> closedCTyp (cnormCTyp (cT, t)) (* to be improved Sun Dec 13 11:45:15 2009 -bp *) 2264 | | Comp.TypInd tau -> closedCTyp tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDef (_, _, _) File "src/core/whnf.ml", lines 2406-2407, characters 37-34: 2406 | .....................................(Comp.CTypDecl (_, tau2, _)) = 2407 | convCTyp (tau1, t1) (tau2, t2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 2406-2407, characters 8-34: 2406 | ........(Comp.CTypDecl (_, tau1, _)) (Comp.CTypDecl (_, tau2, _)) = 2407 | convCTyp (tau1, t1) (tau2, t2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/whnf.ml", lines 2412-2413, characters 32-23: 2412 | ................................(Decl { typ = cU2; _ }) = 2413 | convMetaTyp cU1 cU2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/whnf.ml", lines 2412-2413, characters 8-23: 2412 | ........(Decl { typ = cU1; _ }) (Decl { typ = cU2; _ }) = 2413 | convMetaTyp cU1 cU2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/whnf.ml", lines 2418-2420, characters 2-93: 2418 | ..function 2419 | | (Atom _, _) as sA -> (cPsi, whnfTyp sA) 2420 | | (PiTyp ((decl, _, _), tB), s) -> lowerTyp (DDec (cPsi, LF.decSub decl s)) (tB, LF.dot1 s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Sigma _|TClo _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Subord.cmx -c -impl src/core/subord.ml) File "src/core/subord.ml", lines 98-101, characters 7-43: 98 | .......function 99 | | Atom _ -> [tA] 100 | | PiTyp ((TypDecl (_, tA1), _, _), tA2) -> 101 | extract_neg tA1 @ extract_pos tA2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/subord.ml", lines 103-106, characters 7-43: 103 | .......function 104 | | Atom _ -> [] 105 | | PiTyp ((TypDecl (_, tA1), _, _), tA2) -> 106 | extract_pos tA1 @ extract_neg tA2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/subord.ml", lines 85-112, characters 2-47: 85 | ..match tA with 86 | | Atom (_, a, _) -> 87 | Store.Cid.Typ.freeze a; 88 | if List.exists 89 | begin fun type_in_basis -> ... 109 | If we keep this, then we might not strengthen enough... -bp*) 110 | List.fold_left (fun l tA -> relevant tA basis @ l) [] (extract_neg tA1) 111 | @ relevant tA2 basis 112 | | Sigma typRec -> relevantTypRec typRec basis Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/subord.ml", lines 159-161, characters 9-71: 159 | .........match psi with 160 | | CtxOffset _ -> Context.lookupCtxVarSchema cD psi 161 | | CInst ({ typ = CTyp (Some cid_schema); _ }, _) -> cid_schema Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CInst ({typ=CTyp None; _ }, _) File "src/core/subord.ml", lines 155-187, characters 4-10: 155 | ....match cPsi with 156 | | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *) 157 | | CtxVar psi -> 158 | let schema = 159 | match psi with ... 184 | (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA' where tA = [thin_s]([thin_s_inv]tA) *) 185 | let thin_s_inv = Substitution.LF.invert thin_s in 186 | (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv)))) 187 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/subord.ml", line 189, characters 8-45: 189 | inner (match tP with Atom (_, a, _) -> [a]) cPsi ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)) File "src/core/subord.ml", lines 215-216, characters 16-21: 215 | ................let (_, Decl { typ = CTyp (Some s_cid); _ }) = Store.FCVar.get psi in 216 | s_cid Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=CTyp None; _ }) File "src/core/subord.ml", lines 205-238, characters 4-10: 205 | ....match Whnf.cnormDCtx (cPsi, MShift 0) with 206 | | Null -> (Shift 0, Null) (* . |- shift(noCtx, 0) : . *) 207 | | CtxVar psi -> 208 | begin 209 | try ... 235 | (* cPsi,x:tA |- dot1 thin_s <= cPsi', x:tA' where tA = [thin_s]([thin_s_inv]tA) *) 236 | let thin_s_inv = Substitution.LF.invert thin_s in 237 | (Substitution.LF.dot1 thin_s, DDec (cPsi', TypDecl (name, TClo (tA, thin_s_inv)))) 238 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/subord.ml", lines 249-251, characters 11-24: 249 | ...........let (_, Decl { typ = CTyp _; _ }) = Store.FCVar.get psi in 250 | p.fmt "[thin'] CtxName psi = %a FOUND" 251 | Name.pp psi Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=ClTyp (_, _); _ }) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Ctxsub.cmx -c -impl src/core/ctxsub.ml) File "src/core/ctxsub.ml", lines 46-65, characters 2-36: 46 | ..match sA' with 47 | | (PiTyp ((decl, _, _), tA'), s') -> 48 | let (tM , sAmv) = 49 | lowerMVar 50 | (DDec (cPsi, Substitution.LF.decSub decl s')) ... 62 | , Nil 63 | , Plicity.explicit 64 | ) , 65 | ClTyp(MTyp (TClo sA') , cPsi)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _, _) File "src/core/ctxsub.ml", lines 88-158, characters 2-89: 88 | ..function 89 | | Null -> 90 | (* Substitution.LF.id --changed 2010-07-26*) 91 | (cD, ctxShift psi, 0) 92 | ... 155 | 156 | | DDec (_, TypDecl _) -> 157 | (* For the moment, assume tA atomic. *) 158 | Error.raise_not_implemented "[ctxToSub_mclosed] non-atomic cPsi entry not supported" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (_, TypDeclOpt _) File "src/core/ctxsub.ml", lines 174-216, characters 2-11: 174 | ..function 175 | | Null -> 176 | (* Substitution.LF.id --changed 2010-07-26*) 177 | ctxShift cPhi 178 | ... 213 | (* dprint (fun () -> "shifted = " ^ subToString shifted);*) 214 | let result = Dot (front, s) in 215 | dprintf (fun p -> p.fmt "result = %a@\n" pp_sub result); 216 | result Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi', TypDeclOpt _) File "src/core/ctxsub.ml", lines 250-255, characters 2-59: 250 | ..function 251 | | Empty -> MShift (Context.length cD0) 252 | | Dec (cD', Decl { name = n; typ = mtyp; plicity; inductivity }) -> 253 | let t = mctxToMMSub cD0 cD' in 254 | let mtyp' = Whnf.cnormMTyp (mtyp, t) in 255 | MDot (mdeclToMMVar cD0 n mtyp' plicity inductivity, t) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/ctxsub.ml", lines 261-263, characters 2-35: 261 | ..function 262 | | t when n <= 0 -> t 263 | | MDot (_, t') -> drop (n - 1) t' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MShift _ (However, some guarded clause may match this value.) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__ConvSigma.cmx -c -impl src/core/convSigma.ml) File "src/core/convSigma.ml", lines 20-22, characters 2-54: 20 | ..match (conv_list, k) with 21 | | (d :: conv_list', 1) -> d 22 | | (d :: conv_list', _) -> d + map conv_list' (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ([], _) File "src/core/convSigma.ml", lines 44-52, characters 2-21: 44 | ..match tM with 45 | | LF.Lam (loc, x, tN) -> 46 | let tN' = strans_norm cD (LF.DDec (cPsi, LF.TypDeclOpt x)) (tN, S.LF.dot1 s) (1 :: conv_list) in 47 | LF.Lam (loc, x, tN') 48 | | LF.Root (loc, h, tS, plicity) -> 49 | let h' = strans_head loc cD cPsi h conv_list in 50 | let tS' = strans_spine cD cPsi (tS, s) conv_list in 51 | LF.Root (loc, h', tS', plicity) 52 | | LF.LFHole _ -> tM Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _|Tuple (_, _)) File "src/core/convSigma.ml", lines 55-101, characters 2-8: 55 | ..match h with 56 | | LF.BVar x -> LF.BVar (map conv_list x) 57 | 58 | | LF.MVar (LF.Offset u, sigma) -> 59 | LF.MVar (LF.Offset u, strans_sub cD cPsi sigma conv_list) ... 98 | LF.BVar x' 99 | with 100 | | _ -> LF.Proj (LF.BVar x, j) 101 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Proj ((Const _|MMVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| HClo (_, _, _)|HMClo (_, _)), _) File "src/core/convSigma.ml", lines 112-118, characters 2-26: 112 | ..match mf with 113 | | LF.ClObj (phat, LF.MObj tM) -> 114 | LF.ClObj (phat, LF.MObj (strans_norm cD cPsi (tM, S.LF.id) conv_list )) 115 | | LF.ClObj (phat, LF.PObj h) -> 116 | LF.ClObj (phat, LF.PObj (strans_head Location.ghost cD cPsi h conv_list)) 117 | | LF.MV u -> LF.MV u 118 | | LF.MUndef -> LF.MUndef Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/convSigma.ml", lines 121-123, characters 2-55: 121 | ..function 122 | | (0, xs) -> n 123 | | (k, x :: xs) -> shift_conv_list (n + x) (k - 1, xs) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, []) File "src/core/convSigma.ml", lines 163-170, characters 2-59: 163 | ..match tA with 164 | | LF.Atom (loc, a, tS ) -> 165 | LF.Atom (loc, a, strans_spine cD cPsi (tS, s) conv_list ) 166 | 167 | | LF.PiTyp ((LF.TypDecl (x, tA), depend, plicity), tB) -> 168 | let tA' = strans_typ cD cPsi (tA, s) conv_list in 169 | let tB' = strans_typ cD cPsi (tB, S.LF.dot1 s) (1 :: conv_list) in 170 | LF.PiTyp ((LF.TypDecl (x, tA'), depend, plicity), tB') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/convSigma.ml", lines 384-432, characters 2-24: 384 | ..match Whnf.whnfTyp sA with 385 | | LF.Sigma tRec as tA, s -> 386 | (* FIXME: this doesn't do any strengthening !! -je *) 387 | let tH = 388 | mk_head ((new_mxvar n (cD, cPsi, LF.tclo tA s) plicity Inductivity.not_inductive, Whnf.m_id), s) ... 429 | let tN = 430 | etaExpandStrGeneric new_mxvar mk_head loc cD cPsi' (tB, S.LF.dot1 s) plicity n (x :: names) 431 | in 432 | LF.Lam (loc, x, tN) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Prettyint.cmx -c -impl src/core/prettyint.ml) File "src/core/prettyint.ml", lines 237-294, characters 4-39: 237 | ....function 238 | | LF.Atom (_, a, LF.Nil) -> 239 | fprintf ppf "%s" 240 | (R.render_cid_typ a) 241 | ... 291 | | LF.TClo (typ, s) -> 292 | fprintf ppf "TClo(%a,@ %a)" 293 | (fmt_ppr_lf_typ cD cPsi lvl) typ 294 | (fmt_ppr_lf_sub cD cPsi lvl) s Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/prettyint.ml", lines 434-545, characters 6-51: 434 | ......function 435 | | LF.HClo (h, s, sigma) -> 436 | fprintf ppf "%s[%a[%a]]" 437 | (R.render_bvar cPsi h) 438 | (fmt_ppr_lf_offset cD) s ... 542 | (r_paren_if (paren s)) 543 | 544 | | LF.Proj (head, k) -> 545 | fmt_head_with ("." ^ string_of_int k) head Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: AnnH (_, _) File "src/core/prettyint.ml", lines 769-771, characters 7-52: 769 | .......match LF.(v.typ) with 770 | | LF.ClTyp (_, cPsi) -> 771 | fmt_ppr_lf_iterm LF.(v.cD) cPsi lvl ppf it Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/prettyint.ml", lines 785-794, characters 7-10: 785 | .......begin match !g with 786 | | None -> 787 | fprintf ppf "?%a[%a]" 788 | Name.pp LF.(v.name) 789 | (fmt_ppr_lf_msub cD 0) theta 790 | 791 | | Some (LF.ICtx cPsi) -> 792 | fprintf ppf "%a" 793 | (fmt_ppr_lf_dctx LF.(v.cD) 0) (Whnf.cnormDCtx (cPsi, theta)) 794 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/prettyint.ml", lines 878-890, characters 4-38: 878 | ....function 879 | | LF.Null -> () 880 | 881 | | LF.DDec (LF.Null, LF.TypDecl (x, tA)) -> 882 | fprintf ppf "%a : %a" (* formerly "., %s : %a" -jd 2010-06-03 *) ... 887 | fprintf ppf "%a, %a : %a" 888 | (ppr_typ_decl_dctx cD) cPsi 889 | Name.pp x 890 | (fmt_ppr_lf_typ cD cPsi 0) tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/prettyint.ml", lines 974-1006, characters 4-26: 974 | ....function 975 | | LF.Typ -> 976 | fprintf ppf "type" 977 | 978 | | LF.PiKind ((LF.TypDecl (x, a), (Depend.Yes | Depend.Maybe), Plicity.Explicit), k) -> ... 1003 | (l_paren_if cond) 1004 | (fmt_ppr_lf_typ LF.Empty cPsi 1) a 1005 | (fmt_ppr_lf_kind (LF.DDec(cPsi, LF.TypDeclOpt x)) 0) k 1006 | (r_paren_if cond) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) File "src/core/prettyint.ml", lines 1097-1109, characters 4-40: 1097 | ....function 1098 | | LF.Queued id -> 1099 | fprintf ppf "@[QUEUED %d@]" id 1100 | | LF.(Eqn (id, cD, cPsi, INorm tM1, INorm tM2)) -> 1101 | fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]" ... 1106 | fprintf ppf "@[%d.@ @[<v>@[%a@]@ =@ @[%a@]@]@]" 1107 | id 1108 | (fmt_ppr_lf_head cD cPsi l0) h1 1109 | (fmt_ppr_lf_head cD cPsi l0) h2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _)) File "src/core/prettyint.ml", lines 1147-1228, characters 4-39: 1147 | ....function 1148 | | Comp.TypBase (_, c, mS)-> 1149 | let cond = lvl > 10 in 1150 | fprintf ppf "%s@[<2>%s@[%a@]@]%s" 1151 | (l_paren_if cond) ... 1225 | fprintf ppf "@[%a@]*" 1226 | (fmt_ppr_cmp_typ cD 10) tau 1227 | else 1228 | fmt_ppr_cmp_typ cD lvl ppf tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDef (_, _, _) File "src/core/prettyint.ml", lines 1236-1241, characters 4-48: 1236 | ....function 1237 | | Comp.PatNil -> fprintf ppf "" 1238 | | Comp.PatApp (_, pat, pat_spine) -> 1239 | fprintf ppf "@[%a@]@ @[%a@]" 1240 | (fmt_ppr_cmp_pattern cD cG (lvl + 1)) pat 1241 | (fmt_ppr_pat_spine cD cG lvl) pat_spine Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) File "src/core/prettyint.ml", lines 1245-1248, characters 6-65: 1245 | ......match (ms, n) with 1246 | | (_, 0) -> ms 1247 | | (Comp.PatNil, _) -> ms 1248 | | (Comp.PatApp (_, _, rest), n) -> dropSpineLeft rest (n-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatObs (_, _, _, _), 1) File "src/core/prettyint.ml", lines 1507-1550, characters 4-26: 1507 | ....function 1508 | | Comp.FunValue _ -> fprintf ppf " fn " 1509 | | Comp.ThmValue _ -> fprintf ppf " rec " 1510 | | Comp.MLamValue _ -> fprintf ppf " mlam " 1511 | | Comp.CtxValue _ -> fprintf ppf " mlam " ... 1547 | fprintf ppf "%s%s%a%s" 1548 | (l_paren_if cond) 1549 | (R.render_cid_comp_const c) print_spine pat_spine 1550 | (r_paren_if cond) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: FnValue (_, _, _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Apxnorm.cmx -c -impl src/core/apxnorm.ml) File "src/core/apxnorm.ml", lines 44-49, characters 2-33: 44 | ..function 45 | | Apx.LF.Lam (loc, x, m') -> Apx.LF.Lam(loc, x, shiftApxTerm (k + 1) m') 46 | | Apx.LF.Root (loc, h , spine) -> 47 | let h' = shiftApxHead k h in 48 | let spine' = shiftApxSpine k spine in 49 | Apx.LF.Root(loc, h', spine') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (LFHole (_, _)|Tuple (_, _)|Ann (_, _, _)) File "src/core/apxnorm.ml", lines 70-80, characters 2-35: 70 | ..function 71 | | Apx.LF.EmptySub -> Apx.LF.EmptySub 72 | | Apx.LF.Id -> Apx.LF.Id 73 | | Apx.LF.Dot (Apx.LF.Head h, s) -> 74 | let h' = shiftApxHead k h in ... 77 | | Apx.LF.Dot (Apx.LF.Obj m, s) -> 78 | let m' = shiftApxTerm k m in 79 | let s' = shiftApxSub k s in 80 | Apx.LF.Dot (Apx.LF.Obj m', s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (SVar (_, _)|FSVar (_, _)) File "src/core/apxnorm.ml", lines 126-128, characters 4-49: 126 | ....match (l_delta, t) with 127 | | (0, t) -> t 128 | | (k, Int.LF.MDot(_ , t')) -> drop t' (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, MShift _) File "src/core/apxnorm.ml", lines 134-151, characters 6-36: 134 | ......match Substitution.LF.applyMSub offset t with 135 | | Int.LF.MV u -> Apx.LF.Offset u 136 | | Int.LF.ClObj (_, clobj) -> 137 | let (u, mtyp) = Whnf.mctxLookup cD offset' in 138 | dprintf ... 148 | end; 149 | let t' = drop t l_delta in 150 | let mtyp' = Whnf.cnormMTyp (mtyp, t')in 151 | Apx.LF.MInst (clobj, mtyp') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|CObj _) File "src/core/apxnorm.ml", lines 267-276, characters 7-10: 267 | .......begin match Substitution.LF.applyMSub offset t with 268 | | Int.LF.CObj (Int.LF.CtxVar (Int.LF.CtxOffset psi0)) -> 269 | Apx.LF.CtxVar (Apx.LF.CtxOffset psi0) 270 | | Int.LF.CObj Int.LF.Null -> 271 | Apx.LF.Null 272 | | Int.LF.CObj (Int.LF.DDec _) -> 273 | raise (Error (loc, CtxOverGeneral)) 274 | (* Apx.LF.CtxVar (Apx.LF.CInst cPsi) *) 275 | | Int.LF.MV offset' -> Apx.LF.CtxVar (Apx.LF.CtxOffset offset') 276 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CObj (CtxVar (CtxName _|CInst _)) File "src/core/apxnorm.ml", lines 288-355, characters 2-27: 288 | ..match e with 289 | | Apx.Comp.Fn (loc, f, e) -> 290 | Apx.Comp.Fn (loc, f, cnormApxExp cD delta e cDt) 291 | | Apx.Comp.Fun (loc, fbr) -> 292 | Apx.Comp.Fun (loc, cnormApxFBranches cD delta fbr cDt) ... 352 | 353 | | Apx.Comp.Var _ 354 | | Apx.Comp.DataConst _ 355 | | Apx.Comp.Const _ -> e Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ann (_, _, _) File "src/core/apxnorm.ml", lines 388-392, characters 4-63: 388 | ....function 389 | | Apx.LF.Empty -> cD'' 390 | | Apx.LF.Dec (delta2', Apx.LF.Decl (x, _, plicity)) -> 391 | let cD1'' = append_mctx cD'' delta2' in 392 | Int.LF.Dec (cD1'', Int.LF.DeclOpt { name = x; plicity }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (delta2', DeclOpt _) File "src/core/apxnorm.ml", lines 421-431, characters 2-27: 421 | ..function 422 | | Apx.LF.Lam (_, _, m') -> collectApxTerm fMVs m' 423 | 424 | | Apx.LF.Root (_, h, s) -> 425 | let fMVs' = collectApxHead fMVs h in ... 428 | | Apx.LF.Tuple (_, tuple) -> 429 | collectApxTuple fMVs tuple 430 | 431 | | Apx.LF.LFHole _ -> fMVs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ann (_, _, _) File "src/core/apxnorm.ml", lines 502-503, characters 27-22: 502 | ...........................(Apx.LF.TypDecl (_, a))= 503 | collectApxTyp fMVs a Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/apxnorm.ml", lines 530-538, characters 2-44: 530 | ..function 531 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp a, c_psi), _) 532 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp a, c_psi), _) -> 533 | let fMVs' = collectApxDCtx fMVs c_psi in 534 | collectApxTyp fMVs' a 535 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp (_, c_phi), c_psi), _) -> 536 | let fMVs' = collectApxDCtx fMVs c_psi in 537 | collectApxDCtx fMVs' c_phi 538 | | Apx.LF.Decl(_, Apx.LF.CTyp _, _) -> fMVs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/apxnorm.ml", lines 556-563, characters 2-31: 556 | ..function 557 | | Apx.LF.Atom (loc, c, tS) -> 558 | collectApxSpine fMVd tS 559 | | Apx.LF.PiTyp ((Apx.LF.TypDecl (x, tA), _, _ ), tB) -> 560 | let fMVd1 = collectApxTyp fMVd tA in 561 | collectApxTyp fMVd1 tB 562 | | Apx.LF.Sigma trec -> 563 | collectApxTypRec fMVd trec Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/apxnorm.ml", lines 573-581, characters 2-45: 573 | ..function 574 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.STyp(_, cPhi), cPsi), _) -> 575 | let fMVd1 = collectApxDCtx fMVd cPsi in 576 | collectApxDCtx fMVd1 cPhi 577 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.MTyp tA, cPsi), _) 578 | | Apx.LF.Decl(_, Apx.LF.ClTyp (Apx.LF.PTyp tA, cPsi), _) -> 579 | let fMVd1 = collectApxDCtx fMVd cPsi in 580 | collectApxTyp fMVd1 tA 581 | | Apx.LF.Decl (_, Apx.LF.CTyp _, _) -> fMVd Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/apxnorm.ml", lines 584-603, characters 2-32: 584 | ..function 585 | | Apx.Comp.TypArr (_, tau1, tau2) -> 586 | let fMVd1 = collectApxCompTyp fMVd tau1 in 587 | collectApxCompTyp fMVd1 tau2 588 | | Apx.Comp.TypCross (_, taus) -> ... 600 | let fMVd1 = collectApxDCtx fMVd cPsi in 601 | collectApxDCtx fMVd1 cPhi 602 | | Apx.Comp.TypBase (_loc, _c, mS) -> 603 | collectApxMetaSpine fMVd mS Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypBox (_, (_, CTyp _)) File "src/core/apxnorm.ml", lines 606-618, characters 2-32: 606 | ..function 607 | | Apx.Comp.PatMetaObj (loc, mO) -> 608 | collectApxMetaObj fMVd mO 609 | | Apx.Comp.PatConst (loc, c, pat_spine) -> 610 | collectApxPatSpine fMVd pat_spine ... 615 | |> List.fold_left collectApxPattern fMVd 616 | | Apx.Comp.PatAnn (loc, pat, tau) -> 617 | let fMVd1 = collectApxCompTyp fMVd tau in 618 | collectApxPattern fMVd1 pat Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatFVar (_, _) File "src/core/apxnorm.ml", lines 836-886, characters 2-33: 836 | ..function 837 | | Apx.Comp.Fn (loc, f, e) -> 838 | Apx.Comp.Fn (loc, f, fmvApxExp fMVs cD d_param e) 839 | 840 | | Apx.Comp.Fun (loc, fbr) -> ... 883 | 884 | | Apx.Comp.Var _ 885 | | Apx.Comp.DataConst _ 886 | | Apx.Comp.Const _ as i -> i Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ann (_, _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Abstract.cmx -c -impl src/core/abstract.ml) File "src/core/abstract.ml", lines 253-257, characters 4-47: 253 | ....function 254 | | I.Atom _ -> (k, tS) 255 | | I.PiTyp (_, tA') -> 256 | let tN = I.Root (loc, I.BVar k, I.Nil, Plicity.explicit) in 257 | etaExpSpine (k + 1) (I.App (tN, tS)) tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/abstract.ml", lines 260-263, characters 4-49: 260 | ....match tA with 261 | | I.Atom _ -> tM 262 | | I.PiTyp ((I.TypDecl (x, _), _, _), tA') -> 263 | I.Lam (loc, x, etaExpPrefix loc (tM, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/abstract.ml", lines 267-269, characters 4-19: 267 | ....match h with 268 | | I.BVar x -> I.BVar (x + k - 1) 269 | | I.FVar _ -> h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/abstract.ml", lines 317-332, characters 2-17: 317 | ..function 318 | | I.Empty -> I.Empty 319 | 320 | | I.Dec (cQ', FDecl (MMV _, Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), _, _)))) -> 321 | begin match raiseType cPsi tA with ... 329 | I.Dec (ctxToCtx cQ', I.TypDecl (x, tA)) 330 | 331 | | I.Dec (cQ', FDecl (_, Impure)) -> 332 | ctxToCtx cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV _, Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _)))) File "src/core/abstract.ml", lines 336-355, characters 2-20: 336 | ..function 337 | | I.Empty -> I.Empty 338 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) -> 339 | let plicity' = f plicity in 340 | let cQ'' = ctxToMCtx f cQ' in ... 352 | | I.Dec (cQ', FDecl (FV _, Pure (LFTyp tA)))-> 353 | Error.raise_violation "Free variables in computation-level reconstruction." 354 | | I.Dec (cQ', FDecl (_, Impure)) -> 355 | ctxToMCtx f cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV (_, _), Pure (LFTyp _))) File "src/core/abstract.ml", lines 358-365, characters 2-76: 358 | ..function 359 | | I.Empty -> I.Empty 360 | | I.Dec (cQ', I.Decl { name = x; typ = I.CTyp (Option.Some w); plicity; inductivity }) -> 361 | let cQ'' = mctxToCtx cQ' in 362 | I.Dec (cQ'', CtxV (x, w, plicity, inductivity)) 363 | | I.Dec (cQ', I.Decl { name = n; typ = ityp; plicity; inductivity }) -> 364 | let cQ'' = mctxToCtx cQ' in 365 | I.Dec (cQ'', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cQ', DeclOpt _) File "src/core/abstract.ml", lines 368-384, characters 2-32: 368 | ..function 369 | | I.Empty -> I.Empty 370 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, _, _)))) -> 371 | let cQ'' = ctxToMCtx_pattern (n :: names) cQ' in 372 | I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive }) ... 381 | I.Dec (cQ'', I.Decl { name = x; typ =I.CTyp (Some w); plicity; inductivity }) 382 | 383 | | I.Dec (cQ', FDecl (_, Impure)) -> 384 | ctxToMCtx_pattern names cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (FV _, Pure (LFTyp _))) File "src/core/abstract.ml", lines 409-421, characters 2-35: 409 | ..function 410 | | (I.Lam (loc, x, tM), s) -> 411 | let (cQ', tM') = collectTerm p cQ (cvar, offset + 1) (tM, LF.dot1 s) in 412 | (cQ', I.Lam (loc, x, tM')) 413 | | (I.Tuple (loc, tuple), s) -> ... 418 | let (cQ'', tS') = collectSpine p cQ' phat (tS, s) in 419 | (cQ'', I.Root (loc, h', tS', plicity)) 420 | | (I.LFHole (loc, id, name), s) -> 421 | (cQ, I.LFHole (loc, id, name)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _, _) File "src/core/abstract.ml", lines 481-485, characters 7-49: 481 | .......let (cD_d, I.Decl { typ = mtyp; plicity; inductivity; _ }) = Store.FCVar.get name in 482 | let mtyp' = Whnf.cnormMTyp (mtyp, Int.LF.MShift (p - Context.length cD_d)) in 483 | if !pat_flag 484 | then MetaTyp (mtyp', Plicity.explicit, Inductivity.not_inductive) 485 | else MetaTyp (mtyp', plicity, inductivity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, DeclOpt _) File "src/core/abstract.ml", lines 512-517, characters 10-11: 512 | ..........let (cQ', MetaTyp (typ, plicity, inductivity)) = 513 | addVar loc p cQ (MMV (name, instantiation)) (MetaTyp (typ, plicity, inductivity)) 514 | in 515 | ( cQ' 516 | , I.{ v with typ; plicity; inductivity } 517 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cQ', LFTyp _) File "src/core/abstract.ml", lines 615-652, characters 2-26: 615 | ..function 616 | | (I.BVar _ as head, _) 617 | | (I.Const _ as head, _) -> (cQ, head) 618 | 619 | | (I.FVar name, _) -> ... 649 | 650 | | (I.Proj (head, j), s) -> 651 | let (cQ', h') = collectHead k cQ phat loc (head, s) in 652 | (cQ', I.Proj (h', j)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)), _) File "src/core/abstract.ml", lines 656-671, characters 2-27: 656 | ..function 657 | | (I.Atom (loc, a, tS), s) -> 658 | let (cQ', tS') = collectSpine p cQ phat (tS, s) in 659 | (cQ', I.Atom (loc, a, tS')) 660 | ... 668 | 669 | | (I.Sigma typRec, s) -> 670 | let (cQ', typRec') = collectTypRec p cQ phat (typRec, s) in 671 | (cQ', I.Sigma typRec') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 686-691, characters 2-66: 686 | ..function 687 | | (I.Typ, _) -> (cQ, I.Typ) 688 | | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) -> 689 | let (cQ', tA') = collectTyp p cQ phat (tA, s) in 690 | let (cQ'', tK') = collectKind p cQ' (cvar, offset + 1) (tK, LF.dot1 s) in 691 | (cQ'', I.PiKind ((I.TypDecl (x, tA'), depend, plicity), tK')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 759-761, characters 22-38: 759 | ......................(I.Decl d) = 760 | let (cQ', mtyp') = collectMTyp p cQ d.typ in 761 | (cQ', I.Decl { d with typ = mtyp' }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/abstract.ml", lines 784-790, characters 2-8: 784 | ..function 785 | | (I.Typ, _) -> I.Typ 786 | | (I.PiKind ((I.TypDecl (x, tA), depend, plicity), tK), s) -> 787 | I.PiKind 788 | ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity) 789 | , abstractKind cQ (offset + 1) (tK, LF.dot1 s) 790 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 795-803, characters 2-8: 795 | ..function 796 | | (I.Atom (loc, a, tS), s (* id *)) -> 797 | I.Atom (loc, a, abstractSpine cQ offset (tS, s)) 798 | 799 | | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) -> 800 | I.PiTyp 801 | ( (I.TypDecl (x, abstractTyp cQ offset (tA, s)), depend, plicity) 802 | , abstractTyp cQ (offset + 1) (tB, LF.dot1 s) 803 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 818-843, characters 2-8: 818 | ..function 819 | | (I.Lam (loc, x, tM), s) -> 820 | I.Lam (loc, x, abstractTerm cQ (offset + 1) (tM, LF.dot1 s)) 821 | 822 | | ( I.(Root ... 840 | , abstractHead cQ offset tH 841 | , abstractSpine cQ offset (tS, s) 842 | , plicity 843 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((LFHole (_, _, _)|Clo _|Tuple (_, _)), _) File "src/core/abstract.ml", lines 846-851, characters 2-59: 846 | ..function 847 | | I.BVar _ as tH -> tH 848 | | I.Const _ as tH -> tH 849 | | I.FVar n -> I.BVar (index_of cQ (FV n) + offset) 850 | | I.AnnH _ -> 851 | Error.raise_not_implemented "[abstractHead] AnnH case" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MMVar _|MPVar _|MVar _|PVar _|Proj (_, _)|FMVar _|FPVar _|HClo (_, _, _)| HMClo (_, _)) File "src/core/abstract.ml", lines 855-869, characters 2-85: 855 | ..match (s, cPsi) with 856 | | (I.Shift _, I.Null) -> tS 857 | | (I.Shift k, I.DDec _) -> 858 | subToSpine cQ offset (I.Dot (I.Head (I.BVar (k + 1)), I.Shift (k + 1)), cPsi) tS 859 | ... 866 | (* subToSpine cQ offset s (I.App (I.Root (I.BVar k, I.Nil), tS)) *) 867 | 868 | | (I.Dot (I.Obj tM, s), I.DDec (cPsi', _)) -> 869 | subToSpine cQ offset (s, cPsi') (I.App (abstractTerm cQ offset (tM, LF.id), tS)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Shift _, CtxVar _) File "src/core/abstract.ml", lines 880-894, characters 2-48: 880 | ..function 881 | | I.Empty -> I.Empty 882 | | I.Dec (cQ, FDecl (_, Impure)) -> abstractCtx cQ 883 | | I.Dec (cQ, FDecl (MMV (n, r), Pure (MetaTyp (I.ClTyp (I.MTyp tA, cPsi), plicity, inductivity)))) -> 884 | let cQ' = abstractCtx cQ in ... 891 | | I.Dec (cQ, FDecl (FV f, Pure (LFTyp tA))) -> 892 | let cQ' = abstractCtx cQ in 893 | let tA' = abstractTyp cQ 0 (tA, LF.id) in 894 | I.Dec (cQ', FDecl (FV f, Pure (LFTyp tA'))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV (_, _), Pure (MetaTyp (ClTyp ((PTyp _|STyp (_, _)), _), _, _)))) File "src/core/abstract.ml", lines 900-906, characters 2-39: 900 | ..match cPsi with 901 | | I.Null -> I.Null 902 | | I.CtxVar psi -> cPsi 903 | | I.DDec (cPsi, I.TypDecl (x, tA)) -> 904 | let cPsi' = abstractDctx cQ cPsi (l - 1) in 905 | let tA' = abstractTyp cQ (l - 1) (tA, LF.id) in 906 | I.DDec (cPsi', I.TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/abstract.ml", lines 930-940, characters 2-20: 930 | ..function 931 | | (I.Atom (loc, a, tS), s (* id *)) -> 932 | I.Atom (loc, a, abstractMVarSpine cQ offset (tS, s)) 933 | | (I.PiTyp ((I.TypDecl (x, tA), depend, plicity), tB), s) -> 934 | I.PiTyp ... 937 | ) 938 | | (I.Sigma typRec, s) -> 939 | let typRec' = abstractMVarTypRec cQ offset (typRec, s) in 940 | I.Sigma typRec' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/abstract.ml", lines 954-962, characters 2-29: 954 | ..function 955 | | (I.Lam (loc, x, tM), s) -> 956 | I.Lam (loc, x, abstractMVarTerm cQ offset (tM, LF.dot1 s)) 957 | | (I.Tuple (loc, tuple), s) -> 958 | I.Tuple (loc, abstractMVarTuple cQ offset (tuple, s)) 959 | | (I.Root (loc, tH, tS, plicity), s (* LF.id *)) -> 960 | I.Root (loc, abstractMVarHead cQ offset tH, abstractMVarSpine cQ offset (tS, s), plicity) 961 | | (I.LFHole (loc, id, name), s) -> 962 | I.LFHole (loc, id, name) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _, _) File "src/core/abstract.ml", lines 1000-1036, characters 2-46: 1000 | ..function 1001 | | I.BVar _ as mH -> mH 1002 | | I.Const _ as mH -> mH 1003 | 1004 | | I.FPVar ns -> I.PVar (abstractFVarSub cQ loff ns) ... 1033 | Error.raise_not_implemented "[abstractMVarHead] AnnH case" 1034 | 1035 | | I.Proj (head, k) -> 1036 | I.Proj (abstractMVarHead cQ loff head, k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (FVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/abstract.ml", lines 1091-1097, characters 2-39: 1091 | ..function 1092 | | I.Null -> I.Null 1093 | | I.CtxVar cv -> I.CtxVar (abstractCtxVar cQ loff cv) 1094 | | I.DDec (cPsi, I.TypDecl (x, tA)) -> 1095 | let cPsi' = abstractMVarDctx cQ loff cPsi in 1096 | let tA' = abstractMVarTyp cQ loff (tA, LF.id) in 1097 | I.DDec (cPsi', I.TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/abstract.ml", lines 1110-1112, characters 30-31: 1110 | ..............................(I.Decl d) = 1111 | let mtyp' = abstractMVarMTyp cQ d.typ loff in 1112 | I.Decl { d with typ = mtyp' } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/abstract.ml", lines 1121-1138, characters 2-58: 1121 | ..match cQ with 1122 | | I.Empty -> I.Empty 1123 | | I.Dec (cQ, FDecl (v, Pure (MetaTyp (ityp, plicity, inductivity)))) -> 1124 | let cQ' = abstractMVarCtx cQ (l - 1) in 1125 | I.Dec (cQ', FDecl (v, Pure (MetaTyp (abstractMVarMTyp cQ ityp (l, 0), plicity, inductivity)))) ... 1135 | * is it ever hit on correct code? -jd 2009-02-12 1136 | * No. This case should not occur in correct code - bp 1137 | *) 1138 | raise (Error (Name.location name, UnknownIdentifier)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (MMV _, Pure (LFTyp _))) File "src/core/abstract.ml", lines 1150-1154, characters 2-20: 1150 | ..function 1151 | | I.ClObj (phat, tM) -> 1152 | I.ClObj (abstractMVarHat cQ off phat, abstrClObj cQ off tM) 1153 | | I.CObj cPsi -> I.CObj (abstractMVarDctx cQ off cPsi) 1154 | | I.MV k -> I.MV k Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MUndef File "src/core/abstract.ml", lines 1167-1179, characters 4-21: 1167 | ....function 1168 | | I.Empty -> I.Empty 1169 | | I.Dec (cQ', FDecl (FV n, Pure (MetaTyp (ityp, plicity, inductivity)))) -> 1170 | let cQ'' = ctxToMCtx' cQ' in 1171 | I.Dec (cQ'', I.Decl { name = n; typ = ityp; plicity; inductivity }) ... 1176 | let cQ'' = ctxToMCtx' cQ' in 1177 | I.Dec (cQ'', I.Decl { name = x; typ = I.CTyp (Option.some w); plicity; inductivity }) 1178 | | I.Dec (cQ', FDecl (_, Impure)) -> 1179 | ctxToMCtx' cQ' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, FDecl (FV _, Pure (LFTyp _))) File "src/core/abstract.ml", lines 1208-1217, characters 2-8: 1208 | ..match cQ with 1209 | | Int.LF.Empty -> (tA', 0) 1210 | | Int.LF.Dec (_, FDecl (s, _)) -> 1211 | let cQ' = abstractCtx cQ in 1212 | let tA2 = abstractTyp cQ' 0 (tA', LF.id) in 1213 | let cPsi = ctxToCtx cQ' in 1214 | begin match raiseType' cPsi tA2 with 1215 | | (None, tA3) -> (tA3, length' cPsi) 1216 | | _ -> raise (Error (Location.ghost, LeftoverVars)) 1217 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, CtxV _) File "src/core/abstract.ml", lines 1246-1287, characters 2-28: 1246 | ..function 1247 | | Comp.TypBase (loc, a, ms) -> 1248 | let (cQ', ms') = collect_meta_spine p cQ ms in 1249 | (cQ', Comp.TypBase (loc, a, ms')) 1250 | | Comp.TypCobase (loc, a, ms) -> ... 1284 | 1285 | | Comp.TypInd tau -> 1286 | let (cQ', tau') = collectCompTyp p cQ tau in 1287 | (cQ', Comp.TypInd tau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDef (_, _, _) File "src/core/abstract.ml", lines 1291-1296, characters 2-54: 1291 | ..function 1292 | | I.Empty -> (cQ, I.Empty) 1293 | | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) -> 1294 | let (cQ1, cG') = collectGctx cQ cG in 1295 | let (cQ2, tau') = collectCompTyp 0 cQ1 tau in 1296 | (cQ2, I.Dec (cG', Comp.CTypDecl (x, tau', flag))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/abstract.ml", lines 1463-1489, characters 2-52: 1463 | ..function 1464 | | Comp.TypBase (loc, a, cS) -> 1465 | let cS' = abstractMVarMetaSpine cQ offset cS in 1466 | Comp.TypBase (loc, a, cS') 1467 | | Comp.TypCobase (loc, a, cS) -> ... 1486 | ) 1487 | 1488 | | Comp.TypInd tau -> 1489 | Comp.TypInd (abstractMVarCompTyp cQ offset tau) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _)|TypClo (_, _)) File "src/core/abstract.ml", lines 1492-1497, characters 2-47: 1492 | ..function 1493 | | I.Empty -> I.Empty 1494 | | I.Dec (cG, Comp.CTypDecl (x, tau, flag)) -> 1495 | let cG' = abstractMVarGctx cQ offset cG in 1496 | let tau' = abstractMVarCompTyp cQ offset tau in 1497 | I.Dec (cG', Comp.CTypDecl (x, tau', flag)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/abstract.ml", lines 1698-1700, characters 4-48: 1698 | ....match (p, cD) with 1699 | | (0, _) -> cD 1700 | | (_, I.Dec (cD', decl)) -> drop (p - 1) cD' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, Empty) File "src/core/abstract.ml", lines 1722-1724, characters 8-24: 1722 | ........let I.Dec (cD1', decl) = cD1 in 1723 | let cD = subtract cD1' cD2 in 1724 | I.Dec (cD, decl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/abstract.ml", lines 1785-1789, characters 2-24: 1785 | ..function 1786 | | I.Null -> cPsi1 1787 | | I.DDec (cPsi2', dec) -> 1788 | let cPsi1' = appDCtx cPsi1 cPsi2' in 1789 | I.Dec (cPsi1', dec) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Unify.cmx -c -impl src/core/unify.ml) File "src/core/unify.ml", lines 163-195, characters 30-70: 163 | ..............................(Atom (_, a, _) as tP, s) = 164 | dprintf 165 | begin fun p -> 166 | p.fmt "@[<v 6>[genMMVarstr] of type @[%a@]@,in context cPsi = @[%a@]@]" 167 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tP, s)) ... 192 | cPsi |- s_proj : cPhi 193 | cPsi |- comp ss' s_proj : cPhi' *) 194 | let ss_proj = Substitution.LF.comp ss' s_proj in 195 | Root (loc, MMVar ((u, Whnf.m_id), ss_proj), Nil, Plicity.explicit) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _) File "src/core/unify.ml", lines 575-585, characters 6-9: 575 | ......begin match applyMSub k ms with 576 | | MUndef -> 577 | (* Psi1, x:tA |- s' <= Psi2 *) 578 | (Whnf.mcomp mt' (MShift 1), cD2) 579 | ... 582 | A = [mt']([mt']^-1 A) and cPsi = [mt']([mt']^-1 cPsi *) 583 | let mtt' = Whnf.m_invert (Whnf.cnormMSub mt') in 584 | (Whnf.mvar_dot1 mt', Dec (cD2, Decl { name = n; typ = Whnf.cnormMTyp (ctyp, mtt'); plicity; inductivity })) 585 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 566-590, characters 4-38: 566 | ....match (t, cD1) with 567 | | (MShift _, Empty) -> (Whnf.m_id, Empty) 568 | 569 | | (MShift k, Dec _) -> 570 | pruneMCtx' cD (MDot (MV (k + 1), MShift (k + 1)), cD1) ms ... 587 | | (MDot (MUndef, mt), Dec (cD1, _)) -> 588 | let (mt', cD2) = pruneMCtx' cD (mt, cD1) ms in 589 | (* cD1 |- mt' <= cD2 *) 590 | (Whnf.mcomp mt' (MShift 1), cD2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MDot (MV k, mt), Dec (cD1, DeclOpt _)) File "src/core/unify.ml", lines 810-819, characters 7-10: 810 | .......begin match applyMSub u ms with 811 | | MV v -> 812 | Root 813 | ( loc 814 | , MVar (Offset v, invSub cD0 phat (t', cPsi1) ss rOccur) 815 | , Nil 816 | , plicity 817 | ) 818 | | MUndef -> raise NotInvertible 819 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 822-830, characters 7-46: 822 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in 823 | let d = Context.length cD0 - Context.length cD_d in 824 | let cPsi1 = 825 | if d = 0 826 | then cPsi1 827 | else Whnf.cnormDCtx (cPsi1, MShift d) 828 | in 829 | let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in 830 | Root (loc, FMVar (u, s'), Nil, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=CTyp _; _ }) File "src/core/unify.ml", lines 833-841, characters 7-46: 833 | .......let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get p in 834 | let d = Context.length cD0 - Context.length cD_d in 835 | let cPsi1 = 836 | if d = 0 837 | then cPsi1 838 | else Whnf.cnormDCtx (cPsi1, MShift d) 839 | in 840 | let s' = invSub cD0 phat (comp t s, cPsi1) ss rOccur in 841 | Root (loc, FPVar (p, s'), Nil, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=CTyp _; _ }) File "src/core/unify.ml", lines 846-850, characters 7-10: 846 | .......begin match applyMSub p ms with 847 | | MV q -> 848 | Root (loc, PVar (q, invSub cD0 phat (t', cPsi1) ss rOccur), Nil, plicity) 849 | | MUndef -> raise NotInvertible 850 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 747-862, characters 4-62: 747 | ....match sM with 748 | | (Lam (loc, x, tM), s) -> 749 | Lam (loc, x, invNorm cD0 ((cvar, offset + 1), (tM, dot1 s), (ms, dot1 ssubst), rOccur)) 750 | 751 | | (Root (loc, MVar (Inst u, t), tS, plicity), s) -> ... 859 | ) 860 | 861 | | (Tuple (loc, trec), s) -> 862 | Tuple (loc, invTuple cD0 (phat, (trec, s), ss, rOccur)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((LFHole (_, _, _)|Clo _), _) File "src/core/unify.ml", lines 888-891, characters 7-10: 888 | .......begin match bvarSub k ssubst with 889 | | Undef -> raise NotInvertible 890 | | Head (BVar k') -> BVar k' 891 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 894-897, characters 7-10: 894 | .......begin match bvarSub k ssubst with 895 | | Head (BVar _ as head) -> head 896 | | Undef -> raise NotInvertible 897 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 932-936, characters 7-10: 932 | .......begin match applyMSub u ms with 933 | | MV v -> 934 | MVar (Offset v, invSub cD0 phat (t, cPsi1) ss rOccur) 935 | | MUndef -> raise NotInvertible 936 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 940-944, characters 7-10: 940 | .......begin match applyMSub p ms with 941 | | MV q -> 942 | PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur) 943 | | MUndef -> raise NotInvertible 944 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 948-952, characters 7-10: 948 | .......begin match applyMSub p ms with 949 | | MV q -> 950 | Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i) 951 | | MUndef -> raise NotInvertible 952 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 886-952, characters 4-10: 886 | ....match head with 887 | | BVar k -> 888 | begin match bvarSub k ssubst with 889 | | Undef -> raise NotInvertible 890 | | Head (BVar k') -> BVar k' ... 949 | | MV q -> 950 | Proj (PVar (q, invSub cD0 phat (t, cPsi1) ss rOccur), i) 951 | | MUndef -> raise NotInvertible 952 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Proj ((Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)), _) File "src/core/unify.ml", lines 956-959, characters 4-46: 956 | ....function 957 | | Undefs -> raise (Failure "Variable dependency") 958 | | Shift k -> Shift (n + k) 959 | | Dot (ft, ss') -> shiftInvSub (n - 1) ss' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/unify.ml", lines 981-985, characters 9-40: 981 | .........match applyMSub s ms with 982 | | MV v -> 983 | let (_, cPhi, _, cPsi') = Whnf.mctxSDec cD0 v in 984 | (v, cPhi, cPsi') 985 | | MUndef -> raise NotInvertible Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1024-1030, characters 7-10: 1024 | .......begin match applyMSub s ms with 1025 | | MV v -> 1026 | let (_, cPhi, _, cPsi1) = Whnf.mctxSDec cD0 v in 1027 | (* applyMSub to ctx_offset ? *) 1028 | SVar (v, n, invSub cD0 phat (t, cPsi1) ss rOccur) 1029 | | MUndef -> raise NotInvertible 1030 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1033-1034, characters 7-64: 1033 | .......let (_, Decl { typ = ClTyp (STyp (LF.Subst, _), cPsi'); _ }) = Store.FCVar.get s_name in 1034 | FSVar (n, (s_name, invSub cD0 phat (t, cPsi') ss rOccur)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=ClTyp (STyp (Ren, _), _); _ }) File "src/core/unify.ml", lines 1063-1069, characters 4-74: 1063 | ....match (mt, cD1) with 1064 | | (MShift n, _) -> checkDefined (Whnf.mcomp (MShift n) ms) 1065 | | (MDot (ClObj (phat, SObj sigma), mt'), Dec (cD', Decl { typ = ClTyp (STyp (_, cPhi), _); _ })) -> 1066 | let sigma' = invSub cD0 phat (sigma, cPhi) (ms, id) rOccur in 1067 | MDot (ClObj (phat, SObj sigma'), invMSub cD0 (mt', cD') ms rOccur) 1068 | | (MDot (mobj, mt'), Dec (cD', _)) -> 1069 | MDot (invMObj cD0 mobj ms rOccur, invMSub cD0 (mt', cD') ms rOccur) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MDot (mobj, mt'), Empty) File "src/core/unify.ml", lines 1072-1080, characters 4-90: 1072 | ....match mobj with 1073 | | MV n -> 1074 | begin match applyMSub n ms with 1075 | | MUndef -> raise NotInvertible 1076 | | ft -> ft 1077 | end 1078 | | ClObj (phat, MObj tM) -> ClObj (phat, MObj (invNorm cD0 (phat, (tM, id), (ms, id), rOccur))) 1079 | | CObj cPsi -> Error.raise_violation "Not implemented" 1080 | | ClObj (phat, PObj h) -> ClObj (phat, PObj (invHead cD0 (phat, h, (ms, id), rOccur))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/unify.ml", lines 1152-1154, characters 7-80: 1152 | .......let Shift 0 = s in (* Assert s is supposed to be the identity *) 1153 | let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in 1154 | Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Shift 1 File "src/core/unify.ml", lines 1124-1154, characters 4-80: 1124 | ....match sM with 1125 | | (LFHole _ as n, _) -> n 1126 | | (Lam (loc, x, tM), s) -> 1127 | dprintf 1128 | begin fun p -> ... 1151 | | (Root (loc, head, tS, plicity), s) -> 1152 | let Shift 0 = s in (* Assert s is supposed to be the identity *) 1153 | let newHead = pruneHead cD0 cPsi' (loc, head) ss rOccur in 1154 | Root (loc, newHead, pruneSpine cD0 cPsi' phat (tS, s) ss rOccur, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Clo _, _) File "src/core/unify.ml", lines 1173-1184, characters 4-9: 1173 | ....let ClTyp (tp, cPsi1) = mmvar.typ in 1174 | if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur 1175 | then raise (Failure "Variable occurrence") 1176 | else 1177 | begin ... 1181 | instantiateMMVarWithMMVar mmvar.instantiation loc (v, id2) tP' mmvar.constraints.contents; 1182 | let (mr, r) = comp2 (comp2 id2 mtt) ss in 1183 | ((v, mr), r) 1184 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1187-1199, characters 4-37: 1187 | ....let ClTyp (MTyp tP, cPsi1) = mmvar.typ in 1188 | if eq_cvarRef (MMVarRef mmvar.instantiation) rOccur 1189 | then raise (Failure "Variable occurrence") 1190 | else 1191 | let (idsub, cPsi2) = pruneSub cD0 cPsi' (Context.dctxToHat cPsi') (t, cPsi1) ss rOccur in ... 1196 | , Root (loc, MVar (v, idsub), Nil, Plicity.explicit) 1197 | , mmvar.constraints.contents 1198 | ); 1199 | (v, comp (comp idsub t) ssubst) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 1202-1211, characters 3-10: 1202 | ...let (cD_d, Decl { typ = ClTyp (_, cPsi1); _ }) = Store.FCVar.get u in 1203 | let d = Context.length cD0 - Context.length cD_d in 1204 | let cPsi1 = 1205 | if d = 0 1206 | then cPsi1 1207 | else Whnf.cnormDCtx (cPsi1, MShift d) 1208 | in 1209 | let t' = simplifySub cD0 cPsi t in 1210 | let s' = invSub cD0 (Context.dctxToHat cPsi) (t', cPsi1) ss rOccur in 1211 | (u, s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=CTyp _; _ }) File "src/core/unify.ml", lines 1216-1219, characters 7-14: 1216 | .......let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in 1217 | let t' = simplifySub cD0 cPsi t in 1218 | let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in 1219 | (v, s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, CTyp _) File "src/core/unify.ml", lines 1214-1220, characters 4-63: 1214 | ....match applyMSub u ms with 1215 | | MV v -> 1216 | let (_, ClTyp (_, cPsi1)) = Whnf.mctxLookup cD0 v in 1217 | let t' = simplifySub cD0 cPsi t in 1218 | let s' = pruneSubst cD0 cPsi (t', cPsi1) ss rOccur in 1219 | (v, s') 1220 | | MUndef -> raise (Failure "[Prune] Bound MVar dependency") Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1246-1254, characters 7-10: 1246 | .......begin match bvarSub k ssubst with 1247 | | Undef -> 1248 | let s = 1249 | Format.asprintf "[Prune] Bound variable dependency : head = %a" 1250 | (P.fmt_ppr_lf_head cD0 cPsi' P.l0) head 1251 | in 1252 | raise (Failure s) 1253 | | Head (BVar _ as h') -> h' 1254 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1223-1258, characters 4-11: 1223 | ....match head with 1224 | | MMVar ((i, mt), t) -> 1225 | MMVar (pruneMMVarInst cD0 cPsi' loc i (mt, t) ss rOccur) 1226 | | MVar (Inst i, t) -> 1227 | MVar (pruneMVarInst cD0 cPsi' loc i (Whnf.normSub t) ss rOccur) ... 1255 | 1256 | | Const _ 1257 | | FVar _ -> 1258 | head Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (AnnH (_, _)|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1293-1317, characters 4-57: 1293 | ....match (s, cPsi1) with 1294 | | (EmptySub, Null) -> EmptySub 1295 | | (Undefs, Null) -> EmptySub 1296 | | (Shift n, DDec _) -> 1297 | pruneSubst cD cPsi (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur ... 1314 | 1315 | | (Dot _, _) 1316 | | (EmptySub, _) 1317 | -> Error.raise_violation "Badly typed substitution" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Undefs, (CtxVar _|DDec (_, _))) File "src/core/unify.ml", lines 1321-1323, characters 4-70: 1321 | ....match ft with 1322 | | Obj tM -> Obj (prune cD cPsi (Context.dctxToHat cPsi) (tM, id) ss rOccur) 1323 | | Head h -> Head (pruneHead cD cPsi (Location.ghost, h) ss rOccur) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Undef File "src/core/unify.ml", lines 1354-1357, characters 9-59: 1354 | .........function 1355 | | Undefs -> (EmptySub, Null) 1356 | | Shift k -> (id, CtxVar psi) 1357 | | Dot (ft, ssubst') -> shiftInvSub (n - 1) ssubst' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/unify.ml", lines 1370-1374, characters 9-40: 1370 | .........match applyMSub s mt with 1371 | | MV v -> 1372 | let (_, _, _, cPsi') = Whnf.mctxSDec cD0 v in 1373 | cPsi' 1374 | | MUndef -> raise NotInvertible Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ClObj (_, _)|CObj _) File "src/core/unify.ml", lines 1387-1390, characters 7-18: 1387 | .......let ClTyp (STyp (_, cPhi2), cPhi1) = mmvar.typ in 1388 | let cPhi1' = Whnf.cnormDCtx (cPhi1, Whnf.m_id) in 1389 | ignore (invSub cD0 phat (sigma, cPhi1') ss rOccur); 1390 | (id, cPsi1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|PTyp _), _) File "src/core/unify.ml", lines 1398-1400, characters 7-18: 1398 | .......let (_, Decl { typ = ClTyp (STyp _, cPsi'); _ }) = Store.FCVar.get s in 1399 | ignore (invSub cD0 phat (sigma, cPsi') ss rOccur); 1400 | (id, cPsi1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ }) File "src/core/unify.ml", lines 1407-1426, characters 7-10: 1407 | .......begin match bvarSub n ssubst with 1408 | | Undef -> 1409 | let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in 1410 | (comp s1' shift, cPsi1') 1411 | ... 1423 | in 1424 | (* cPsi1' |- s1_i <= cPsi' *) 1425 | (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i)))) 1426 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1431-1448, characters 7-10: 1431 | .......begin match bvarSub n ssubst with 1432 | | Undef -> 1433 | let (s1', cPsi1') = pruneSub' cD0 cPsi phat (s', cPsi') ss rOccur in 1434 | (comp s1' shift, cPsi1') 1435 | ... 1445 | in 1446 | (* cPsi1' |- s1_i <= cPsi' *) 1447 | (dot1 s1', DDec (cPsi1', TypDecl (x, TClo (tA, s1_i)))) 1448 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1343-1471, characters 4-31: 1343 | ....match (s, cPsi1) with 1344 | | (Shift n, DDec _) -> 1345 | pruneSub' cD0 cPsi phat (Dot (Head (BVar (n + 1)), Shift (n + 1)), cPsi1) ss rOccur 1346 | | (Shift _, Null) 1347 | | (EmptySub, Null) ... 1468 | 1469 | | (Dot (Undef, t), DDec (cPsi1, _)) -> 1470 | let (s1', cPsi1') = pruneSub' cD0 cPsi phat (t, cPsi1) ss rOccur in 1471 | (comp s1' shift, cPsi1') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub, (CtxVar _|DDec (_, _))) File "src/core/unify.ml", lines 1474-1487, characters 4-21: 1474 | ....match sA with 1475 | | (Atom (loc, a, tS), s) -> Atom (loc, a, pruneSpine cD0 cPsi phat (tS, s) (mss, ss) rOccur) 1476 | | (PiTyp ((TypDecl (x, tA), depend, plicity), tB), s) -> 1477 | let tA' = pruneTyp cD0 cPsi phat (tA, s) (mss, ss) rOccur in 1478 | let tB' = pruneTyp cD0 cPsi phat (tB, dot1 s) (mss, dot1 ss) rOccur in ... 1484 | 1485 | | (Sigma typ_rec, s) -> 1486 | let typ_rec' = pruneTypRec cD0 cPsi phat (typ_rec, s) (mss, ss) rOccur in 1487 | Sigma typ_rec' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TClo _, _) File "src/core/unify.ml", lines 1504-1507, characters 7-10: 1504 | .......begin match applyMSub psi ms with 1505 | | CObj (cPsi') -> Whnf.normDCtx cPsi' 1506 | | MV k -> CtxVar (CtxOffset k) 1507 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MUndef|ClObj (_, _)) File "src/core/unify.ml", lines 1510-1514, characters 7-10: 1510 | .......begin match mmvar.instantiation.contents with 1511 | | None -> cPsi 1512 | | Some (ICtx cPhi) -> 1513 | pruneDCtx cD cPhi (Whnf.mcomp theta ms) rOccur 1514 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/unify.ml", lines 1501-1529, characters 4-37: 1501 | ....match cPsi with 1502 | | Null -> Null 1503 | | CtxVar (CtxOffset psi) -> 1504 | begin match applyMSub psi ms with 1505 | | CObj (cPsi') -> Whnf.normDCtx cPsi' ... 1526 | (ms, Substitution.LF.id) 1527 | rOccur 1528 | in 1529 | DDec (cPsi', TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/unify.ml", lines 1574-1583, characters 7-10: 1574 | .......begin match bvarSub k ssubst with 1575 | | Undef -> 1576 | (* Psi1, x:tA |- s' <= Psi2 *) 1577 | (comp s' shift, cPsi2) 1578 | 1579 | | Head (BVar _) -> 1580 | (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since 1581 | A = [s']([s']^-1 A) *) 1582 | (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s'))))) 1583 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1590-1599, characters 7-10: 1590 | .......begin match bvarSub k ssubst with 1591 | | Undef -> 1592 | (* Psi1, x:tA |- s' <= Psi2 *) 1593 | (comp s' shift, cPsi2) 1594 | 1595 | | Head (BVar _) -> 1596 | (* Psi1, x:A |- s' <= Psi2, x:([s']^-1 A) since 1597 | A = [s']([s']^-1 A) *) 1598 | (dot1 s', DDec (cPsi2, TypDecl (x, TClo (tA, invert (Whnf.normSub s'))))) 1599 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _| FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/unify.ml", lines 1551-1604, characters 4-29: 1551 | ....match (t, cPsi1) with 1552 | | (EmptySub, Null) 1553 | | (Undefs, Null) 1554 | | (Shift _, Null) -> 1555 | (id, Null) ... 1601 | | (Dot (Undef, t), DDec (cPsi1, _)) -> 1602 | let (s', cPsi2) = pruneCtx' phat (t, cPsi1) ss in 1603 | (* sP1 |- s' <= cPsi2 *) 1604 | (comp s' shift, cPsi2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub, (CtxVar _|DDec (_, _))) File "src/core/unify.ml", lines 1646-1651, characters 4-56: 1646 | ....match (sTup1, sTup2) with 1647 | | ((Last tM, s1), (Last tN, s2)) -> 1648 | unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2) 1649 | | ((Cons (tM, tup1), s1), (Cons (tN, tup2), s2)) -> 1650 | (unifyTerm mflag cD0 cPsi (tM, s1) (tN, s2); 1651 | unifyTuple mflag cD0 cPsi (tup1, s1) (tup2, s2)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Last tM, s1), (Cons (_, _), _)) File "src/core/unify.ml", lines 1654-1680, characters 4-9: 1654 | ....let ClTyp (_, cPsi1) = mmvar.typ in 1655 | if isId t1' 1656 | then instantiateMVar (mmvar.instantiation, sM2, mmvar.constraints.contents) 1657 | else 1658 | begin ... 1677 | (* This might actually need to add a constraint, in which case 1678 | "NotInvertible" seems the wrong kind of exception... *) 1679 | Error.raise_violation "Unification violation" 1680 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1694-1705, characters 9-35: 1694 | .........match Whnf.whnfTyp sA with 1695 | | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) -> 1696 | (* cPsi' |- Pi x:A.B <= typ 1697 | cPsi |- s <= cPsi' 1698 | cPsi |- tN <= [s]tA ... 1702 | let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in 1703 | LF.App (tN, tS) 1704 | 1705 | | (LF.Atom _, _) -> LF.Nil Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/unify.ml", lines 1683-1710, characters 4-15: 1683 | ....let ClTyp (_, cPsi1) = mmvar.typ in 1684 | match sM2 with 1685 | | Root (loc, Const c, _, plicity) -> 1686 | let tA = (Store.Cid.Term.get c).Store.Cid.Term.Entry.typ in 1687 | dprintf ... 1707 | let tM1 = Root (loc, Const c, genSpine mmvar.cD cPsi1 (tA, id), plicity) in 1708 | instantiateMVar (mmvar.instantiation, tM1, mmvar.constraints.contents); 1709 | Some tM1 1710 | | _ -> None Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1716-1729, characters 6-32: 1716 | ......match Whnf.whnfTyp sA with 1717 | | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) -> 1718 | (* cPsi' |- Pi x:A.B <= typ 1719 | cPsi |- s <= cPsi' 1720 | cPsi |- tN <= [s]tA ... 1726 | in 1727 | let tS = genSpine cD1 cPsi1 (tB, LF.Dot (LF.Obj tN, s)) in 1728 | LF.App (tN, tS) 1729 | | (LF.Atom _, _) -> LF.Nil Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/unify.ml", lines 1714-1762, characters 4-15: 1714 | ....let ClTyp (MTyp tB, cPsi1) = mmvar.typ in 1715 | let rec genSpine cD1 cPsi1 sA = 1716 | match Whnf.whnfTyp sA with 1717 | | (LF.PiTyp ((LF.TypDecl (n, tA), _, _), tB), s) -> 1718 | (* cPsi' |- Pi x:A.B <= typ ... 1759 | instantiateMMVar (mmvar.instantiation, tM1, mmvar.constraints.contents); 1760 | Some tM1 1761 | 1762 | | _ -> None Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 1766-1769, characters 4-79: 1766 | ....match tm with 1767 | | (INorm n, _) -> INorm (prune cD cPsi hat (n, id) ss rOccur) 1768 | | (IHead h, _) -> IHead (pruneHead cD cPsi (Location.ghost, h) ss rOccur) 1769 | | (ISub s, STyp (_, cPhi)) -> ISub (pruneSubst cD cPsi (s, cPhi) ss rOccur) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ISub s, (MTyp _|PTyp _)) File "src/core/unify.ml", lines 1772-1796, characters 4-9: 1772 | ....let ClTyp (tp, cPsi1) = mmvar.typ in 1773 | if isId t1' && isMId mt1 1774 | then 1775 | begin 1776 | dprint (fun () -> "[unifyMMVarTerm] 200 - id/m_id"); ... 1793 | (* with | NotInvertible -> Error.raise_violation "Unification violation" *) 1794 | (* This might actually need to add a constraint, in which case "NotInvertible" seems 1795 | the wrong kind of exception... *) 1796 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1810-1882, characters 4-76: 1810 | ....let ClTyp (_, cPsi1) = mmvar.typ in 1811 | let mtt1 = Whnf.m_invert (Whnf.cnormMSub mt1) in 1812 | (* cD |- mtt1 : cD0 and cD ; cPsi |- t1' : cPsi1 *) 1813 | let (flat_cPsi, conv_list) = ConvSigma.flattenDCtx cD0 cPsi in 1814 | let s_tup = ConvSigma.gen_tup_sub conv_list in (* flat_cPsi |- s_tup : cPsi *) ... 1879 | p.fmt "[unifyMMVarTermProj]: tM2 (after pruning) = %a" 1880 | (P.fmt_ppr_lf_normal cD0 flat_cPsi P.l0) tM2' 1881 | end; 1882 | instantiateMMVar (mmvar.instantiation, sM2', mmvar.constraints.contents) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1885-1918, characters 4-102: 1885 | ....let ClTyp (tp1, cPsi1) = mmvar1.typ in 1886 | let (s', cPsi') = intersection (Context.dctxToHat cPsi) (Whnf.normSub t1') (Whnf.normSub t2') cPsi1 in 1887 | (* if cD ; cPsi |- t1' <= cPsi1 and cD ; cPsi |- t2' <= cPsi1 1888 | then cD ; cPsi1 |- s' <= cPsi' *) 1889 | let (mt', cD') = m_intersection (Whnf.cnormMSub mt1) (Whnf.cnormMSub mt2) mmvar1.cD in ... 1915 | [|w[s']/u|](u[t1]) = [t1](w[s']) 1916 | [|w[s']/u|](u[t2]) = [t2](w[s']) 1917 | *) 1918 | instantiateMMVarWithMMVar mmvar1.instantiation loc (w, (mt', s')) tp1' mmvar1.constraints.contents Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/unify.ml", lines 1934-1975, characters 7-12: 1934 | .......let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in 1935 | dprnt "(000) MVar-MVar"; 1936 | (* by invariant of whnf: 1937 | meta-variables are lowered during whnf, s1 = s2 = id or co-id 1938 | r1 and r2 are uninstantiated (None) ... 1972 | begin 1973 | let id = next_constraint_id () in 1974 | addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM))) 1975 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 1933-1975, characters 7-12: 1933 | .......let ClTyp (MTyp tP1, cPsi1) = mmvar1.typ in 1934 | let ClTyp (MTyp tP2, cPsi2) = mmvar2.typ in 1935 | dprnt "(000) MVar-MVar"; 1936 | (* by invariant of whnf: 1937 | meta-variables are lowered during whnf, s1 = s2 = id or co-id ... 1972 | begin 1973 | let id = next_constraint_id () in 1974 | addConstraint (mmvar1.constraints, ref (Eqn (id, cD0, cPsi, INorm sN, INorm sM))) 1975 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/unify.ml", lines 2439-2452, characters 4-52: 2439 | ....match (spine1, spine2) with 2440 | | ((Nil, _), (Nil, _)) -> () 2441 | 2442 | | ((SClo (tS1, s1'), s1), sS) -> 2443 | unifySpine mflag cD0 cPsi (tS1, comp s1' s1) sS ... 2449 | (* dprint (fun () -> "[unifySpine] " ^ P.normalToString cD0 cPsi (tM1, s1) ^ 2450 | " == " ^ P.normalToString cD0 cPsi (tM2, s2));*) 2451 | unifyTerm mflag cD0 cPsi (tM1, s1) (tM2, s2); 2452 | unifySpine mflag cD0 cPsi (tS1, s1) (tS2, s2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Nil, _), (App (_, _), _)) File "src/core/unify.ml", lines 2659-2710, characters 7-61: 2659 | .......let CTyp schema1, CTyp schema2 = mmvar1.typ, mmvar2.typ in 2660 | if mmvar1.instantiation == mmvar2.instantiation 2661 | then 2662 | if Option.equal Id.cid_schema_equal schema1 schema2 2663 | then ... 2707 | Error.raise_violation 2708 | "Case where both meta-substitutions associated with \ 2709 | context variables are not pattern substitutions \ 2710 | should not happen and is not implemented for now" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CTyp schema1, ClTyp (_, _)) File "src/core/unify.ml", lines 2714-2747, characters 7-61: 2714 | .......let CTyp s_cid = mmvar.typ in 2715 | if isPatMSub theta 2716 | then 2717 | begin 2718 | let mtt1 = Whnf.m_invert (Whnf.cnormMSub theta) in ... 2744 | Error.raise_violation 2745 | "Case where both meta-substitutions associated with \ 2746 | context variables are not pattern substitutions \ 2747 | should not happen and is not implemented for now" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (_, _) File "src/core/unify.ml", lines 2785-2786, characters 4-43: 2785 | ....let Decl { typ = cT; _ } = cdecl in 2786 | unifyMObj cD (mO, t) (mO', t') (cT, mt) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/unify.ml", lines 2820-2832, characters 7-53: 2820 | .......let Comp.PiKind (_, cdecl, cK') = cK in 2821 | let mOt = Whnf.cnormMetaObj (mO, t) in 2822 | (* let mOt' = Whnf.cnormMetaObj (mO', t') in *) 2823 | unifyMetaObj cD (mO, t) (mO', t') (cdecl, mt); 2824 | let mt' = MDot (Comp.metaObjToMFront mOt, mt) in ... 2829 | P.(fmt_ppr_cmp_meta_typ cD) (Whnf.cnormMTyp (mT', t')) 2830 | end; 2831 | unifyMetaTyp cD (mT, t) (mT', t'); 2832 | unifyMetaSpine cD (mS, t) (mS', t') (cK', mt') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Ctype _ File "src/core/unify.ml", lines 2837-2840, characters 4-81: 2837 | ....function 2838 | | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2839 | | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2840 | | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MTyp tA1, (PTyp _|STyp (_, _))) File "src/core/unify.ml", lines 2836-2840, characters 17-81: 2836 | .................Unification cD cPsi = 2837 | function 2838 | | (MTyp tA1, MTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2839 | | (PTyp tA1, PTyp tA2) -> unifyTyp Unification cD cPsi (tA1, id) (tA2, id) 2840 | | (STyp (_, cPhi1), STyp (_, cPhi2)) -> unifyDCtx1 Unification cD cPhi1 cPhi2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Matching File "src/core/unify.ml", lines 2842-2850, characters 18-57: 2842 | ..................Unification cD ctyp1 ctyp2 = 2843 | match (ctyp1, ctyp2) with 2844 | | (ClTyp (tp1, cPsi1), ClTyp (tp2, cPsi2)) -> 2845 | unifyDCtx1 Unification cD cPsi1 cPsi2; 2846 | unifyClTyp Unification cD cPsi1 (tp1, tp2) 2847 | | (CTyp schema1, CTyp schema2) -> 2848 | if Bool.not (Option.equal Id.cid_schema_equal schema1 schema2) 2849 | then raise (Failure "CtxPi schema clash") 2850 | | _ -> raise (Failure "Computation-level Type Clash") Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Matching File "src/core/unify.ml", lines 2938-2941, characters 4-62: 2938 | ....match (itM1, itM2) with 2939 | | (INorm tM1, INorm tM2) -> unifyTerm Unification cD cPsi (tM1, id) (tM2, id) 2940 | | (IHead tH1, IHead tH2) -> unifyHead Unification cD cPsi tH1 tH2 2941 | | (ISub s1, ISub s2) -> unifySub Unification cD cPsi s1 s2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (INorm tM1, (IHead _|ISub _|ICtx _)) File "src/core/unify.ml", lines 2950-2962, characters 7-10: 2950 | .......begin match !cnstr with 2951 | | Queued id -> 2952 | forceCnstr mflag (nextCnstr ()) 2953 | | Eqn (c_id, cD, cPsi, INorm tM1, INorm tM2) -> 2954 | solveConstraint cnstr; ... 2959 | solveConstraint cnstr; 2960 | unifyHead mflag cD cPsi h1 h2; 2961 | forceCnstr mflag (nextCnstr ()) 2962 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Eqn (_, _, _, INorm tM1, (IHead _|ISub _|ICtx _)) File "src/core/unify.ml", lines 2994-3029, characters 7-100: 2994 | .......let Eqn (_, cD, cPsi, itM1, itM2) as c' = !c in 2995 | solveConstraint c; 2996 | dprintf 2997 | begin fun p -> 2998 | p.fmt "[forceGlobalCnstr'] @[<v>processing nontrivial constraint\ ... 3026 | *) 3027 | if solvedCnstrs (!globalCnstrs) 3028 | then (resetGlobalCnstrs (); forceGlobalCnstr' cnstrs) 3029 | else raise (GlobalCnstrFailure (Location.ghost, "[forceGlobalCnstr'] Constraints generated")) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Queued _ File "src/core/unify.ml", lines 3202-3204, characters 8-68: 3202 | ........match (m1, m2) with 3203 | | (MObj tM1, MObj tM2) -> unify Empty cPsi (tM1, id) (tM2,id) 3204 | | (PObj h, PObj h') -> unifyHead Unification Empty cPsi h h' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MObj tM1, (PObj _|SObj _)) File "src/core/unify.ml", lines 3208-3217, characters 4-49: 3208 | ....match (m1, m2) with 3209 | | (CObj cPsi, CObj cPhi) -> 3210 | unifyDCtx1 3211 | Unification 3212 | Empty 3213 | (Whnf.cnormDCtx (cPsi, Whnf.m_id)) 3214 | (Whnf.cnormDCtx (cPhi, Whnf.m_id)) 3215 | | (ClObj (phat1, m1), ClObj (phat2, m2)) -> 3216 | (* unify_phat phat1 phat2; *) 3217 | unifyClObj (Context.hatToDCtx phat1) m1 m2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CObj cPsi, (MUndef|ClObj (_, _)|MV _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Opsem.cmx -c -impl src/core/opsem.ml) File "src/core/opsem.ml", lines 80-83, characters 2-30: 80 | ..match cM' with 81 | | LF.ClObj (phat, LF.MObj tM) -> (loc, cM') 82 | | LF.ClObj (phat, LF.PObj h) -> (loc, cM') 83 | | LF.CObj cPsi -> (loc, cM') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClObj (_, SObj _) File "src/core/opsem.ml", lines 121-137, characters 7-17: 121 | .......function 122 | | Comp.NilValBranch -> FunBranch Comp.NilValBranch 123 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br) 124 | when Id.cid_comp_dest_equal cid cid' -> 125 | Value (eval_exp e (theta, eta)) (* should we append theta' and eta'? *) ... 134 | | Value v -> Value v 135 | end 136 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, ps), e, _, _), br) -> 137 | trim br Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ConsValBranch (((PatNil|PatApp (_, _, _)), _, _, _), _) File "src/core/opsem.ml", lines 119-142, characters 5-8: 119 | .....let Comp.FunValue fbr = eval_exp e (theta, eta) in 120 | let rec trim = 121 | function 122 | | Comp.NilValBranch -> FunBranch Comp.NilValBranch 123 | | Comp.ConsValBranch ((Comp.PatObs(_, cid', _, Comp.PatNil), e, theta, eta), br) ... 139 | begin match trim fbr with 140 | | FunBranch fr -> Comp.FunValue fr 141 | | Value v -> v 142 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (FnValue (_, _, _, _)|ThmValue (_, _, _, _)|MLamValue (_, _, _, _)| CtxValue (_, _, _, _)|BoxValue (_, _)|ConstValue _|DataValue (_, _)| TupleValue (T (_, _, _))) File "src/core/opsem.ml", lines 91-290, characters 2-50: 91 | ..match i with 92 | | Comp.Const (_, cid) -> 93 | dprint (fun () -> "[eval_exp] Const " ^ R.render_cid_prog cid); 94 | begin match (Store.Cid.Comp.get cid).Store.Cid.Comp.Entry.prog with 95 | | Some (Comp.ThmValue (cid, Comp.Program e', theta', eta')) -> ... 287 | eval_branches loc vscrut branches (theta, eta) 288 | 289 | | Comp.Hole (_) -> 290 | Error.raise_violation "Source contains holes" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MApp (_, _, (_, ClObj (_, SObj _)), _, _) File "src/core/opsem.ml", lines 321-325, characters 2-36: 321 | ..match (cObj, cObj') with 322 | | (LF.MObj tM, LF.MObj tM') -> 323 | Unify.unify LF.Empty cPsi' (tM, Substitution.LF.id) (tM', Substitution.LF.id) 324 | | (LF.PObj h, LF.PObj h') -> 325 | Unify.unifyH LF.Empty phat h h' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MObj tM, (PObj _|SObj _)) File "src/core/opsem.ml", lines 437-458, characters 4-10: 437 | ....function 438 | | Comp.NilValBranch -> FunBranch (Comp.NilValBranch) 439 | | Comp.ConsValBranch ((Comp.PatApp (_, p, Comp.PatNil), e, theta, eta), brs) -> 440 | begin try 441 | let eta' = match_pattern (v, eta) (p, theta) in ... 455 | eval_branch brs 456 | | Unify.Failure msg -> (dprint (fun () -> "Branch failed : " ^ msg); 457 | eval_branch brs) 458 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ConsValBranch (((PatNil|PatObs (_, _, _, _)), _, _, _), _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfcheck.cmx -c -impl src/core/lfcheck.ml) File "src/core/lfcheck.ml", lines 225-230, characters 2-19: 225 | ..function 226 | | Null -> Ctxsub.ctxShift cPhi (* S.LF.id *) 227 | | DDec (cPsi', TypDecl (n, tA)) -> 228 | let s = (ctxToSub' cPhi cPsi' : sub) in 229 | let u = Whnf.etaExpandMV cPhi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in 230 | Dot (Obj u, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi', TypDeclOpt _) File "src/core/lfcheck.ml", lines 246-330, characters 2-55: 246 | ..match (sM, sA) with 247 | | ((Lam (loc, name, tM), s1), (PiTyp ((TypDecl _ as tX, _, _), tB), s2)) -> (* Offset by 1 *) 248 | check cD 249 | (DDec (cPsi, S.LF.decSub tX s2)) 250 | (tM, S.LF.dot1 s1) ... 327 | raise (Error (loc, (CheckError (cD, cPsi, sM, sA)))) 328 | end 329 | | ((Root (loc, _, _, _), _ (* id *)), _ ) -> 330 | raise (Error (loc, CheckError (cD, cPsi, sM, sA))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Clo _, _), _) File "src/core/lfcheck.ml", lines 361-370, characters 4-23: 361 | ....match (tS, sA) with 362 | | ((Nil, _), sP) -> sP 363 | 364 | | ((SClo (tS, s'), s), sA) -> 365 | syn (tS, S.LF.comp s' s) sA 366 | 367 | | ((App (tM, tS), s1), (PiTyp ((TypDecl (_, tA1), _, _), tB2), s2)) -> 368 | check cD cPsi (tM, s1) (tA1, s2); 369 | let tB2 = Whnf.whnfTyp (tB2, Dot (Obj (Clo (tM, s1)), s2)) in 370 | syn (tS, s1) tB2 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((App (tM, tS), s1), (PiTyp ((TypDeclOpt _, _, _), _), _)) File "src/core/lfcheck.ml", lines 346-377, characters 16-23: 346 | ................(Root (loc, h, tS, _), s (* id *)) = 347 | let rec spineLength = 348 | function 349 | | Nil -> 0 350 | | SClo (tS, _) -> spineLength tS ... 374 | (* Check first that we didn't supply too many arguments. *) 375 | if typLength sA' < spineLength tS 376 | then raise (Error (loc, SpineIllTyped (typLength sA', spineLength tS))); 377 | syn (tS, s) (sA', s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)), _) File "src/core/lfcheck.ml", lines 393-394, characters 5-7: 393 | .....let TypDecl (_, tA) = ctxDec cPsi k' in 394 | tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfcheck.ml", lines 400-409, characters 10-25: 400 | ..........let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in 401 | dprintf 402 | begin fun p -> 403 | p.fmt "[InferHead] @[<v>%a |- %a@,where %a has type %a@]" 404 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi 405 | (P.fmt_ppr_lf_head cD cPsi P.l0) head 406 | (P.fmt_ppr_lf_head cD cPsi P.l0) tuple_head 407 | (P.fmt_ppr_lf_typ_rec cD cPsi P.l0) recA 408 | end; 409 | (recA, S.LF.id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfcheck.ml", lines 411-413, characters 10-19: 411 | ..........let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in 412 | checkSub loc cD cPsi s Subst cPsi'; 413 | (recA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _) File "src/core/lfcheck.ml", lines 398-414, characters 7-64: 398 | .......match tuple_head with 399 | | BVar k' -> 400 | let TypDecl (_, Sigma recA) = ctxSigmaDec cPsi k' in 401 | dprintf 402 | begin fun p -> ... 411 | let (_, Sigma recA, cPsi') = Whnf.mctxPDec cD p in 412 | checkSub loc cD cPsi s Subst cPsi'; 413 | (recA, s) 414 | | FPVar (name, _) -> raise (Error (loc, LeftoverFV name)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| HClo (_, _, _)|HMClo (_, _)) File "src/core/lfcheck.ml", lines 446-457, characters 5-17: 446 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in 447 | dprintf 448 | begin fun p -> 449 | let f = P.fmt_ppr_lf_dctx cD P.l0 in 450 | p.fmt "[inferHead] @[<v>%a@,%a |- %a <= %a@]" ... 454 | f cPsi' 455 | end; 456 | checkSub loc cD cPsi s Subst cPsi' ; 457 | TClo (tA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/lfcheck.ml", lines 461-474, characters 5-37: 461 | .....let ClTyp (MTyp tA, cPsi') = mmvar.typ in 462 | dprintf 463 | begin fun p -> 464 | let f = P.fmt_ppr_lf_mctx P.l0 in 465 | p.fmt "[inferHead] @[<v>MMVar %a@,cD = %a@,t' = %a@,cD' = %a@]" ... 471 | checkMSub loc cD t' mmvar.cD; 472 | dprint (fun () -> "[inferHead] MMVar - msub done \n"); 473 | checkSub loc cD cPsi r Subst (Whnf.cnormDCtx (cPsi', t')) ; 474 | TClo (Whnf.cnormTyp (tA, t'), r) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/lfcheck.ml", lines 391-506, characters 2-41: 391 | ..match (head, cl) with 392 | | (BVar k', _) -> 393 | let TypDecl (_, tA) = ctxDec cPsi k' in 394 | tA 395 | ... 503 | TClo (tA, s) 504 | 505 | | (FVar name, _) | (FMVar (name, _), _) | (FPVar (name, _), _) -> 506 | raise (Error (loc, LeftoverFV name)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MVar (Inst _, _), Subst) (However, some guarded clause may match this value.) File "src/core/lfcheck.ml", lines 509-528, characters 2-13: 509 | ..match cPsi with 510 | | Null -> true (* we need to succeed because coverage should detect that 511 | it is not inhabited *) 512 | 513 | | CtxVar ctx_var -> ... 525 | 526 | | DDec (rest, TypDecl _) -> 527 | canAppear cD rest head sA loc 528 | || false........................................... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (rest, TypDeclOpt _) File "src/core/lfcheck.ml", lines 643-655, characters 2-23: 643 | ..match sS1, sK with 644 | | (Nil, _), sK -> 645 | sK 646 | 647 | | (SClo (tS, s'), s), sK -> ... 652 | synKSpine cD cPsi (tS, s1) (kK, Dot (Obj (Clo (tM, s1)), s2)) 653 | 654 | | (App _, _), (Typ, _) -> 655 | raise SpineMismatch Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((App (_, _), _), (PiKind ((TypDeclOpt _, _, _), _), _)) File "src/core/lfcheck.ml", lines 664-681, characters 2-47: 664 | ..match tA with 665 | | Atom (loc, a, tS) -> 666 | let tK = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in 667 | begin 668 | try ... 678 | checkTyp cD cPsi (tA, s); 679 | checkTyp cD (DDec (cPsi, TypDecl (x, TClo (tA, s)))) (tB, S.LF.dot1 s) 680 | 681 | | Sigma arec -> checkTypRec cD cPsi (arec, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfcheck.ml", lines 710-714, characters 2-53: 710 | ..function 711 | | Typ -> () 712 | | PiKind ((TypDecl (x, tA), _, _), kind) -> 713 | checkTyp cD cPsi (tA, S.LF.id); 714 | checkKind cD (DDec (cPsi, TypDecl (x, tA))) kind Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) File "src/core/lfcheck.ml", lines 724-725, characters 2-47: 724 | ..match decl with 725 | | TypDecl (_, tA) -> checkTyp cD cPsi (tA, s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfcheck.ml", lines 734-754, characters 2-7: 734 | ..match cPsi with 735 | | Null -> () 736 | | DDec (cPsi, tX) -> 737 | checkDCtx cD cPsi; 738 | checkDec cD cPsi (tX, S.LF.id) ... 751 | (P.fmt_ppr_lf_mctx P.l0) cD 752 | end; 753 | ignore (Whnf.mctxLookup cD k); 754 | () Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/lfcheck.ml", lines 962-963, characters 5-47: 962 | .....let Some (ICtx cPhi) = mmvar.instantiation.contents in 963 | checkSchema loc cD cPhi schema_name schema Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (INorm _|IHead _|ISub _) File "src/core/lfcheck.ml", lines 1019-1027, characters 2-57: 1019 | ..match (sArec, sBrec) with 1020 | | ((SigmaLast _, _), (SigmaLast _, _)) -> 1021 | None 1022 | 1023 | | ((SigmaElem (_, _, recA), s), (SigmaLast _, _)) -> 1024 | Some (recA, s) 1025 | 1026 | | ((SigmaElem (_, _, recA), s), (SigmaElem (_, _, recB), s')) -> 1027 | elemPostfix (recA, S.LF.dot1 s) (recB, S.LF.dot1 s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((SigmaLast (_, _), _), (SigmaElem (_, _, _), _)) File "src/core/lfcheck.ml", lines 1075-1101, characters 2-69: 1075 | ..match (cM, cTt) with 1076 | | (CObj cPsi, (CTyp (Some w), _)) -> 1077 | let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get w in 1078 | checkSchema loc cD cPsi name schema 1079 | ... 1098 | let mtyp1 = Whnf.cnormMTyp (mtyp1, t) in 1099 | let (_, mtyp2) = Whnf.mctxLookup cD u in 1100 | if Bool.not (Whnf.convMTyp mtyp1 mtyp2) 1101 | then Error.raise_violation ("Contextual substitution ill-typed") Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CObj cPsi, (CTyp None, _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Total.cmx -c -impl src/core/total.ml) File "src/core/total.ml", lines 31-45, characters 6-9: 31 | ......begin match (x, args) with 32 | | (_, []) -> 33 | Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n Report as a bug." 34 | | (Comp.M (cM, _ ), (Comp.M (cM', _ ) :: _)) -> 35 | Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \nBeluga cannot establish that the given recursive call is a size-preserving variant of it.\nArgument found: %a@\nArgument expected: %a@" ... 42 | 43 | | (Comp.V _, _) -> 44 | Format.dprintf "Recursive call is incompatible with valid automatically generated recursive calls. \n\n Found computation-level variable while generated recursive call expected a meta-object.\n\nCheck specified totality declaration." 45 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (M (_, _), (E|DC)::_) File "src/core/total.ml", lines 138-141, characters 2-56: 138 | ..function 139 | | LF.Empty -> LF.Empty 140 | | LF.Dec (cG, Comp.CTypDecl (x, tau, _)) -> 141 | LF.Dec (mark_gctx cG, Comp.CTypDecl (x, tau, true)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) File "src/core/total.ml", lines 155-157, characters 2-40: 155 | ..function 156 | | None -> " _ " 157 | | Some (Comp.Arg x) -> string_of_int x Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (Lex _|Simul _) File "src/core/total.ml", line 249, characters 25-43: 249 | let xs = List.map (fun (Arg x) -> x) xs in ^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lex _|Simul _) File "src/core/total.ml", lines 245-258, characters 4-41: 245 | ....match dec.order with 246 | | `inductive (Arg x) -> 247 | (dec.name, Some [x], (tau, Whnf.m_id)) 248 | | `inductive (Lex xs) -> 249 | let xs = List.map (fun (Arg x) -> x) xs in ... 255 | | `not_recursive 256 | | `trust 257 | | `partial -> 258 | (dec.name, None, (tau, Whnf.m_id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: `inductive (Simul _) File "src/core/total.ml", lines 331-332, characters 19-32: 331 | ...................(LF.Decl { name = x; typ = cU; _ }) = 332 | (gen_var' loc cD (x, cU) , cU) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/total.ml", lines 404-413, characters 2-31: 404 | ..function 405 | | [] -> [] 406 | | Comp.M (cM, cU) :: args -> 407 | if uninstantiated_arg cM 408 | then Comp.DC :: generalize args 409 | else Comp.M (cM, cU) :: generalize args 410 | | Comp.V x :: args -> 411 | Comp.V x :: generalize args 412 | | Comp.DC :: args -> 413 | Comp.DC :: generalize args Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: E::_ File "src/core/total.ml", lines 445-455, characters 19-34: 445 | ...................(1, n) (LF.SchElem (some_part, block_part)) = 446 | let sArec = 447 | match Whnf.whnfTyp (tA, Substitution.LF.id) with 448 | | (LF.Sigma tArec, s') -> (tArec, s') 449 | | (tA', s') -> (LF.SigmaLast (None, tA'), s') in ... 452 | try 453 | Unify.unifyTypRec cD cPsi (block_part, dctxSub) sArec; 454 | Some (b, tA) 455 | with Unify.Failure _ -> None.................................................................. Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (0, _) File "src/core/total.ml", lines 509-511, characters 6-47: 509 | ......let LF.ClTyp (LF.MTyp tA, cPsi) = cU in 510 | (Unify.unifyMetaTyp cD (cU , Whnf.m_id) (cU0, Whnf.m_id); 511 | gen_meta_obj (k, Substitution.LF.id) cU) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/total.ml", lines 544-592, characters 2-30: 544 | ..function 545 | | (0, ttau) -> ([], Whnf.cnormCTyp ttau) 546 | | (1, (Comp.TypPiBox (_, LF.Decl { typ = cU'; _ }, tau), theta)) -> 547 | let cU0 = Whnf.cnormMTyp (cU', theta) in 548 | begin ... 589 | 590 | | (n, (Comp.TypArr (_, _, tau2), theta)) -> 591 | let (spine, tau_r) = rec_spine cD (k, cU) (n - 1, (tau2, theta)) in 592 | (Comp.DC :: spine, tau_r) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (2, ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| TypCross (_, _)|TypClo (_, _)|TypInd _), _)) File "src/core/total.ml", lines 595-619, characters 2-30: 595 | ..function 596 | | (0, ttau) -> ([], Whnf.cnormCTyp ttau) 597 | 598 | | (1, (Comp.TypPiBox _, _)) -> 599 | raise Not_compatible (* Error *) ... 616 | 617 | | (n, (Comp.TypArr (_, _, tau2), theta)) -> 618 | let (spine, tau_r) = rec_spine' cD (x, ttau0) (n - 1, (tau2, theta)) in 619 | (Comp.DC :: spine, tau_r) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (1, ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| TypCross (_, _)|TypClo (_, _)|TypInd _), _)) File "src/core/total.ml", lines 622-713, characters 2-43: 622 | ..match cD' with 623 | | LF.Empty -> cIH 624 | 625 | | LF.Dec (cD', LF.Decl { name = u; typ = cU; inductivity = Inductivity.Not_inductive; _ }) -> 626 | dprintf ... 710 | dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d@\n" j); 711 | let cIH' = mk_all (cIH, j) mf_list in 712 | dprintf (fun p -> p.fmt "[gen_rec_calls] for j = %d" (j + 1)); 713 | gen_rec_calls cD cIH' (cD', j + 1) mfs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/total.ml", lines 725-791, characters 2-47: 725 | ..match cG0 with 726 | | LF.Empty -> cIH 727 | | LF.Dec (cG', Comp.CTypDecl (x, tau0, false)) -> 728 | gen_rec_calls' cD cG cIH (cG', j + 1) mfs 729 | ... 788 | mk_all cIH' mf_list 789 | in 790 | let cIH' = mk_all cIH mf_list in 791 | gen_rec_calls' cD cG cIH' (cG', j + 1) mfs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, CTypDeclOpt _) File "src/core/total.ml", lines 860-868, characters 2-69: 860 | ..match cPsi with 861 | (* cPsi |- tA *) 862 | | LF.Null -> None 863 | | LF.CtxVar _ -> None 864 | | LF.DDec (cPsi, LF.TypDecl (_, tB)) -> 865 | if Whnf.convTyp (tA, Substitution.LF.invShift) (tB, Substitution.LF.id) 866 | then Some k 867 | else 868 | pos cPsi (Whnf.normTyp (tA, Substitution.LF.invShift)) (k + 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi, TypDeclOpt _) File "src/core/total.ml", lines 1087-1111, characters 5-8: 1087 | .....begin 1088 | match prefixDCtx cD cPsi cPsi0 (* cPsi0 = cPsi, cPsi1 *) , 1089 | prefix_hat 1090 | (Whnf.cnorm_psihat phat Whnf.m_id) 1091 | (Whnf.cnorm_psihat phat' Whnf.m_id) ... 1108 | end ; 1109 | (l, LF.ClObj (Context.extend_hatctx k phat0, LF.MObj (Whnf.norm (tM, dot_k s_proj k)))) , LF.ClTyp (Whnf.normClTyp (tA , dot_k s_proj k), padctx cPsi' k) 1110 | end 1111 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Some k', None) File "src/core/total.ml", lines 1121-1124, characters 5-87: 1121 | .....let LF.Root (_, tH', _, _) = 1122 | Whnf.norm (LF.Root (l, tH, LF.Nil, Plicity.explicit), s_proj) 1123 | in 1124 | (l, LF.ClObj (phat0, LF.PObj tH')) , LF.ClTyp (Whnf.normClTyp (tA, s_proj), cPsi') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/total.ml", lines 1134-1140, characters 2-65: 1134 | ..match args with 1135 | | [] -> [] 1136 | | Comp.DC :: args -> Comp.DC :: shiftArgs cD args (cPsi', s_proj, cPsi) 1137 | | Comp.V x :: args -> Comp.V x :: shiftArgs cD args (cPsi', s_proj, cPsi) 1138 | | Comp.M (cM, cU ) :: args -> 1139 | let cM' , cU'= shiftMetaObj cD (cM , cU) (cPsi', s_proj, cPsi) in 1140 | Comp.M (cM', cU') :: shiftArgs cD args (cPsi', s_proj, cPsi) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: E::_ File "src/core/total.ml", lines 1316-1337, characters 2-40: 1316 | ..function 1317 | | Comp.TypBase (loc, c, _) -> 1318 | Bool.not (Id.cid_comp_typ_equal a c) 1319 | && begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with 1320 | | Sgn.Positivity -> true ... 1334 | | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && no_occurs a tau2 1335 | | Comp.TypCross (_, taus) -> List2.for_all (no_occurs a) taus 1336 | | Comp.TypPiBox (_, _, tau') -> no_occurs a tau' 1337 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1340-1360, characters 2-40: 1340 | ..function 1341 | | Comp.TypBase (loc, c, _) -> 1342 | Id.cid_comp_typ_equal a c 1343 | || begin match (Store.Cid.CompTyp.get c).Store.Cid.CompTyp.Entry.positivity with 1344 | | Sgn.Positivity -> true ... 1357 | | Comp.TypArr (_, tau1, tau2) -> no_occurs a tau1 && check_positive a tau2 1358 | | Comp.TypCross (_, taus) -> List2.for_all (check_positive a) taus 1359 | | Comp.TypPiBox (_, _, tau') -> check_positive a tau' 1360 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1364-1372, characters 2-40: 1364 | ..function 1365 | | Comp.TypBase _ -> true 1366 | | Comp.TypCobase _ -> true 1367 | | Comp.TypDef _ -> raise Unimplemented 1368 | | Comp.TypBox _ -> true 1369 | | Comp.TypArr (_, tau1, tau2) -> check_positive a tau1 && positive a tau2 1370 | | Comp.TypCross (_, taus) -> List2.for_all (positive a) taus 1371 | | Comp.TypPiBox (_, _, tau') -> positive a tau' 1372 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1492-1531, characters 2-27: 1492 | ..match tau1 with 1493 | | Comp.TypBase (loc, c, mS1) -> 1494 | if Id.cid_comp_typ_equal a c 1495 | then 1496 | begin ... 1528 | | Comp.TypBox _ 1529 | | Comp.TypClo _ 1530 | | Comp.TypCobase _ 1531 | | Comp.TypDef _ -> true Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ File "src/core/total.ml", lines 1555-1580, characters 8-48: 1555 | ........function 1556 | | Comp.TypBase _ 1557 | | Comp.TypCobase _ 1558 | | Comp.TypBox _ -> true 1559 | ... 1577 | | Comp.TypPiBox (_, dec, tau') -> strat (LF.Dec (cD0, dec)) tau' 1578 | 1579 | | Comp.TypDef _ 1580 | | Comp.TypClo _ -> raise Unimplemented Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypInd _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Coverage.cmx -c -impl src/core/coverage.ml) File "src/core/coverage.ml", line 76, characters 21-63: 76 | Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/coverage.ml", lines 75-78, characters 2-5: 75 | ..let Some (CTypDecl (_, tau, _)) = 76 | Context.find' cG (fun (CTypDecl (y, _, _)) -> Name.(x = y)) 77 | in 78 | tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (CTypDeclOpt _) File "src/core/coverage.ml", lines 195-210, characters 20-37: 195 | ....................(LF.Atom (_, a, _) as tP) = 196 | let (cPhi, lazy s_proj, lazy s_tup) = ConvSigma.gen_flattening cD cPsi in 197 | (* cPsi |- s_proj : cPhi 198 | cPhi |- s_tup : cPsi 199 | cPhi |- tQ where cPsi |- tP !! tQ = [s_tup]tP !! *) ... 207 | cPsi |- s_proj : cPhi 208 | cPsi |- comp ss' s_proj : cPhi' *) 209 | let ss_proj = S.LF.comp ss' s_proj in 210 | (ss_proj, (cPhi', LF.tclo tQ ssi')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)) File "src/core/coverage.ml", lines 214-218, characters 4-74: 214 | ....match tA with 215 | | LF.Atom _ -> LF.Root (Location.ghost, tH, tS, Plicity.explicit) 216 | | LF.PiTyp ((LF.TypDecl (x, tB0), _, _), tB) -> 217 | let tM = eta (tB0, s) LF.Nil in 218 | LF.Lam (Location.ghost, x, eta (tB, S.LF.dot1 s) (LF.App (tM, tS))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/coverage.ml", lines 271-281, characters 4-58: 271 | ....function 272 | | MetaSub (cPsi, s, LF.STyp (_, cPhi)) -> 273 | fprintf ppf "%a |- %a : %a" 274 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi 275 | (P.fmt_ppr_lf_sub cD cPsi P.l0) s ... 278 | fprintf ppf "%a |- %a : %a" 279 | (P.fmt_ppr_lf_dctx cD P.l0) cPsi 280 | (P.fmt_ppr_lf_normal cD cPsi P.l0) tR 281 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp sA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MetaSub (cPsi, s, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 304-308, characters 4-73: 304 | ....function 305 | | CovCtx cPsi -> fmt_ppr_covctx cD ppf cPsi 306 | | CovSub (cPsi, s, LF.STyp (_, cPhi)) -> fmt_ppr_covsub cD ppf (cPsi, s, cPhi) 307 | | CovGoal (cPsi, tR, sA) -> fmt_ppr_covgoal cD ppf (cPsi, tR, sA) 308 | | CovPatt (cG, patt, ttau) -> fmt_ppr_covpatt cD ppf (cG, patt, ttau) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CovSub (cPsi, s, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 483-484, characters 7-73: 483 | .......let Comp.TypBox (_, mT) = tau_sc in 484 | check_meta_obj cD_p mO (Whnf.cnormMTyp (mT, t)) && is_id cD_p t cD Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)| TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _) File "src/core/coverage.ml", lines 545-546, characters 9-44: 545 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 546 | Yes ((tA, S.LF.id), (tA', S.LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 543-547, characters 7-10: 543 | .......begin 544 | let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in 545 | let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 546 | Yes ((tA, S.LF.id), (tA', S.LF.id)) 547 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 580-619, characters 5-8: 580 | .....let LF.MPVar (_, s') as tH' = Whnf.cnormHead (tH', t) in 581 | dprintf 582 | begin fun p -> 583 | p.fmt "[pre_match_head] @[<v>pvar - case\ 584 | @,pattern: @[@[%a@]@ |- @[%a@]@]\ ... 616 | end; 617 | SplitCand 618 | (* CtxSplitCand (pre_match_dctx cD cD_p cPsi cPsi_p [] []) *) 619 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (BVar _|Const _|MMVar (({instantiation=_; constraints=_; _ }, _), _)| MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)|FVar _|FMVar (_, _)| FPVar (_, _)|HClo (_, _, _)| HMClo (_, (({instantiation=_; constraints=_; _ }, _), _))) File "src/core/coverage.ml", lines 638-639, characters 9-44: 638 | .........let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 639 | Yes ((tA, S.LF.id), (tA', S.LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 636-640, characters 7-10: 636 | .......begin 637 | let LF.TypDecl (_, tA) = Context.ctxDec cPsi k in 638 | let LF.TypDecl (_, tA') = Context.ctxDec cPsi' k' in 639 | Yes ((tA, S.LF.id), (tA', S.LF.id)) 640 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 695-708, characters 5-59: 695 | .....let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in 696 | let covGoal' = 697 | CovGoal 698 | ( LF.DDec (cPsi, S.LF.decSub tdecl s) 699 | , tM, (tB, S.LF.dot1 s) ... 705 | , tN, (tB', S.LF.dot1 s') 706 | ) 707 | in 708 | pre_match cD cD_p covGoal' patt' matchCands splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Atom (_, _, _)|Sigma _|TClo (_, _)), _) File "src/core/coverage.ml", lines 694-708, characters 5-59: 694 | .....let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in 695 | let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in 696 | let covGoal' = 697 | CovGoal 698 | ( LF.DDec (cPsi, S.LF.decSub tdecl s) ... 705 | , tN, (tB', S.LF.dot1 s') 706 | ) 707 | in 708 | pre_match cD cD_p covGoal' patt' matchCands splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Atom (_, _, _)|Sigma _|TClo (_, _)), _) File "src/core/coverage.ml", lines 692-737, characters 2-8: 692 | ..match (tM, tN) with 693 | | (LF.Lam (_, x, tM), LF.Lam (_, _, tN)) -> 694 | let LF.PiTyp ((tdecl, _, _), tB), s = Whnf.whnfTyp sA in 695 | let LF.PiTyp ((tdecl', _, _), tB'), s' = Whnf.whnfTyp sA' in 696 | let covGoal' = ... 734 | (Eqn (covGoal, patt) :: matchCands, splitCands) 735 | 736 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) 737 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, x, tM), (Root (_, _, _, _)|LFHole (_, _, _)|Clo _|Tuple (_, _))) File "src/core/coverage.ml", lines 684-737, characters 2-8: 684 | ..let MetaPatt (cPhi, tN, sA') = patt in 685 | dprintf 686 | begin fun p -> 687 | p.fmt "[pre_match] @[<v>cov goal: @[%a@]\ 688 | @,pattern: @[%a@]@]" ... 734 | (Eqn (covGoal, patt) :: matchCands, splitCands) 735 | 736 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) 737 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaSub (_, _, _)|GenPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 683-737, characters 2-8: 683 | ..let CovGoal (cPsi, tM, sA) = covGoal in 684 | let MetaPatt (cPhi, tN, sA') = patt in 685 | dprintf 686 | begin fun p -> 687 | p.fmt "[pre_match] @[<v>cov goal: @[%a@]\ ... 734 | (Eqn (covGoal, patt) :: matchCands, splitCands) 735 | 736 | | SplitCand -> (matchCands, Split (covGoal, patt) :: splitCands) 737 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 744-758, characters 5-18: 744 | .....let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in 745 | let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in 746 | let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in 747 | let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in 748 | let sC2' = (tC2, LF.Dot (LF.Obj (tM'), s')) in ... 755 | (cPsi, tS, sB2') 756 | (cPsi', tS', sC2') 757 | matchCands' 758 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 743-758, characters 5-18: 743 | .....let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in 744 | let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in 745 | let covGoal1 = CovGoal (cPsi, tM, (tB1, s)) in 746 | let patt1 = MetaPatt (cPsi', tM', (tC1, s')) in 747 | let sB2' = (tB2, LF.Dot (LF.Obj (tM), s)) in ... 755 | (cPsi, tS, sB2') 756 | (cPsi', tS', sC2') 757 | matchCands' 758 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 740-758, characters 2-18: 740 | ..match (tS, tS') with 741 | | (LF.Nil, LF.Nil) -> (matchCands, splitCands) 742 | | (LF.App (tM, tS), LF.App (tM', tS')) -> 743 | let LF.PiTyp ((LF.TypDecl (_, tB1), _, _), tB2), s = Whnf.whnfTyp sA in 744 | let LF.PiTyp ((LF.TypDecl (_, tC1), _, _), tC2), s' = Whnf.whnfTyp sA' in ... 755 | (cPsi, tS, sB2') 756 | (cPsi', tS', sC2') 757 | matchCands' 758 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Nil, (App (_, _)|SClo _)) File "src/core/coverage.ml", lines 793-797, characters 5-63: 793 | .....let LF.TypDecl (_, tA1) = tdecl1 in 794 | let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in 795 | let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in 796 | let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in 797 | pre_match_sub cD cD_p covGoal patt matchCands' splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 792-797, characters 5-63: 792 | .....let LF.TypDecl (_, tA0) = tdecl0 in 793 | let LF.TypDecl (_, tA1) = tdecl1 in 794 | let covGoal = CovSub (cPsi0, s0, LF.STyp (r0, cPhi0)) in 795 | let patt = MetaSub (cPsi1, s1, LF.STyp (r1, cPhi1)) in 796 | let (matchCands', splitCands') = pre_match_front cD cD_p (cPhi0, f0, tA0) (cPhi1, f1, tA1) matchCands splitCands in 797 | pre_match_sub cD cD_p covGoal patt matchCands' splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 763-816, characters 2-74: 763 | ..match ((s0, cPhi0), (s1, cPhi1)) with 764 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) 765 | | ((LF.Shift k, _), (LF.Shift n, _)) -> 766 | if n = k 767 | then (matchCands, splitCands) ... 813 | 814 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) 815 | 816 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Shift _, _), (Dot (Head (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)| FVar _|FMVar _|FPVar _|HClo (_, _, _)|HMClo (_, _)), _), _)) File "src/core/coverage.ml", lines 762-816, characters 2-74: 762 | ..let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in 763 | match ((s0, cPhi0), (s1, cPhi1)) with 764 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) 765 | | ((LF.Shift k, _), (LF.Shift n, _)) -> 766 | if n = k ... 813 | 814 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) 815 | 816 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MetaSub (cPsi1, s1, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 761-816, characters 2-74: 761 | ..let CovSub (cPsi0, s0, (LF.STyp (r0, cPhi0) as sT0)) = covGoal in 762 | let MetaSub (cPsi1, s1, (LF.STyp (r1, cPhi1) as sT1)) = patt in 763 | match ((s0, cPhi0), (s1, cPhi1)) with 764 | | ((LF.EmptySub, LF.Null), (LF.EmptySub, LF.Null)) -> (matchCands, splitCands) 765 | | ((LF.Shift k, _), (LF.Shift n, _)) -> ... 813 | 814 | | ((LF.SVar _, _), _) -> (matchCands, Split (covGoal, patt) :: splitCands) 815 | 816 | | (_, (LF.SVar _, _)) -> (Eqn (covGoal, patt) :: matchCands, splitCands) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CovSub (cPsi0, s0, (MTyp _|PTyp _)) File "src/core/coverage.ml", lines 819-830, characters 2-57: 819 | ..match (f0, f1) with 820 | | (LF.Head h0, LF.Head h1) -> 821 | let tM0 = eta_expand (h0, tA0) in 822 | let tM1 = eta_expand (h1, tA1) in 823 | let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in ... 827 | | (LF.Obj tM0, LF.Obj tM1) -> 828 | let covGoal = CovGoal (cPhi0, tM0, (tA0, S.LF.id)) in 829 | let patt = MetaPatt (cPhi1, tM1, (tA1, S.LF.id)) in 830 | pre_match cD cD_p covGoal patt matchCands splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Head h0, (Undef|Obj _)) File "src/core/coverage.ml", lines 839-851, characters 5-18: 839 | .....let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in 840 | let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in 841 | let patt1 = MetaPatt (cPsi', tM', (tC, s')) in 842 | let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in 843 | let sK2' = (tK2, LF.Dot (LF.Obj tM', s')) in ... 848 | (cPsi, tS, sK1') 849 | (cPsi', tS', sK2') 850 | matchCands' 851 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 838-851, characters 5-18: 838 | .....let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in 839 | let LF.PiKind ((LF.TypDecl (_, tC), _, _), tK2), s' = sK' in 840 | let covGoal1 = CovGoal (cPsi, tM, (tB, s)) in 841 | let patt1 = MetaPatt (cPsi', tM', (tC, s')) in 842 | let sK1' = (tK1, LF.Dot (LF.Obj tM, s)) in ... 848 | (cPsi, tS, sK1') 849 | (cPsi', tS', sK2') 850 | matchCands' 851 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 834-851, characters 2-18: 834 | ..match ((tS1, sK1), (tS2, sK2)) with 835 | | ((LF.Nil, (LF.Typ, _)), (LF.Nil, (LF.Typ, _))) -> 836 | (matchCands, splitCands) 837 | | ((LF.App (tM, tS), sK), (LF.App (tM', tS'), sK')) -> 838 | let LF.PiKind ((LF.TypDecl (_, tB), _, _), tK1), s = sK in ... 848 | (cPsi, tS, sK1') 849 | (cPsi', tS', sK2') 850 | matchCands' 851 | splitCands' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Nil, (Typ, _)), (Nil, (PiKind (_, _), _))) File "src/core/coverage.ml", lines 860-903, characters 2-17: 860 | ..match (Whnf.whnfTyp sA, Whnf.whnfTyp sB) with 861 | | ((LF.Atom (_, a, tS1), s1), (LF.Atom (loc, b, tS2), s2)) -> 862 | let tK1 = (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind in 863 | let tK2 = (Store.Cid.Typ.get b).Store.Cid.Typ.Entry.kind in 864 | let tS1' = Whnf.normSpine (tS1, s1) in ... 900 | (trec1, s1) 901 | (trec2, s2) 902 | matchCands 903 | splitCands Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((Atom (_, a, tS1), s1), ((PiTyp (_, _)|Sigma _|TClo _), _)) File "src/core/coverage.ml", lines 907-927, characters 2-12: 907 | ..match (srec1, srec2) with 908 | | ((LF.SigmaLast (_, tA1), s1), (LF.SigmaLast (_, tA2), s2)) -> 909 | pre_match_typ cD cD_p (cPsi, (tA1, s1)) (cPhi, (tA2, s2)) matchCands splitCands 910 | 911 | | ((LF.SigmaElem (x1, tA1, trec1), s1), (LF.SigmaElem (x2, tA2, trec2), s2)) -> ... 924 | (LF.DDec (cPsi, LF.TypDecl (x1, LF.TClo (tA1, s1)))) 925 | (LF.DDec (cPhi, LF.TypDecl (x2, LF.TClo (tA2, s2)))) 926 | (trec1, S.LF.dot1 s1) (trec2, S.LF.dot1 s2) 927 | mC sC Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((SigmaLast (_, tA1), s1), (SigmaElem (_, _, _), _)) File "src/core/coverage.ml", lines 952-1004, characters 2-31: 952 | ..match ((mO, mt), (mO_p, mtp)) with 953 | | LF.((CObj cPsi, _), (CObj cPsi', _)) -> 954 | pre_match_dctx cD cD_p cPsi cPsi' mC sC 955 | | LF.((ClObj (_, clobj), ClTyp (cltyp, cPsi)), (ClObj (_, clobj'), ClTyp (cltyp', cPsi'))) -> 956 | match ((clobj, cltyp), (clobj', cltyp')) with ... 1001 | (mobj cD_p) (loc', mO_p) 1002 | (mtyp cD_p) mtp 1003 | in 1004 | Error.raise_violation s Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((CObj cPsi, _), ((MUndef|ClObj (_, _)|MV _), _)) File "src/core/coverage.ml", lines 1092-1104, characters 5-10: 1092 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1093 | let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1094 | let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1095 | let t2 = LF.MDot (mO, t) in 1096 | let t2' = LF.MDot (mO', t') in ... 1101 | (pS, (tau2, t2)) 1102 | (pS', (tau2', t2')) 1103 | mC1 1104 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1091-1104, characters 5-10: 1091 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1092 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1093 | let tau1 = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1094 | let tau1' = LF.ClTyp (LF.MTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1095 | let t2 = LF.MDot (mO, t) in ... 1101 | (pS, (tau2, t2)) 1102 | (pS', (tau2', t2')) 1103 | mC1 1104 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1110-1122, characters 5-10: 1110 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1111 | let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1112 | let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1113 | let t2 = LF.MDot (mO, t) in 1114 | let t2' = LF.MDot (mO', t') in ... 1119 | (pS, (tau2, t2)) 1120 | (pS', (tau2', t2')) 1121 | mC1 1122 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1109-1122, characters 5-10: 1109 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1110 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1111 | let tau1 = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA, t)), Whnf.cnormDCtx (cPsi, t)) in 1112 | let tau1' = LF.ClTyp (LF.PTyp (Whnf.cnormTyp (tA', t')), Whnf.cnormDCtx (cPsi', t')) in 1113 | let t2 = LF.MDot (mO, t) in ... 1119 | (pS, (tau2, t2)) 1120 | (pS', (tau2', t2')) 1121 | mC1 1122 | sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1128-1134, characters 5-84: 1128 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1129 | let tau1 = LF.CTyp w in 1130 | let tau1' = LF.CTyp w' in 1131 | let t2 = LF.MDot (mO, t) in 1132 | let t2' = LF.MDot (mO', t')in 1133 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in 1134 | match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1127-1134, characters 5-84: 1127 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1128 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1129 | let tau1 = LF.CTyp w in 1130 | let tau1' = LF.CTyp w' in 1131 | let t2 = LF.MDot (mO, t) in 1132 | let t2' = LF.MDot (mO', t')in 1133 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), tau1) ((loc', mO'), tau1') mC sC in 1134 | match_spines (cD, cG) (cD_p, cG_p) (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1139-1147, characters 5-51: 1139 | .....let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1140 | let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in 1141 | let mT1 = mk_cltyp cl cPhi cPsi t in 1142 | let mT2 = mk_cltyp cl' cPhi' cPsi' t' in 1143 | let t2 = LF.MDot (mO, t) in 1144 | let t2' = LF.MDot (mO', t') in 1145 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in 1146 | match_spines (cD, cG) (cD_p, cG_p) 1147 | (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1138-1147, characters 5-51: 1138 | .....let Comp.PatMetaObj (_, (loc, mO)) = pat in 1139 | let Comp.PatMetaObj (_, (loc', mO')) = pat' in 1140 | let mk_cltyp cl cPhi cPsi t = LF.(ClTyp (STyp (cl, Whnf.cnormDCtx (cPhi, t)), Whnf.cnormDCtx (cPsi, t))) in 1141 | let mT1 = mk_cltyp cl cPhi cPsi t in 1142 | let mT2 = mk_cltyp cl' cPhi' cPsi' t' in 1143 | let t2 = LF.MDot (mO, t) in 1144 | let t2' = LF.MDot (mO', t') in 1145 | let (mC1, sC1) = match_metaobj cD cD_p ((loc, mO), mT1) ((loc', mO'), mT2) mC sC in 1146 | match_spines (cD, cG) (cD_p, cG_p) 1147 | (pS, (tau2, t2)) (pS', (tau2', t2')) mC1 sC1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/coverage.ml", lines 1186-1224, characters 2-8: 1186 | ..match Whnf.whnfTyp sA with 1187 | | (LF.PiTyp ((LF.TypDecl (u, tA), _, _), tB), s) -> 1188 | (* cPsi' |- Pi x:A.B <= typ 1189 | cPsi |- s <= cPsi' 1190 | cPsi |- tN <= [s]tA ... 1221 | Some LF.Nil 1222 | with 1223 | | U.Failure _ -> None 1224 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp ((TypDeclOpt _, _, _), _), _) File "src/core/coverage.ml", lines 1343-1349, characters 2-29: 1343 | ..let LF.TypDecl (_, tA) = Context.ctxDec cPsi i in (* x_i : tA in cPsi *) 1344 | (* We call expand_head_sigma here because it might be *projections* 1345 | of the bound variable that are relevant to the matching. 1346 | *) 1347 | expand_head_sigma (LF.BVar i, tA) 1348 | |> List.map (fun (tH, tA) -> (tH, tA, 0)) 1349 | |> genAllObj (cD, cPsi, tP) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 1484-1492, characters 7-10: 1484 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), ms) -> 1485 | let cg' = 1486 | ( cPsi' 1487 | , LF.Lam (Location.ghost, x, tM) 1488 | , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id) 1489 | ) 1490 | in 1491 | (cD', cg', ms) 1492 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', ((Null|CtxVar _), _, (_, _)), _) File "src/core/coverage.ml", lines 1468-1493, characters 2-14: 1468 | ..match tA with 1469 | | LF.Atom _ -> 1470 | genPVar cov_problem @ genBVars cov_problem 1471 | | LF.Sigma trec -> 1472 | Error.raise_not_implemented "[genBCovGoals] not implemented for Sigma types" ... 1490 | in 1491 | (cD', cg', ms) 1492 | end 1493 | cg_list Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/coverage.ml", lines 1544-1551, characters 7-10: 1544 | .......begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) -> 1545 | ( cD' 1546 | , ( cPsi' 1547 | , LF.Lam (Location.ghost, x, tM) 1548 | , (LF.PiTyp ((tdecl', depend, plicity), LF.TClo (sA)), S.LF.id)) 1549 | , t 1550 | ) 1551 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', ((Null|CtxVar _), _, (_, _)), _) File "src/core/coverage.ml", lines 1541-1552, characters 5-16: 1541 | .....let LF.TypDecl (x, _) = tdecl in 1542 | let cov_goals = genCovGoals (cD, LF.DDec (cPsi, tdecl), tB) in 1543 | List.map 1544 | begin fun (cD', (LF.DDec (cPsi', tdecl'), tM, sA), t) -> 1545 | ( cD' ... 1549 | , t 1550 | ) 1551 | end 1552 | cov_goals Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 1512-1552, characters 2-16: 1512 | ..match tA with 1513 | | LF.Atom (_, a, tS) -> 1514 | let g_pv = genPVar cov_problem in (* (cD', cg, ms) list *) 1515 | dprintf 1516 | begin fun p -> ... 1549 | , t 1550 | ) 1551 | end 1552 | cov_goals Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/coverage.ml", lines 1582-1700, characters 5-8: 1582 | .....begin match mc with 1583 | | Eqn (CovSub (cPsi, s, sT), MetaSub (cPsi_p, s_p, sT_p)) -> 1584 | let cT = LF.ClTyp (sT, cPsi) in 1585 | let cT_p = LF.ClTyp (sT_p, cPsi_p) in 1586 | let cM = (Location.ghost, LF.ClObj (Context.dctxToHat cPsi, LF.SObj s)) in ... 1697 | NotSolvable 1698 | end 1699 | end 1700 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Eqn (CovSub (cPsi, s, sT), (MetaPatt (_, _, _)|GenPatt (_, _, _))) File "src/core/coverage.ml", lines 1725-1730, characters 5-11: 1725 | .....let CovGoal (cPsi', tR', sA') as covG = CovGoal (cPsi, tR, (tA, S.LF.id)) in 1726 | (* let MetaPatt (cPhi, _, sB') = patt in *) 1727 | (* let (mL', sL') = pre_match_typ cD cD_p (cPsi, sA') (cPhi, sB') matchL' splitL' in *) 1728 | (* let (mL', sL') = pre_match_dctx cD cD_p cPsi cPhi matchL' splitL' in *) 1729 | let result = pre_match cD cD_p covG patt matchL' splitL' in 1730 | result Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 1719-1741, characters 2-94: 1719 | ..match splitL with 1720 | | [] -> (matchL, []) 1721 | | Split (CovGoal (cPsi, tR, sA), patt) :: splits -> 1722 | let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in 1723 | let tA = Whnf.normTyp sA in ... 1738 | pre_match_dctx cD cD_p cPsi' cPsi_patt matchL' splitL' 1739 | | SplitPat ((Comp.PatFVar (loc, x), (tau, t)), pPatt_p) :: splits -> 1740 | let (matchL', splitL') = refineSplits cD cD_p matchL splits ms in 1741 | (matchL', SplitPat ((Comp.PatFVar (loc, x), (tau, Whnf.mcomp t ms)), pPatt_p) :: splitL') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Split ((CovCtx _|CovPatt (_, _, _)), _)::_ File "src/core/coverage.ml", lines 1973-2000, characters 5-6: 1973 | .....let (cPsi, (LF.Atom (_, a, _) as tP, s)) = 1974 | Whnf.lowerTyp (LF.CtxVar (LF.CtxOffset (k + d))) (tA, s') 1975 | in 1976 | (* bp : Context substitution associated with declaration is off by 1 *) 1977 | let (ss', cPsi') = Subord.thin' cD'' a cPsi in ... 1997 | in 1998 | ( LF.Dec (cD'', mdec) 1999 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) 2000 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cPsi, ((PiTyp ((_, _, _), _)|Sigma _|TClo (_, _)), _)) File "src/core/coverage.ml", lines 1964-2000, characters 2-6: 1964 | ..match decls with 1965 | | LF.Empty -> (cD', S.LF.id) 1966 | | LF.(Dec (decls, TypDecl (x, tA))) -> 1967 | let x = NameGen.renumber names x in 1968 | let names = x :: names in ... 1997 | in 1998 | ( LF.Dec (cD'', mdec) 1999 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) 2000 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (decls, TypDeclOpt _) File "src/core/coverage.ml", lines 1963-2000, characters 28-6: 1963 | ............................(LF.CtxOffset k as cpsi) (d, decls) = 1964 | match decls with 1965 | | LF.Empty -> (cD', S.LF.id) 1966 | | LF.(Dec (decls, TypDecl (x, tA))) -> 1967 | let x = NameGen.renumber names x in ... 1997 | in 1998 | ( LF.Dec (cD'', mdec) 1999 | , LF.Dot (LF.Obj mv, Whnf.cnormSub (s', LF.MShift 1)) 2000 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxName _|CInst ({instantiation=_; constraints=_; _ }, _)) File "src/core/coverage.ml", lines 2096-2099, characters 17-34: 2096 | .................(LF.Dec (cD', LF.Decl _) as cD) cpsi = 2097 | let nonempty_cases = List.map (genSchemaElemGoal names cD cpsi) in 2098 | let empty_case = List.cons (cD', LF.Null, LF.MShift 0) in 2099 | F.(empty_case ++ nonempty_cases) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/coverage.ml", lines 2123-2136, characters 23-38: 2123 | .......................(x, LF.CTyp (Option.Some schema_cid), plicity, inductivity) = 2124 | let LF.Schema elems = Store.Cid.Schema.get_schema schema_cid in 2125 | let cD' = 2126 | LF.Dec 2127 | (cD ... 2133 | } 2134 | ) 2135 | in 2136 | genCtx [] cD' (LF.CtxOffset 1) elems Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (x, CTyp None, _, _) File "src/core/coverage.ml", lines 2144-2178, characters 5-87: 2144 | .....let LF.TypDecl (x, tA) = decl in 2145 | let s = LF.SVar (2, 0, S.LF.id) in 2146 | let mT = LF.ClTyp (LF.STyp (r0, cPhi'), cPsi) in 2147 | let name = Whnf.newMTypName mT in 2148 | let cD' = ... 2175 | in 2176 | let cPsi' = Whnf.cnormDCtx (cPsi, LF.MShift 2) in 2177 | let cPhi'' = Whnf.cnormDCtx (cPhi, LF.MShift 2) in 2178 | [(cD'', CovSub (cPsi', LF.Dot (LF.Obj tM, s), LF.STyp (r0, cPhi'')), LF.MShift 2)] Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/coverage.ml", lines 2186-2239, characters 2-8: 2186 | ..match cT with 2187 | | LF.ClTyp (clTyp, cPsi) -> 2188 | begin match clTyp with 2189 | | LF.MTyp tA -> 2190 | dprintf ... 2236 | , Atomic 2237 | ) 2238 | end 2239 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ File "src/core/coverage.ml", lines 2249-2250, characters 11-60: 2249 | ...........let LF.Decl { name = x; typ = cU; plicity; inductivity } = d in 2250 | genContextGoals cD' (x, cU, plicity, inductivity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/coverage.ml", lines 2242-2278, characters 2-58: 2242 | ..match (cv_list, cD) with 2243 | | ([], _) -> NoCandidate 2244 | | ([LF.CtxOffset j], LF.Dec (cD', d)) -> 2245 | if j = k 2246 | then ... 2275 | SomeCtxCands ctx_goals' 2276 | end 2277 | else 2278 | best_ctx_cand (cD', cv_list) (k + 1) (d :: cD_tail) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxOffset j::[], Empty) File "src/core/coverage.ml", lines 2308-2309, characters 25-35: 2308 | .........................let LF.Root (_, tH, _, _) = tR in 2309 | LF.PObj tH Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/coverage.ml", lines 2302-2309, characters 22-35: 2302 | ......................match cT with 2303 | (* gonna be a ClTyp because we're in the CovGoal branch *) 2304 | | LF.ClTyp (LF.MTyp _, _) -> LF.MObj tR 2305 | | LF.ClTyp (LF.PTyp _, _) -> 2306 | (* ensure that PTyp is added as a PObj to the 2307 | msub; otherwise normalization WILL crash. *) 2308 | let LF.Root (_, tH, _, _) = tR in 2309 | LF.PObj tH Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/core/coverage.ml", lines 2294-2331, characters 17-50: 2294 | .................match cg with 2295 | | CovGoal (cPsi', tR, sA') -> 2296 | dprintf 2297 | begin fun p -> 2298 | p.fmt "[best_cand] generated covgoal @[%a@]" ... 2328 | , Whnf.cnormClTyp (sT, LF.MShift k) 2329 | ) 2330 | in 2331 | TermCandidate (cD'', cg', ms0). Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovPatt (_, _, _)) File "src/core/coverage.ml", lines 2335-2348, characters 11-17: 2335 | ...........match best_cand (cD', mvlist') (k + 1) (md :: cD_tail) with 2336 | | NoCandidate -> SomeTermCands (dep0, cov_goals0) 2337 | | SomeTermCands (dep, cov_goals) -> 2338 | begin match dep, dep0 with 2339 | | Dependent, Atomic -> SomeTermCands (dep, cov_goals) ... 2345 | then SomeTermCands (dep, cov_goals) 2346 | else SomeTermCands (dep0, cov_goals0) 2347 | *) 2348 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: SomeCtxCands _ File "src/core/coverage.ml", lines 2282-2356, characters 2-55: 2282 | ..match (mv_list, cD) with 2283 | | ([], _) -> NoCandidate 2284 | | (LF.Offset j :: mvlist', LF.(Dec (cD', (Decl { typ = cT; _ } as md)))) -> 2285 | if k = j 2286 | then ... 2353 | best_cand (cD', mvlist') (k + 1) (md :: cD_tail) 2354 | end 2355 | else 2356 | best_cand (cD', mv_list) (k + 1) (md :: cD_tail) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Offset j::mvlist', Dec (cD', DeclOpt _)) File "src/core/coverage.ml", lines 2430-2438, characters 7-13: 2430 | .......match cl with 2431 | | LF.PTyp _ -> 2432 | let v = Whnf.newMPVar (Some u) (LF.Empty, cPsi', tP') plicity inductivity in 2433 | LF.(PObj (mpvar ((v, Whnf.m_id), S.LF.id))) 2434 | | LF.MTyp _ -> 2435 | LF.MObj 2436 | (ConvSigma.etaExpandMMVstr 2437 | Location.ghost LF.Empty cPsi' (tP', S.LF.id) plicity (Some u) (u :: names) 2438 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/coverage.ml", lines 2581-2594, characters 6-9: 2581 | ......begin fun (CovGoal (cPsi', tR, sA')) -> 2582 | let m_obj = 2583 | ( Location.ghost 2584 | , LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR) 2585 | ) ... 2591 | ) 2592 | in 2593 | (LF.Empty, pat_r, tau_r) 2594 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/coverage.ml", lines 2630-2632, characters 10-46: 2630 | ..........match tC with 2631 | | MTyp _ -> fun sA -> MTyp (TClo sA) 2632 | | PTyp _ -> fun sA -> PTyp (TClo sA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/coverage.ml", lines 2626-2667, characters 5-8: 2626 | .....begin match mT with 2627 | | LF.(ClTyp (tC, cPsi)) -> 2628 | let f = 2629 | let open LF in 2630 | match tC with ... 2664 | , t 2665 | ) 2666 | end 2667 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp None File "src/core/coverage.ml", lines 2714-2762, characters 2-55: 2714 | ..function 2715 | | [] -> vlist 2716 | | Split (CovGoal (_, LF.Root (_, LF.MVar (u, _), _, _), _), _) :: sl -> 2717 | let (pvlist, cvlist, mvlist) = vlist in 2718 | if List.mem u mvlist ... 2759 | let (pvlist, cvlist, mvlist) = vlist in 2760 | if List.mem x pvlist 2761 | then mvInSplit cD vlist sl 2762 | else mvInSplit cD (x :: pvlist, cvlist, mvlist) sl Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: SplitCtx ((Null|DDec (_, _)), _)::_ File "src/core/coverage.ml", lines 2773-2778, characters 30-13: 2773 | ..............................(LF.Offset k') -> 2774 | if k' < k 2775 | then 1 2776 | else if k' = k 2777 | then 0 2778 | else -1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Inst {instantiation=_; constraints=_; _ } File "src/core/coverage.ml", lines 2773-2779, characters 6-9: 2773 | ......begin fun (LF.Offset k) (LF.Offset k') -> 2774 | if k' < k 2775 | then 1 2776 | else if k' = k 2777 | then 0 2778 | else -1 2779 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Inst {instantiation=_; constraints=_; _ } File "src/core/coverage.ml", lines 2784-2789, characters 33-13: 2784 | .................................(LF.CtxOffset k') -> 2785 | if k' < k 2786 | then 1 2787 | else if k' = k 2788 | then 0 2789 | else -1 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxName _|CInst ({instantiation=_; constraints=_; _ }, _)) File "src/core/coverage.ml", lines 2784-2790, characters 6-9: 2784 | ......begin fun (LF.CtxOffset k) (LF.CtxOffset k') -> 2785 | if k' < k 2786 | then 1 2787 | else if k' = k 2788 | then 0 2789 | else -1 2790 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CtxName _|CInst ({instantiation=_; constraints=_; _ }, _)) File "src/core/coverage.ml", line 2867, characters 50-80: 2867 | Prettycov.fmt_ppr_cov_goals (List.map (fun (TermCandidate cg) -> cg) cgoals) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxCandidate (_, _, _) File "src/core/coverage.ml", lines 2903-2908, characters 2-33: 2903 | ..function 2904 | | Comp.PatNil -> Comp.PatNil 2905 | | Comp.PatApp (loc, pat, pS) -> 2906 | let pat' = subst_pattern (pat_r, pv) pat in 2907 | let pS' = subst_pattern_spine (pat_r, pv) pS in 2908 | Comp.PatApp (loc, pat', pS') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) File "src/core/coverage.ml", lines 2979-2995, characters 32-52: 2979 | ................................(x :: pvlist) = 2980 | let cov_goals' = 2981 | List.map 2982 | begin fun (cD', (cG', pat, tau_p), t) -> 2983 | (cD', (Context.append (Whnf.cnormGCtx (cG, t)) cG', pat, tau_p), t) ... 2992 | cov_goals' 2993 | end; 2994 | let l = List.length cov_goals' in 2995 | best_pv_cand' (cD, cG) pvlist (l, (cov_goals', x)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/coverage.ml", lines 3002-3013, characters 2-40: 3002 | ..match sl with 3003 | | [] -> pvlist 3004 | | Split (CovGoal _, _) :: sl -> pvInSplitCand sl pvlist 3005 | | Split (CovSub _, _) :: sl -> pvInSplitCand sl pvlist 3006 | | SplitCtx _ :: sl -> pvInSplitCand sl pvlist ... 3010 | ); 3011 | if List.mem x pvlist 3012 | then pvInSplitCand sl pvlist 3013 | else pvInSplitCand sl (x :: pvlist) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Split ((CovCtx _|CovPatt (_, _, _)), _)::_ File "src/core/coverage.ml", lines 3223-3231, characters 2-27: 3223 | ..let CovPatt (cG', pat', ttau') = covGoal in 3224 | dprintf 3225 | begin fun p -> 3226 | p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]" 3227 | (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat 3228 | (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat' 3229 | end; 3230 | let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in 3231 | Cand (cD_p, cG_p, ml, sl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovGoal (_, _, (_, _))|CovCtx _|CovSub (_, _, _)) File "src/core/coverage.ml", lines 3222-3231, characters 33-27: 3222 | .................................(cD_p, GenPatt (cG_p, pat, ttau)) = 3223 | let CovPatt (cG', pat', ttau') = covGoal in 3224 | dprintf 3225 | begin fun p -> 3226 | p.fmt "[gen_candidates] @[<v>pat = @[%a@]@,pat' = @[%a@]@]" 3227 | (P.fmt_ppr_cmp_pattern cD_p cG_p P.l0) pat 3228 | (P.fmt_ppr_cmp_pattern cD_p cG' P.l0) pat' 3229 | end; 3230 | let (ml, sl) = match_pattern (cD, cG') (cD_p, cG_p) (pat', ttau') (pat, ttau) [] [] in 3231 | Cand (cD_p, cG_p, ml, sl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_p, (MetaPatt (_, _, (_, _))|MetaSub (_, _, _))) File "src/core/coverage.ml", lines 3399-3434, characters 2-50: 3399 | ..function 3400 | | LF.Empty -> false 3401 | | LF.Dec (cD', (LF.Decl { typ = LF.ClTyp (LF.MTyp tA, cPsi); _} as cdecl)) -> 3402 | begin 3403 | try ... 3431 | print_string "Unable to prove given type is empty\n"; check_emptiness cD' 3432 | end 3433 | 3434 | | LF.Dec (cD', LF.Decl _) -> check_emptiness cD' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/core/coverage.ml", lines 3437-3447, characters 2-8: 3437 | ..function 3438 | | LF.Empty -> false 3439 | | LF.Dec (cG, Comp.CTypDecl (_, tau, _)) -> 3440 | begin 3441 | try ... 3444 | | _ -> check_empty_comp names cD cG 3445 | with 3446 | | _ -> check_empty_comp names cD cG 3447 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG, CTypDeclOpt _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Interactive.cmx -c -impl src/core/interactive.ml) File "src/core/interactive.ml", lines 202-213, characters 10-26: 202 | ..........let Cover.CovGoal (cPsi', tR, sA') = cg in 203 | let ms' = LF.MDot (LF.ClObj (Context.dctxToHat cPsi', LF.MObj tR), ms) in 204 | let k = List.length cD_tail in 205 | let (cD'', ms0) = Coverage.addToMCtx cDg' (cD_tail, ms') in 206 | let cg' = ... 210 | , (Whnf.cnormTyp (Whnf.normTyp sA', LF.MShift k), S.LF.id) 211 | ) 212 | in 213 | (cD'', cg', ms0) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CovCtx _|CovSub (_, _, _)|CovPatt (_, _, (_, _))) File "src/core/interactive.ml", lines 183-214, characters 18-13: 183 | ..................(LF.Decl { name =n; typ = mtyp; plicity; inductivity }) cD_tail = 184 | match mtyp with 185 | | LF.CTyp _ -> 186 | Cover.genContextGoals cD' (n, mtyp, plicity, inductivity) 187 | |> List.map ... 211 | ) 212 | in 213 | (cD'', cg', ms0) 214 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Check.cmx -c -impl src/core/check.ml) File "src/core/check.ml", lines 471-475, characters 4-46: 471 | ....function 472 | | I.Root (_, h, tS, _) -> fmv_spine (fmv_head cD h) tS 473 | | I.Lam (_, _, tM) -> fmv_normal cD tM 474 | | I.LFHole _ -> cD 475 | | I.Tuple (_, tuple) -> fmv_tuple cD tuple Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Clo _ File "src/core/check.ml", lines 490-492, characters 4-55: 490 | ....function 491 | | I.Nil -> cD 492 | | I.App (tM, tS) -> fmv_spine (fmv_normal cD tM) tS Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: SClo _ File "src/core/check.ml", lines 500-503, characters 4-61: 500 | ....function 501 | | I.Null -> cD 502 | | I.CtxVar (I.CtxOffset k) -> mark_ind cD k 503 | | I.DDec (cPsi, decl) -> fmv_decl (fmv_dctx cD cPsi) decl Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/check.ml", lines 511-514, characters 4-38: 511 | ....function 512 | | I.Atom (_, _, tS) -> fmv_spine cD tS 513 | | I.PiTyp ((decl, _, _), tA) -> fmv_typ (fmv_decl cD decl) tA 514 | | I.Sigma trec -> fmv_trec cD trec Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/check.ml", lines 534-538, characters 4-68: 534 | ....function 535 | | (_, I.CObj (cPsi)) -> fmv_dctx cD cPsi 536 | | (_, I.ClObj (phat, I.MObj tM)) -> fmv_normal cD tM 537 | | (_, I.ClObj (phat, I.PObj h)) -> fmv_head (fmv_hat cD phat) h 538 | | (_, I.ClObj (phat, I.SObj s)) -> fmv_subst (fmv_hat cD phat) s Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, (MUndef|MV _)) File "src/core/check.ml", lines 553-556, characters 4-43: 553 | ....function 554 | | PatNil -> cD 555 | | PatApp (_, pat, pat_spine) -> 556 | fmv_pat_spine (fmv cD pat) pat_spine Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PatObs (_, _, _, _) File "src/core/check.ml", lines 561-595, characters 4-10: 561 | ....match (t, cD) with 562 | | (I.MShift k, I.Empty) -> cD1' 563 | | (I.MShift k, cD) 564 | when k < 0 -> 565 | Error.raise_violation "Contextual substitution ill-formed" ... 592 | else 593 | id_map_ind cD1' ms cD 594 | | _ -> id_map_ind cD1' ms cD 595 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MDot (_, _), Dec (cD, DeclOpt _)) File "src/core/check.ml", lines 618-619, characters 7-23: 618 | .......fun (CTypDecl (u, tau, wf_tag)) -> 619 | (u, tau, wf_tag) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/check.ml", lines 747-771, characters 6-12: 747 | ......match cPsi0 with 748 | | Int.LF.Null -> () (* raise (Error (Location.ghost, IllegalParamTyp (cD, cPsi, tA))) *) 749 | | Int.LF.CtxVar psi -> 750 | (* tA is an instance of a schema block *) 751 | let { Store.Cid.Schema.Entry.name; schema = Int.LF.Schema elems } = ... 768 | Unify.unifyTyp cD cPsi (tA, Substitution.LF.id) (tB0, Substitution.LF.id) 769 | with 770 | | _ -> checkParamTypeValid' (cPsi0', n + 1) 771 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (cPsi0', TypDeclOpt _) File "src/core/check.ml", lines 776-796, characters 4-68: 776 | ....match (mS, cKt) with 777 | | (MetaNil, (Ctype _, _)) -> () 778 | | (MetaApp (mO, mT, mS, plicity_app), (PiKind (_, I.Decl { typ = ctyp; plicity = plicity_pi; inductivity; _ }, cK), t)) -> 779 | if Plicity.(plicity_app <> plicity_pi) 780 | then Error.raise_violation "[checkMetaSpine] plicity mismatch"; ... 793 | Location.print_short loc 794 | ) 795 | end; 796 | checkMetaSpine loc cD mS (cK, I.MDot (metaObjToMFront mO, t)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaNil, (PiKind (_, _, _), _)) File "src/core/check.ml", lines 822-824, characters 20-32: 822 | ....................(I.Decl { name = x; typ = ctyp; _ }) = 823 | let location = Name.location x in 824 | checkCLFTyp location cD ctyp Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/check.ml", lines 834-868, characters 4-35: 834 | ....function 835 | | TypBase (loc, c, mS) -> 836 | let { Store.Cid.CompTyp.Entry.kind = cK; _ } = Store.Cid.CompTyp.get c in 837 | checkMetaSpine loc cD mS (cK, C.m_id) 838 | ... 865 | end; 866 | checkTyp (I.Dec (cD, cdecl)) tau' 867 | 868 | | TypInd tau -> checkTyp cD tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDef (_, _, _)|TypClo (_, _)) File "src/core/check.ml", lines 880-882, characters 21-54: 880 | .....................(x, (I.Decl d), t) = 881 | let typ' = C.cnormMTyp (d.typ, t) in 882 | I.Dec (cD, I.Decl { d with name = x; typ = typ' }) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (x, DeclOpt _, _) File "src/core/check.ml", lines 899-916, characters 12-15: 899 | ............begin match e2 with 900 | | Box (_, cM, cU) | AnnBox (_, cM, cU) -> 901 | dprintf 902 | begin fun p -> 903 | p.fmt "[useIH] @[<v>check whether compatible IH exists@,\ ... 913 | | Option.None -> Total.filter cD cG cIH (loc, E) 914 | end 915 | | Hole _ -> Total.drop_arg cIH 916 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, _)|LetTuple (_, _, _)| Let (_, _, _)|Case (_, _, _, _)|Impossible (_, _)) File "src/core/check.ml", lines 1114-1276, characters 4-45: 1114 | ....function 1115 | | Var (loc, x) as e -> 1116 | let (f,tau', _) = lookup cG x in 1117 | Typeinfo.Comp.add loc (Typeinfo.Comp.mk_entry cD (tau', C.m_id)) 1118 | (Format.asprintf "Var %a" (P.fmt_ppr_cmp_exp cD cG P.l0) e); ... 1273 | 1274 | | AnnBox (_, cM, cT) -> 1275 | checkMetaObj cD cM cT C.m_id; 1276 | (None, TypBox (getLoc cM, cT), C.m_id) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|LetTuple (_, _, _)|Let (_, _, _)| Box (_, _, _)|Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)) File "src/core/check.ml", lines 1350-1357, characters 7-10: 1350 | .......begin match (tau, theta) with 1351 | | (TypArr (_, tau1, tau2), theta) -> 1352 | checkPattern cD cG pat (tau1, theta); 1353 | synPatSpine cD cG pat_spine (tau2, theta) 1354 | | (TypPiBox (_, cdecl, tau), theta) -> 1355 | let theta' = checkPatAgainstCDecl cD pat (cdecl, theta) in 1356 | synPatSpine cD cG pat_spine (tau, theta') 1357 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypBox (_, _)| TypCross (_, _)|TypClo (_, _)|TypInd _), _) File "src/core/check.ml", lines 1373-1375, characters 53-38: 1373 | .....................................................(I.Decl { typ = ctyp; _ }, theta) = 1374 | LF.checkMetaObj cD mO (ctyp, theta); 1375 | I.MDot (metaObjToMFront mO, theta) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (DeclOpt _, _) File "src/core/check.ml", lines 1373-1375, characters 30-38: 1373 | ..............................(PatMetaObj (loc, mO)) (I.Decl { typ = ctyp; _ }, theta) = 1374 | LF.checkMetaObj cD mO (ctyp, theta); 1375 | I.MDot (metaObjToMFront mO, theta) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, T (_, _, _))| PatAnn (_, _, _, _)) File "src/core/check.ml", lines 1665-1667, characters 4-42: 1665 | ....let { cD = cD'; cG = cG'; cIH = I.Empty } = h in 1666 | let (cD, cG) = validate_contexts loc (cD, cD') (cG, cG') in 1667 | proof mcid cD cG cIH total_decs p ttau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))} File "src/core/check.ml", lines 1678-1743, characters 4-13: 1678 | ....match d with 1679 | | Intros hyp -> 1680 | let tau = Whnf.cnormCTyp ttau in 1681 | let (cD', cG', cIH', tau', t) = unroll cD cG cIH tau in 1682 | dprintf ... 1740 | end; 1741 | proof mcid cD cG cIH total_decs p (tau, Whnf.m_id) 1742 | end 1743 | args Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ImpossibleSplit _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Lfrecon.cmx -c -impl src/core/lfrecon.ml) File "src/core/lfrecon.ml", lines 253-262, characters 2-29: 253 | ..function 254 | | Apx.LF.BVar _ -> "BVar" 255 | | Apx.LF.Const _ -> "Const" 256 | | Apx.LF.MVar _ -> "MVar" 257 | | Apx.LF.PVar (Apx.LF.Offset _, _) -> "PVar Offset " 258 | | Apx.LF.PVar (Apx.LF.MInst _, _) -> "PVar PInst " 259 | | Apx.LF.Proj (head, _) -> "Proj " ^ what_head head 260 | | Apx.LF.FVar _ -> "FVar" 261 | | Apx.LF.FMVar _ -> "FMVar" 262 | | Apx.LF.FPVar _ -> "FPVar" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Hole File "src/core/lfrecon.ml", lines 275-276, characters 5-19: 275 | .....let (None, d) = Context.dctxToHat cPsi in 276 | Int.LF.Shift d Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Some _, _) File "src/core/lfrecon.ml", lines 311-333, characters 8-80: 311 | ........let CTyp s_cid = mmvar1.typ in 312 | if d = d' 313 | then 314 | begin 315 | begin match c_var with ... 330 | true 331 | end 332 | else 333 | Error.raise_not_implemented "[unify_phat] ctx_var with a full context" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (_, _) File "src/core/lfrecon.ml", lines 358-359, characters 9-42: 358 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid); _ }) = Store.FCVar.get n in 359 | Store.Cid.Schema.get_schema s_cid Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=CTyp None; _ }) File "src/core/lfrecon.ml", lines 352-366, characters 2-92: 352 | ..match ctxvar with 353 | | Some (Int.LF.CtxOffset _ as phi) -> 354 | Store.Cid.Schema.get_schema (Context.lookupCtxVarSchema cD phi) 355 | | Some (Int.LF.CtxName n) -> 356 | begin ... 363 | 364 | | Some Int.LF.(CInst ({ typ = CTyp (Some s_cid); _ }, _)) -> 365 | Store.Cid.Schema.get_schema s_cid 366 | | None -> Error.raise_violation "No context variable for which we could retrieve a schema" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (CInst ({typ=CTyp None; _ }, _)) File "src/core/lfrecon.ml", lines 372-376, characters 2-44: 372 | ..function 373 | | Int.LF.Atom _ -> m 374 | | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA) -> 375 | dprint (fun () -> "eta FMV - add Lam "); 376 | Apx.LF.Lam (loc, x, addPrefix loc m tA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 385-389, characters 4-62: 385 | ....function 386 | | Int.LF.Atom _ -> (k, s) 387 | | Int.LF.PiTyp (_, tA) -> 388 | let (k', s') = go (k + 1) s tA in 389 | (k' - 1, Apx.LF.Dot (Apx.LF.Head (Apx.LF.BVar k'), s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/lfrecon.ml", lines 391-395, characters 2-18: 391 | ..match tA, s with 392 | | Int.LF.Atom _, _ -> (k, s) 393 | | Int.LF.PiTyp _, None -> 394 | let (k', s') = go k Apx.LF.Id tA in 395 | (k', Some s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiTyp (_, _), Some _) File "src/core/lfrecon.ml", lines 399-401, characters 20-71: 399 | ....................(Apx.LF.MVar (x, s)) tA = 400 | let (_, s') = etaExpSub 0 s tA in 401 | addPrefix loc (Apx.LF.Root (loc, Apx.LF.MVar (x, s'), Apx.LF.Nil)) tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Hole|BVar _|Const _|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)| FPVar (_, _)) File "src/core/lfrecon.ml", lines 406-410, characters 4-52: 406 | ....function 407 | | Int.LF.Atom _ -> (k, tS) 408 | | Int.LF.PiTyp (_, tA') -> 409 | let tN = Int.LF.Root (loc, Int.LF.BVar k, Int.LF.Nil, Plicity.explicit) in 410 | etaExpSpine (k + 1) (Int.LF.App (tN, tS)) tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/lfrecon.ml", lines 414-417, characters 4-54: 414 | ....match tA with 415 | | Int.LF.Atom _ -> tM 416 | | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') -> 417 | Int.LF.Lam (loc, x, etaExpPrefix loc (tM, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 422-424, characters 4-24: 422 | ....match h with 423 | | Int.LF.BVar x -> Int.LF.BVar (x + k - 1) 424 | | Int.LF.FVar _ -> h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 457-461, characters 4-55: 457 | ....function 458 | | Int.LF.Atom _ -> (k, tS) 459 | | Int.LF.PiTyp (_, tA') -> 460 | let tN = Apx.LF.Root (loc, Apx.LF.BVar k, Apx.LF.Nil) in 461 | etaExpApxSpine (k + 1) (Apx.LF.App (tN, tS)) tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Sigma _|TClo _) File "src/core/lfrecon.ml", lines 464-468, characters 4-57: 464 | ....match tA with 465 | | Int.LF.Atom _ -> tM 466 | | Int.LF.PiTyp ((Int.LF.TypDecl (x, _), _, _), tA') -> 467 | dprint (fun () -> "eta - add Lam "); 468 | Apx.LF.Lam (loc, x, etaExpApxPrefix loc (tM, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 613-614, characters 2-33: 613 | ..let Int.LF.TypDecl (_, Int.LF.Sigma recA) = tp in 614 | getProjIndex loc cD cPsi recA k Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 617-630, characters 2-19: 617 | ..match h with 618 | | Apx.LF.BVar k -> Apx.LF.BVar (ConvSigma.map conv_list k) 619 | 620 | | Apx.LF.Proj (Apx.LF.BVar k, p) -> 621 | let tp = ... 627 | let j = getProjIndexFromType loc cD cPsi tp p in 628 | dprintf (fun p -> p.fmt "flattenProjPat Proj Case: k = %d j = %d@\n" k j); 629 | let k' = ConvSigma.map conv_list k - j + 1 in 630 | Apx.LF.BVar k' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Proj ((Hole|Const _|MVar (_, _)|Proj (_, _)|PVar (_, _)|FVar _|FMVar (_, _)| FPVar (_, _)), _) File "src/core/lfrecon.ml", lines 637-643, characters 7-41: 637 | .......function 638 | | Apx.LF.Id -> Apx.LF.Id 639 | | Apx.LF.EmptySub -> Apx.LF.EmptySub 640 | | Apx.LF.Dot (Apx.LF.Head h, s) -> 641 | let s' = go s in 642 | let h' = flattenProjPatHead loc cD h conv_list cPsi in 643 | Apx.LF.Dot (Apx.LF.Head h', s') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dot (Obj _, _) File "src/core/lfrecon.ml", lines 679-691, characters 2-38: 679 | ..match s with 680 | | Apx.LF.Id -> s 681 | 682 | | Apx.LF.EmptySub -> s 683 | ... 688 | Apx.LF.Dot (Apx.LF.Head h, flattenSub s) 689 | 690 | | Apx.LF.Dot (Apx.LF.Obj (Apx.LF.Tuple (_, tM)), s) -> 691 | flattenVarTuple tM (flattenSub s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dot (Obj (Lam (_, _, _)|Root (_, _, _)|LFHole (_, _)|Ann (_, _, _)), _) File "src/core/lfrecon.ml", lines 697-698, characters 2-77: 697 | ..function 698 | | Apx.LF.Root (_, Apx.LF.BVar k, Apx.LF.Nil) -> Apx.LF.Head (Apx.LF.BVar k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Root (_, BVar k, App (_, _)) File "src/core/lfrecon.ml", lines 827-829, characters 5-60: 827 | .....let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in 828 | let sQ = Int.LF.getType h' (typRec, S.LF.id) j in 829 | Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (x, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 822-829, characters 2-60: 822 | ..function 823 | | Apx.LF.BVar k -> Context.ctxDec cPsi k, Int.LF.BVar k 824 | | Apx.LF.Proj (h, nj) -> 825 | let (tp, h') = synHead cD loc cPsi h in 826 | let j = getProjIndexFromType loc cD cPsi tp nj in 827 | let Int.LF.TypDecl (x, Int.LF.Sigma typRec) = tp in 828 | let sQ = Int.LF.getType h' (typRec, S.LF.id) j in 829 | Int.LF.TypDecl (x, Int.LF.TClo sQ), Int.LF.Proj (h', j) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Hole|Const _|MVar (_, _)|PVar (_, _)|FVar _|FMVar (_, _)|FPVar (_, _)) File "src/core/lfrecon.ml", lines 858-867, characters 5-8: 858 | .....begin match synHead cD loc cPsi h with 859 | | (Int.LF.TypDecl (x, tA), h') -> 860 | let tA' = 861 | pruningTyp loc cD cPsi (Context.dctxToHat cPsi) 862 | (tA, S.LF.id) (Int.LF.MShift 0, ss) 863 | in 864 | ( Int.LF.DDec (cPhi, Int.LF.TypDecl (x, tA')) 865 | , Int.LF.Dot (Int.LF.Head h', s') 866 | ) 867 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypDeclOpt _, _) File "src/core/lfrecon.ml", lines 884-890, characters 2-66: 884 | ..function 885 | | Apx.LF.Typ -> Int.LF.Typ 886 | | Apx.LF.PiKind ((Apx.LF.TypDecl (x, a), depend, plicity), k) -> 887 | let tA = elTyp Pi (*cD=*)Int.LF.Empty cPsi a in 888 | let cPsi' = Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) in 889 | let tK = elKind cD cPsi' k in 890 | Int.LF.PiKind ((Int.LF.TypDecl (x, tA), depend, plicity), tK) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiKind ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 909-925, characters 2-25: 909 | ..function 910 | | Apx.LF.Atom (loc, a, s) -> 911 | let { Store.Cid.Typ.Entry.kind = tK; implicit_arguments = i; _ } = Store.Cid.Typ.get a in 912 | let s' = mkShift recT cPsi in 913 | (* let s' = S.LF.id in *) ... 922 | 923 | | Apx.LF.Sigma typRec -> 924 | let typRec' = elTypRec recT cD cPsi typRec in 925 | Int.LF.Sigma typRec' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/lfrecon.ml", lines 977-1023, characters 2-34: 977 | ..match (m, sA) with 978 | | (Apx.LF.Lam (loc, x, m), (Int.LF.PiTyp ((Int.LF.TypDecl _ as decl, _, _), tB), s)) -> 979 | (* cPsi' = cPsi, x:tA *) 980 | let cPsi' = Int.LF.DDec (cPsi, S.LF.decSub decl s) in 981 | let tM = elTerm recT cD cPsi' m (tB, S.LF.dot1 s) in ... 1020 | | (Apx.LF.LFHole (loc, m_name), tA) -> 1021 | let id = Holes.allocate () in 1022 | let name = HoleId.name_of_option m_name in 1023 | Int.LF.LFHole (loc, id, name) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _), (PiTyp ((TypDeclOpt _, _, _), _), _)) File "src/core/lfrecon.ml", lines 1081-1091, characters 9-12: 1081 | .........let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in 1082 | let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in 1083 | begin 1084 | try 1085 | Unify.unifyTyp cD cPsi sQ sP; ... 1088 | | Unify.Failure msg -> 1089 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1090 | | _ -> throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1091 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 1213-1280, characters 9-12: 1213 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.MTyp tQ, cPhi); _ }) = Store.FCVar.get u in 1214 | dprintf 1215 | begin fun p -> 1216 | p.fmt "[elTerm'] @[<v>FMV %a of type %a[%a]@,in cD_d = %a@,and cD = %a@]" 1217 | Name.pp u ... 1277 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP))) 1278 | |_ -> 1279 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), (tQ', s''), sP))) 1280 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 1476-1500, characters 9-12: 1476 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp tA, cPhi); _ }) = Store.FCVar.get p in 1477 | let d = Context.length cD - Context.length cD_d in 1478 | let (tA, cPhi) = 1479 | if d = 0 1480 | then (tA, cPhi) ... 1497 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP))) 1498 | | _ -> 1499 | raise (Check.LF.Error (loc, Check.LF.TypMismatch (cD, cPsi, (tR, S.LF.id), sQ, sP))) 1500 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 1571-1607, characters 9-12: 1571 | .........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.PTyp ((Int.LF.Sigma typRec) as tA), cPhi); _ }) = 1572 | Store.FCVar.get p 1573 | in 1574 | let d = Context.length cD - Context.length cD_d in 1575 | let (tA, cPhi) = ... 1604 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1605 | | _ -> 1606 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1607 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp (PTyp (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 1808-1813, characters 10-13: 1808 | ..........begin match S.LF.bvarSub k s'' with 1809 | | Int.LF.Head (Int.LF.BVar j) -> 1810 | Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit) 1811 | | Int.LF.Head (Int.LF.PVar (p, r')) -> 1812 | Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r' s''), tS, Plicity.explicit) 1813 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1806-1817, characters 7-10: 1806 | .......begin match h with 1807 | | Int.LF.BVar k -> 1808 | begin match S.LF.bvarSub k s'' with 1809 | | Int.LF.Head (Int.LF.BVar j) -> 1810 | Int.LF.Root (loc, Int.LF.BVar j, tS, Plicity.explicit) ... 1814 | | Int.LF.PVar (p, r) -> 1815 | Int.LF.Root (loc, Int.LF.PVar (p, S.LF.comp r s''), tS, Plicity.explicit) 1816 | (* | Int.LF.Proj (Int.LF.PVar (p, r), i) -> Int.LF.Root (loc, Int.LF) *) 1817 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1857-1879, characters 5-8: 1857 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = 1858 | try 1859 | Context.ctxSigmaDec cPsi x 1860 | with 1861 | | _ -> ... 1876 | with 1877 | | Unify.Failure msg -> 1878 | throw loc (TypMismatchElab (cD, cPsi, sP, sQ)) 1879 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 1882-1910, characters 5-8: 1882 | .....begin 1883 | match Whnf.mctxPDec cD p with 1884 | | (_, Int.LF.Sigma recA, cPsi') -> 1885 | let t' = elSub loc recT cD cPsi t Int.LF.Subst cPsi' in 1886 | let k = getProjIndex loc cD cPsi recA proj in ... 1907 | end 1908 | | (_, Int.LF.PiTyp _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantPi)) 1909 | | (_, Int.LF.Atom _, _) -> throw loc (IllTypedElab (cD, cPsi, sP, VariantAtom)) 1910 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, TClo _, _) File "src/core/lfrecon.ml", lines 1941-1951, characters 12-15: 1941 | ............begin match S.LF.bvarSub y s'' with 1942 | | Int.LF.Head (Int.LF.BVar x) -> 1943 | Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit) 1944 | | Int.LF.Head (Int.LF.PVar (p, r')) -> 1945 | Int.LF.Root ... 1948 | , tS 1949 | , Plicity.explicit 1950 | ) 1951 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Head (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1939-1959, characters 9-12: 1939 | .........begin match h with 1940 | | Int.LF.BVar y -> 1941 | begin match S.LF.bvarSub y s'' with 1942 | | Int.LF.Head (Int.LF.BVar x) -> 1943 | Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit) ... 1956 | , tS 1957 | , Plicity.explicit 1958 | ) 1959 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Const _|MMVar _|MPVar _|MVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)) File "src/core/lfrecon.ml", lines 1044-1980, characters 2-25: 1044 | ..match r with 1045 | | Apx.LF.Ann (_loc, m, a) -> 1046 | elTerm' recT cD cPsi m sP 1047 | 1048 | | Apx.LF.LFHole (location, m_name) -> ... 1977 | 1978 | | Apx.LF.Root (loc, h, _) -> 1979 | dprintf (fun p -> p.fmt "[elTerm' **] h = %s@\n" (what_head h)); 1980 | throw loc CompTypAnn Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|Tuple (_, _)) File "src/core/lfrecon.ml", lines 2102-2104, characters 5-65: 2102 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in 2103 | let (tS, sQ) = elSpine loc recT cD cPsi spine (tA, S.LF.id) in 2104 | (Int.LF.Root (loc, Int.LF.BVar x, tS, Plicity.explicit), sQ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 2159-2169, characters 5-82: 2159 | .....let Int.LF.TypDecl (_, Int.LF.Sigma recA) = Context.ctxSigmaDec cPsi x in 2160 | let k = getProjIndex loc cD cPsi recA proj in 2161 | let sA = 2162 | try 2163 | Int.LF.getType (Int.LF.BVar x) (recA, S.LF.id) k ... 2166 | throw loc (ProjNotValid (cD, cPsi, k, (Int.LF.Sigma recA, S.LF.id))) 2167 | in 2168 | let (tS, sQ) = elSpine loc recT cD cPsi spine sA in 2169 | (Int.LF.Root (loc, Int.LF.Proj (Int.LF.BVar x, k), tS, Plicity.explicit), sQ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDecl (_, (Atom (_, _, _)|PiTyp ((_, _, _), _)|TClo (_, _))) File "src/core/lfrecon.ml", lines 2276-2310, characters 11-14: 2276 | ...........let (cD_d, Int.LF.Decl { typ = Int.LF.ClTyp (Int.LF.STyp (cl0, cPhi0), cPsi0); _ }) = 2277 | Store.FCVar.get s_name 2278 | in 2279 | svar_le (cl0, cl); 2280 | let d = Context.length cD - Context.length cD_d in ... 2307 | with 2308 | | Unify.Failure msg -> 2309 | throw loc (IllTypedSubVar (cD, cPsi, cPhi)) 2310 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((MTyp _|PTyp _), _); _ }) File "src/core/lfrecon.ml", lines 2514-2516, characters 9-40: 2514 | .........let Int.LF.TypDecl (_, tA') = Context.ctxDec (Whnf.cnormDCtx (cPsi, Whnf.m_id)) x in 2515 | dprint (fun () -> "[elHead] done"); 2516 | (Int.LF.BVar x, (tA', S.LF.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 2574-2576, characters 9-59: 2574 | .........let (offset, Int.LF.ClTyp (Int.LF.MTyp tP, cPhi)) = Whnf.mctxMVarPos cD u in 2575 | let s' = elSub loc recT cD cPsi s Int.LF.Subst cPhi in 2576 | (Int.LF.MVar (Int.LF.Offset offset, s'), (tP, s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (offset, ClTyp ((PTyp _|STyp (_, _)), _)) File "src/core/lfrecon.ml", lines 2583-2585, characters 5-41: 2583 | .....let (offset, Int.LF.ClTyp (Int.LF.PTyp tA, cPhi)) = Whnf.mctxMVarPos cD p in 2584 | let s' = elSub loc recT cD cPsi s cl cPhi in 2585 | (Int.LF.PVar (offset, s'), (tA, s')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (offset, ClTyp ((MTyp _|STyp (_, _)), _)) File "src/core/lfrecon.ml", lines 2643-2674, characters 4-36: 2643 | ....match (sA, recT) with 2644 | | ((Int.LF.PiTyp ((Int.LF.TypDecl (n, tA), _, _), tB), s), Pi) -> 2645 | (* cPsi' |- tA <= typ 2646 | * cPsi |- s <= cPsi' cPsi |- tN <= [s]A 2647 | * ... 2671 | in 2672 | 2673 | let (spine', sP) = elSpineI loc recT cD cPsi spine (i - 1) (tB, Int.LF.Dot (Int.LF.Obj tN, s)) in 2674 | (Int.LF.App (tN, spine'), sP) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((PiTyp ((TypDeclOpt _, _, _), _), _), _) File "src/core/lfrecon.ml", lines 2705-2708, characters 4-25: 2705 | ....function 2706 | | Int.LF.Atom _ -> 0 2707 | | Int.LF.PiTyp (_, tB2) -> 1 + typLength tB2 2708 | | Int.LF.Sigma _ -> 0........................................................ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/lfrecon.ml", lines 2725-2732, characters 4-32: 2725 | ....match (spine, Whnf.whnfTyp sA) with 2726 | | (Apx.LF.Nil, sP) -> 2727 | (Int.LF.Nil, sP) (* errors are postponed to reconstruction phase *) 2728 | 2729 | | (Apx.LF.App (m, spine), (Int.LF.PiTyp ((Int.LF.TypDecl (_, tA), _, _), tB), s)) -> 2730 | let tM = elTerm recT cD cPsi m (tA, s) in 2731 | let (tS, sP) = elSpine loc recT cD cPsi spine (tB, Int.LF.Dot (Int.LF.Obj tM, s)) in 2732 | (Int.LF.App (tM, tS), sP) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (App (m, spine), (PiTyp ((TypDeclOpt _, _, _), _), _)) File "src/core/lfrecon.ml", lines 2741-2760, characters 4-30: 2741 | ....match (sK, recT) with 2742 | | ((Int.LF.PiKind ((Int.LF.TypDecl (n, tA), _, _), tK), s), Pi) -> 2743 | (* let sshift = mkShift recT cPsi in *) 2744 | (* let tN = Whnf.etaExpandMV Int.LF.Null (tA, s) sshift in *) 2745 | let tN = Whnf.etaExpandMV cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive in ... 2757 | Whnf.etaExpandMMV Location.ghost cD cPsi (tA, s) n S.LF.id Plicity.implicit Inductivity.not_inductive 2758 | in 2759 | let spine' = elKSpineI loc recT cD cPsi spine (i - 1) (tK, Int.LF.Dot (Int.LF.Obj tN, s)) in 2760 | Int.LF.App (tN, spine') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ((PiKind ((TypDeclOpt _, _, _), _), _), _) File "src/core/lfrecon.ml", lines 2834-2863, characters 5-32: 2834 | .....let Int.LF.TypDecl (_, tA) = Context.ctxDec cPsi x in 2835 | (* cPsi |- tA : type 2836 | * cPsi |- s' : cPsi' 2837 | *) 2838 | let ss = S.LF.invert s' in ... 2860 | in 2861 | 2862 | let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in 2863 | (Int.LF.App (tN', tS), tB') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/lfrecon.ml", lines 2824-2863, characters 2-32: 2824 | ..match (spine, sP) with 2825 | | (Apx.LF.Nil, _) -> 2826 | let ss = S.LF.invert s' in 2827 | let tQ = pruningTyp Location.ghost cD cPsi (Context.dctxToHat cPsi) sP (Int.LF.MShift 0, ss) in 2828 | (* PROBLEM: [s'][ss] [s]P is not really P; in fact [ss][s]P may not exist; ... 2860 | in 2861 | 2862 | let tN' = etaExpandHead loc (Int.LF.BVar x) tA' in 2863 | (Int.LF.App (tN', tS), tB') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (App (Root (loc, BVar x, App (_, _)), _), _) File "src/core/lfrecon.ml", lines 2943-2998, characters 5-8: 2943 | .....begin match instantiation.contents with 2944 | | None -> 2945 | begin 2946 | try 2947 | let tA = Store.FVar.get x in ... 2995 | | _ -> 2996 | throw loc (UnboundName x) 2997 | end 2998 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (IHead _|ISub _|ICtx _) File "src/core/lfrecon.ml", lines 2939-2998, characters 2-8: 2939 | ..function 2940 | | [] -> () 2941 | | ((_, Apx.LF.(Root (loc, FVar x, spine)), 2942 | Int.LF.(Inst {instantiation; typ = ClTyp (MTyp tP, cPsi); _})) :: cnstrs) -> 2943 | begin match instantiation.contents with ... 2995 | | _ -> 2996 | throw loc (UnboundName x) 2997 | end 2998 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Root (loc, FVar x, spine), Inst {instantiation=instantiation; typ=ClTyp ((PTyp _|STyp (_, _)), _); _ }):: _ File "src/core/lfrecon.ml", lines 3020-3025, characters 7-99: 3020 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) = 3021 | lookup_fcvar loc u 3022 | in 3023 | let cPhi = weakenAppropriately cD_d cPhi in 3024 | let s'' = elSub loc cPsi s cPhi in 3025 | Int.LF.(v.instantiation := Some (INorm (Root (loc, FMVar (u, s''), Nil, Plicity.explicit)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((PTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 3027-3033, characters 7-98: 3027 | .......let (cD_d, Int.LF.(Decl { typ = ClTyp (PTyp tA, cPhi); _ })) = 3028 | lookup_fcvar loc x 3029 | in 3030 | let cPhi = weakenAppropriately cD_d cPhi in 3031 | let s'' = elSub loc cPsi s cPhi in 3032 | let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in 3033 | Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD_d, Decl {typ=ClTyp ((MTyp _|STyp (_, _)), _); _ }) File "src/core/lfrecon.ml", lines 3017-3033, characters 4-98: 3017 | ....match tM, Int.LF.(v.typ) with 3018 | | Apx.LF.(Root (loc, FMVar (u, s), _nil_spine)), Int.LF.(ClTyp (MTyp _, cPsi)) -> 3019 | assert (match _nil_spine with Apx.LF.Nil -> true | _ -> false); 3020 | let (cD_d, Int.LF.(Decl { typ = ClTyp (MTyp _tP, cPhi); _ })) = 3021 | lookup_fcvar loc u ... 3030 | let cPhi = weakenAppropriately cD_d cPhi in 3031 | let s'' = elSub loc cPsi s cPhi in 3032 | let (tS, _) = elSpine loc Pibox Int.LF.(v.cD) cPsi spine (tA, s'') in 3033 | Int.LF.(v.instantiation := Some (INorm (Root (loc, FPVar (x, s''), tS, Plicity.explicit)))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Root (_, FMVar (u, s), _nil_spine), ClTyp ((PTyp _|STyp (_, _)), _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Reconstruct.cmx -c -impl src/core/reconstruct.ml) File "src/core/reconstruct.ml", lines 55-179, characters 20-41: 55 | ....................function 56 | | NotImplemented f -> 57 | Format.dprintf "@[<v 2>Not implemented:@,@[%a@]@]" 58 | f () 59 | | MCtxIllformed cD -> ... 176 | @, @[%a@]\ 177 | @]" 178 | P.(fmt_ppr_cmp_meta_obj cD l0) mC_p 179 | P.(fmt_ppr_cmp_meta_obj cD l0) mC Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: IllegalSubstMatch File "src/core/reconstruct.ml", lines 217-218, characters 2-45: 217 | ..function 218 | | Int.LF.Decl d -> Name.mk_some_name d.name Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/reconstruct.ml", lines 258-267, characters 4-26: 258 | ....match tau, n with 259 | | _, 0 -> 0 260 | | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; inductivity = Inductivity.Inductive; _ }, tau), n -> 261 | Error.raise_violation (Format.asprintf "[%s] impossible LF.Inductive" __FUNCTION__) 262 | | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Implicit; _ }, tau), n -> 263 | 1 + skip tau n (* implicits are free *) 264 | | I.TypPiBox (_, Int.LF.Decl { name = u; typ = cU; plicity = Plicity.Explicit; _ }, tau), n -> 265 | 1 + skip tau (n - 1) (* explicits pi-types cost 1 *) 266 | | I.TypArr (_, _, tau), n -> 267 | 1 + skip tau (n - 1).............................. Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypPiBox (_, DeclOpt _, _), 1) File "src/core/reconstruct.ml", lines 292-298, characters 9-92: 292 | .........let (_, Int.LF.Decl { typ = Int.LF.CTyp (Some s_cid'); _ }) = Store.FCVar.get psi in 293 | if Id.cid_schema_equal s_cid s_cid' 294 | then Int.LF.CtxVar (Int.LF.CtxName psi) 295 | else 296 | let { Store.Cid.Schema.Entry.name; schema } = Store.Cid.Schema.get s_cid in 297 | let c_var' = Int.LF.CtxName psi in 298 | Check.LF.(CtxVarMismatch (cD, c_var', name, schema) |> throw (Name.location psi)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_, Decl {typ=CTyp None; _ }) File "src/core/reconstruct.ml", lines 343-361, characters 7-10: 343 | .......let Int.LF.CTyp (Some s_cid) = Int.LF.(v.typ) in 344 | begin 345 | let cPsi = elDCtxAgainstSchema loc Lfrecon.Pibox cD cPsi s_cid in 346 | Unify.instantiateCtxVar (Int.LF.(v.instantiation), cPsi); 347 | match Context.ctxVar cPsi with ... 358 | } 359 | ) 360 | | _ -> () 361 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp None File "src/core/reconstruct.ml", lines 396-400, characters 2-23: 396 | ..match cG, k with 397 | | Int.LF.Dec (_cG', Int.Comp.CTypDecl (_, tau, _)), 1 -> 398 | Whnf.cnormCTyp (tau, Whnf.m_id) 399 | | Int.LF.Dec (cG', Int.Comp.CTypDecl (_, _tau, _)), k -> 400 | lookup cG' (k - 1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dec (cG', CTypDeclOpt _), _) File "src/core/reconstruct.ml", lines 410-416, characters 2-32: 410 | ..function 411 | | Apx.LF.Empty -> Int.LF.Empty 412 | | Apx.LF.Dec (ctx, Apx.LF.TypDecl (name, typ)) -> 413 | let ctx' = elTypDeclCtx cD ctx in 414 | let tA = Lfrecon.elTyp Lfrecon.Pi cD (Context.projectCtxIntoDctx ctx') typ in 415 | let typDecl' = Int.LF.TypDecl (name, tA) in 416 | Int.LF.Dec (ctx', typDecl') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (ctx, TypDeclOpt _) File "src/core/reconstruct.ml", lines 459-466, characters 20-5: 459 | ....................(Apx.LF.Decl (u, ctyp, plicity)) = 460 | let ctyp' = elCTyp recT cD ctyp in 461 | Int.LF.Decl 462 | { name = u 463 | ; typ = ctyp' 464 | ; plicity 465 | ; inductivity = Inductivity.not_inductive 466 | } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/reconstruct.ml", lines 519-557, characters 4-26: 519 | ....function 520 | | (Int.LF.Typ, _s) -> 521 | Int.LF.Nil 522 | 523 | | (Int.LF.(PiKind ((TypDecl (u, tA1), depend, plicity), kK), s)) -> ... 554 | (P.fmt_ppr_lf_typ cD cPsi P.l0) (Whnf.normTyp (tA1, s)) 555 | end; 556 | let tS = genSpine (kK, Int.LF.Dot (Int.LF.Obj tR, s)) in 557 | Int.LF.App (tR, tS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind ((TypDeclOpt _, _, _), _), _) File "src/core/reconstruct.ml", lines 563-575, characters 2-8: 563 | ..function 564 | | Int.LF.Atom (_, a, _) -> 565 | mgAtomicTyp cD cPsi a (Store.Cid.Typ.get a).Store.Cid.Typ.Entry.kind 566 | 567 | | Int.LF.Sigma trec -> ... 572 | Int.LF.PiTyp 573 | ( (tdecl', depend, plicity) 574 | , mgTyp cD (Int.LF.DDec (cPsi, tdecl')) tA 575 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TClo _ File "src/core/reconstruct.ml", lines 578-580, characters 2-41: 578 | ..function 579 | | Int.LF.TypDecl (x, tA) -> 580 | Int.LF.TypDecl (x, mgTyp cD cPsi tA) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypDeclOpt _ File "src/core/reconstruct.ml", lines 637-640, characters 5-18: 637 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) = 638 | Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id) 639 | in 640 | Int.LF.PObj h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Root (_, h, (App (_, _)|SClo (_, _)), _) File "src/core/reconstruct.ml", lines 647-650, characters 5-18: 647 | .....let Int.LF.Root (_, h, Int.LF.Nil, _) = 648 | Lfrecon.elTerm Lfrecon.Pibox cD cPsi' tM (tA', LF.id) 649 | in 650 | Int.LF.PObj h Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Root (_, h, (App (_, _)|SClo (_, _)), _) File "src/core/reconstruct.ml", lines 711-727, characters 2-104: 711 | ..match (s, cKt) with 712 | | (Apx.Comp.MetaNil, (Int.Comp.Ctype _, _)) -> 713 | Int.Comp.MetaNil 714 | 715 | | (Apx.Comp.MetaNil, (Int.Comp.PiKind (_, cdecl, _cK), theta)) -> ... 724 | 725 | | (Apx.Comp.MetaApp (m, s), (Int.Comp.PiKind (_, Int.LF.Decl { typ = ctyp; _ }, cK), theta)) -> 726 | let (mO, t') = elMetaObjCTyp loc cD m theta ctyp in 727 | Int.Comp.MetaApp(mO, Whnf.cnormMTyp (ctyp, theta), elMetaSpine loc cD s (cK, t'), Plicity.explicit) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (MetaApp (_, _), (PiKind (_, DeclOpt _, _), _)) File "src/core/reconstruct.ml", lines 798-803, characters 4-65: 798 | ....function 799 | | (Int.Comp.Ctype _, _t) -> Int.Comp.MetaNil 800 | | (Int.Comp.PiKind (loc', Int.LF.Decl { name = u; typ = cU; plicity; inductivity }, cK), t) -> 801 | let (mO, t') = Whnf.dotMMVar loc cD t (u, cU, plicity, inductivity) in 802 | let mS = genMetaSpine (cK, t') in 803 | Int.Comp.MetaApp (mO, Whnf.cnormMTyp (cU, t), mS, plicity) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PiKind (loc', DeclOpt _, _), _) File "src/core/reconstruct.ml", lines 830-842, characters 2-49: 830 | ..match cPsi with 831 | | Int.LF.CtxVar (Int.LF.CtxOffset psi_var) -> 832 | let (n, sW) = Whnf.mctxCDec cD psi_var in 833 | let v = 834 | let open Int.LF in ... 839 | | Int.LF.DDec (cPsi, Int.LF.TypDecl (x, tA)) -> 840 | let cPsi' = mgCtx cD' (cD, cPsi) in 841 | let tA' = mgTyp cD' cPsi' tA in 842 | Int.LF.DDec (cPsi', Int.LF.TypDecl (x, tA')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/reconstruct.ml", lines 921-939, characters 7-54: 921 | .......let Int.Comp.TypBox (_, mT) = tau_p' in 922 | dprintf 923 | begin fun p -> 924 | p.fmt "[synPatRefine] @[<v>unifying scrutinee and pattern:\ 925 | @,mC = @[%a@]\ ... 936 | (mT, Whnf.m_id) 937 | with 938 | | Unify.Failure msg -> 939 | throw loc (ImpossiblePattern (cD, mC_p, mC)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypBase (_, _, _)|TypCobase (_, _, _)|TypDef (_, _, _)|TypArr (_, _, _)| TypCross (_, T (_, _, _))|TypPiBox (_, _, _)|TypClo (_, _)|TypInd _) File "src/core/reconstruct.ml", lines 916-939, characters 4-54: 916 | ....match caseT with 917 | | DataObj -> () (* not dependent pattern matching; nothing to do *) 918 | | IndexObj (Int.Comp.(PatMetaObj (_, mC_p) | PatAnn (_, PatMetaObj (_, mC_p), _, _)), mC) -> 919 | let mC_p = Whnf.cnormMetaObj (mC_p, Whnf.m_id) in 920 | (* tau_p' _has_ to be a box type if caseT is an IndexObj *) ... 936 | (mT, Whnf.m_id) 937 | with 938 | | Unify.Failure msg -> 939 | throw loc (ImpossiblePattern (cD, mC_p, mC)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: IndexObj (PatAnn (_, (PatConst (_, _, _)|PatFVar (_, _)|PatVar (_, _)|PatTuple (_, _)| PatAnn (_, _, _, _)), _, _), _) File "src/core/reconstruct.ml", lines 1369-1376, characters 7-22: 1369 | .......match id with 1370 | | None -> true 1371 | | Some Apx.LF.Id -> true 1372 | | Some Apx.LF.EmptySub -> 1373 | let (_, cPsi, _, cPhi) = Whnf.mctxSDec cD k in 1374 | match cPhi, cPsi with 1375 | | Int.LF.Null, Int.LF.Null -> true 1376 | | _ -> false Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Some (Dot (_, _)|SVar (_, _)|FSVar (_, _)) File "src/core/reconstruct.ml", lines 1393-1416, characters 6-9: 1393 | ......let Apx.LF.MInst (Int.LF.SObj s0, Int.LF.ClTyp (Int.LF.STyp (cl, cPsi), cPhi)) = s in 1394 | let cPhi2 = Lfrecon.elDCtx Lfrecon.Pibox cD phi2 in 1395 | let s' = Lfrecon.elSub loc Lfrecon.Pibox cD cPhi2 s' cl cPhi in 1396 | let s0' = Substitution.LF.comp s0 s' in 1397 | begin match s0' with ... 1413 | else 1414 | throw loc IllegalSubstMatch 1415 | | _ -> throw loc IllegalSubstMatch 1416 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MInst (SObj s0, ClTyp ((MTyp _|PTyp _), _)) File "src/core/reconstruct.ml", lines 1421-1442, characters 5-8: 1421 | .....begin 1422 | match cpsi with 1423 | | Apx.LF.CtxVar (ctxvar) -> 1424 | let c_var = Lfrecon.elCtxVar ctxvar in 1425 | let cM = (loc', Int.LF.CObj (Int.LF.CtxVar c_var)) in ... 1439 | end 1440 | |> throw loc 1441 | end 1442 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Null|CtxHole|DDec (_, _)) File "src/core/reconstruct.ml", lines 1194-1458, characters 2-6: 1194 | ..match i with 1195 | | Apx.Comp.Var (loc, offset) -> 1196 | let tau = lookup cG offset in 1197 | dprintf 1198 | begin fun p -> ... 1455 | , ( Int.Comp.TypCross (loc, ttaus') 1456 | , C.m_id 1457 | ) 1458 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Box (_, (_, ClObj (_, Dot (Head h, (Id|Dot (_, _)|SVar (_, _)|FSVar (_, _)))))) File "src/core/reconstruct.ml", lines 1524-1600, characters 2-8: 1524 | ..match (pat, ttau) with 1525 | | (Apx.Comp.PatVar (loc, name, x), (tau, theta)) -> 1526 | let tau' = Whnf.cnormCTyp (tau, theta) in 1527 | dprintf 1528 | begin fun p -> ... 1597 | | Unify.Failure msg -> 1598 | dprint (fun () -> "Unify Error: " ^ msg); 1599 | raise (Check.Comp.Error (loc, Check.Comp.SynMismatch (cD, ttau, ttau'))) 1600 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatFVar (_, _), _) File "src/core/reconstruct.ml", lines 1603-1613, characters 2-57: 1603 | ..function 1604 | | Apx.Comp.PatAnn (loc, pat, tau) -> 1605 | let tau' = elCompTyp cD tau in 1606 | let (cG', pat') = elPatChk cD cG pat (tau', Whnf.m_id) in 1607 | (cG', Int.Comp.PatAnn (loc, pat', tau', Plicity.explicit), (tau', Whnf.m_id)) ... 1610 | let { Store.Cid.CompConst.Entry.typ = tau; _ } = Store.Cid.CompConst.get c in 1611 | dprintf (fun p -> p.fmt "[elPat] PatConst = %s@\n" (R.render_cid_comp_const c)); 1612 | let (cG1, pat_spine', ttau') = elPatSpine cD cG pat_spine (tau, Whnf.m_id) in 1613 | (cG1, Int.Comp.PatConst (loc, c, pat_spine'), ttau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PatMetaObj (_, _)|PatFVar (_, _)|PatVar (_, _, _)|PatTuple (_, _)) File "src/core/reconstruct.ml", lines 1690-1733, characters 5-8: 1690 | .....begin match ttau with 1691 | | (Int.Comp.TypCobase (_, _, _), _) -> 1692 | let { Store.Cid.CompDest.Entry.name 1693 | ; mctx = cD' 1694 | ; obs_type = tau0 ... 1730 | let (cG', pat_spine', ttau2) = elPatSpine cD cG pat_spine ttau' in 1731 | (cG', Int.Comp.PatApp (loc, pat', pat_spine'), ttau2) 1732 | (* | _ -> raise (Error (loc, TypMismatch (cD, ttau, (tau1, Whnf.m_id)))) *) 1733 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypPiBox (_, Decl {name=u; typ=cU; plicity=Explicit; _ }, _), _) File "src/core/reconstruct.ml", lines 1749-1756, characters 5-68: 1749 | .....let Int.Comp.TypBox (_, Int.LF.ClTyp (Int.LF.MTyp _tQ, cPsi_s)) = tau_s in 1750 | let cPsi = inferCtxSchema loc (cD_s, cPsi_s) (cD, psi) in 1751 | let tP = Lfrecon.elTyp (Lfrecon.Pibox) cD cPsi a in 1752 | let tau' = Int.Comp.TypBox(loc', Int.LF.ClTyp (Int.LF.MTyp tP, cPsi)) in 1753 | let ttau' = (tau', Whnf.m_id) in 1754 | let (cG', pat') = elPatChk cD Int.LF.Empty pat' ttau' in 1755 | (* Return annotated pattern? Int.Comp.PatAnn (l, pat', tau') *) 1756 | (cG', Int.Comp.PatAnn (l, pat', tau', Plicity.explicit), ttau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypBox (_, ClTyp ((PTyp _|STyp (_, _)), _)) File "src/core/reconstruct.ml", lines 1784-1801, characters 10-13: 1784 | ..........begin match mT with 1785 | | Int.LF.(MTyp (Atom _ | Sigma _ as tA))-> 1786 | let cPsi' = inferCtxSchema loc (cD_s, cPsi) (cD, psi) in 1787 | let tP' = mgTyp cD cPsi' tA in 1788 | (loc', Int.LF.ClTyp (Int.LF.MTyp tP', cPsi')) ... 1798 | fixParamTyp in check.ml, and it is only used for 1799 | coverage checking. *) 1800 | Error.raise_violation "[recPatObj'] scrutinee PTyp should be impossible" 1801 | end Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MTyp (TClo _) File "src/core/reconstruct.ml", lines 2084-2106, characters 2-5: 2084 | ..let { I.cD = cD'; cG = cG'; cIH = Int.LF.Empty } as h' = 2085 | elHypotheses h 2086 | in 2087 | dprintf 2088 | begin fun p -> ... 2103 | ( loc 2104 | , h' 2105 | , elProof cD cG label p ttau 2106 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: {cD=cD'; cG=cG'; cIH=Dec (_, WfRec (_, _, _))} File "src/core/reconstruct.ml", lines 2288-2301, characters 11-29: 2288 | ...........match k, tA' with 2289 | | Some k, Int.LF.Sigma tRec -> 2290 | (* Compute the type of the kth projection of tRec. *) 2291 | Int.LF.getType h (tRec, LF.id) k 2292 | |> Whnf.normTyp ... 2298 | A projected case #n.k is required. 2299 | *) 2300 | assert false 2301 | | None, tA' -> tA' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Some k, (Atom (_, _, _)|PiTyp (_, _)|TClo _)) File "src/core/reconstruct.ml", lines 2339-2420, characters 7-56: 2339 | .......let Int.LF.MTyp tP = cU in 2340 | let (cD', (cPsi', tR_p, tA_p), t) = 2341 | match Coverage.genObj (cD, cPsi, tP) (Int.LF.Const cid, tA, k) with 2342 | | None -> assert false 2343 | (* FIXME: throw an appropriate error ... 2417 | cD_b |- [t o t']tau <= type 2418 | *) 2419 | in 2420 | I.SplitBranch (l', (Int.LF.Empty, pat), t', hyp') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PTyp _|STyp (_, _)) File "src/core/reconstruct.ml", lines 2428-2463, characters 7-57: 2428 | .......let Int.LF.MTyp tA = cU in 2429 | let (cD', (cPsi', tM, sA), t) = 2430 | match Coverage.genBVar (cD, cPsi, tA) 1 with 2431 | | [x] -> x 2432 | | _ -> ... 2460 | let l' = `bvar in 2461 | let pb' = I.SubgoalPath.(append pb (build_meta_split i l')) in 2462 | let hyp' = elHypothetical cD_b cG_b pb' hyp ttau_b in 2463 | I.SplitBranch (l', (Int.LF.Empty, pat'), t', hyp') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (PTyp _|STyp (_, _)) File "src/core/reconstruct.ml", lines 2545-2547, characters 5-44: 2545 | .....let Some w = w in 2546 | let ctx_branches = List.map (make_ctx_branch w) bs in 2547 | I.ContextSplit (i, tau_i, ctx_branches) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/reconstruct.ml", lines 2562-2568, characters 5-17: 2562 | .....let (cD', cG', Int.LF.Empty, tau', _) = 2563 | Check.Comp.unroll cD cG Int.LF.Empty (Whnf.cnormCTyp ttau) 2564 | in 2565 | let hyp = 2566 | elHypothetical cD' cG' I.SubgoalPath.(append pb build_intros) hyp (tau', Whnf.m_id) 2567 | in 2568 | I.Intros hyp Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', cG', Dec (_, WfRec (_, _, _)), _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/html/.beluga_html.objs/byte -I src/html/.beluga_html.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Beluga -o src/core/.beluga.objs/native/beluga__Logic.cmx -c -impl src/core/logic.ml) File "src/core/logic.ml", lines 190-203, characters 4-36: 190 | ....match tN with 191 | | LF.Lam (l, n, tN') -> 192 | begin 193 | incr lR; 194 | let tM = LF.Lam (l, n, shiftNormal tN' k) in ... 200 | | LF.Clo (tN, s) -> 201 | LF.Clo (shiftNormal tN k, s) 202 | | LF.Tuple (l, tP) -> 203 | LF.Tuple (l, shiftTuple tP k) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: LFHole (_, _, _) File "src/core/logic.ml", lines 241-251, characters 4-8: 241 | ....match tA with 242 | | LF.PiTyp ((tD, _, Plicity.Implicit), tA') -> 243 | typToClause' (LF.DDec (eV, tD)) cG tA' (cS, dS, dR) 244 | | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) -> 245 | typToClause' eV (Conjunct (cG, typToGoal tA (cS, dS, dR))) ... 248 | { tHead = (Shift.shiftAtom tA (-cS, -dS, dR)) 249 | ; eVars = eV 250 | ; subGoals = cG 251 | } Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, Explicit), _) File "src/core/logic.ml", lines 297-306, characters 4-30: 297 | ....match tA with 298 | | LF.PiTyp ((tdec, _, Plicity.Implicit), tA') -> 299 | All (tdec, typToGoal tA' (cS, dS, dR + 1)) 300 | | LF.PiTyp ((LF.TypDecl (x, tA) as tdec, _, Plicity.Explicit), tB) -> 301 | Impl ((typToRes tA (cS, dS, dR), tdec), typToGoal tB (cS, dS, dR + 1)) 302 | | LF.Atom _ -> 303 | Atom (Shift.shiftAtom tA (-cS, -dS, dR)) 304 | | LF.TClo (tA, s) -> 305 | dprintf begin fun p -> p.fmt "[typToGoal] TClo" end; 306 | raise NotImplementedYet Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, Explicit), _) File "src/core/logic.ml", lines 309-315, characters 4-47: 309 | ....match tM with 310 | | LF.PiTyp ((tD, _, Plicity.Implicit), tM') -> 311 | Exists (tD, typToRes tM' (cS, dS, dR + 1)) 312 | | LF.PiTyp ((LF.TypDecl (_, tA), _, Plicity.Explicit), tB) -> 313 | And (typToGoal tA (cS, dS, dR), typToRes tB (cS + 1, dS + 1, dR + 1)) 314 | | LF.Atom _ -> 315 | Head (Shift.shiftAtom tM (-cS, -dS, dR)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, Explicit), _) File "src/core/logic.ml", lines 326-348, characters 4-34: 326 | ....match tau with 327 | | Comp.TypBox (_loc, LF.ClTyp (LF.MTyp tA, cPsi)) -> 328 | (* Invariant: tA will always be atomic in our implementation *) 329 | Box (cPsi, Atom tA, Some M) 330 | (* possibly needs to have PiBox variables shifted; ... 345 | let typ_dec = Comp.CTypDecl (name, tau1 , true) in 346 | Implies ((cr1, typ_dec), cg2) 347 | | Comp.TypBase (_, comp_cid, s) -> 348 | Atomic (comp_cid, msToAs s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: TypBox (_, CTyp _) File "src/core/logic.ml", lines 351-358, characters 4-47: 351 | ....match tau with 352 | | Comp.TypBox (_) | Comp.TypBase(_) -> 353 | Base tau 354 | | Comp.TypArr (_, tau1, tau2) -> 355 | CAnd (comptypToCompGoal tau1, comptypToCompRes tau2) 356 | | Comp.TypPiBox (_, typ_dec, tau') -> 357 | CExists (typ_dec, comptypToCompRes tau') 358 | | Comp.TypInd tau' -> comptypToCompRes tau' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)) File "src/core/logic.ml", lines 394-402, characters 4-30: 394 | ....match box with 395 | | Box (cPsi, Atom tA, Some M) -> 396 | let loc = Location.ghost in 397 | let ctyp = LF.ClTyp (LF.MTyp tA, cPsi) in 398 | Comp.TypBox (loc, ctyp) 399 | | Box (cPsi, Atom tA, Some P) -> 400 | let loc = Location.ghost in 401 | let ctyp = LF.ClTyp (LF.PTyp tA, cPsi) in 402 | Comp.TypBox (loc, ctyp) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Box (_, Atom _, None) File "src/core/logic.ml", lines 412-416, characters 4-34: 412 | ....match atomic with 413 | | Atomic (cid, aS) -> 414 | let loc = Location.ghost in 415 | let mS = asToMs aS in 416 | Comp.TypBase (loc, cid, mS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Box (_, _, _)|Implies ((_, _), _)|Forall (_, _)) File "src/core/logic.ml", lines 434-443, characters 4-10: 434 | ....match tA with 435 | | LF.Atom _ -> 436 | let u = LF.Inst (Whnf.newMMVar None (cD, cPsi, LF.TClo (tA, s)) Plicity.implicit Inductivity.not_inductive) in 437 | LF.Root (Location.ghost, LF.MVar (u, S.id), LF.Nil, Plicity.explicit) 438 | | LF.PiTyp ((LF.TypDecl (x, tA) as tD, _, _), tB) -> 439 | LF.Lam 440 | ( Location.ghost 441 | , x 442 | , etaExpand cD (LF.DDec (cPsi, S.decSub tD s)) (tB, S.dot1 s) 443 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: PiTyp ((TypDeclOpt _, _, _), _) File "src/core/logic.ml", lines 462-470, characters 4-68: 462 | ....match eV with 463 | | LF.DDec (eV', LF.TypDecl (_, tA)) -> 464 | let (s', fS') = dctxToSub cD cPsi (eV', s) fS in 465 | let tM' = etaExpand cD cPsi (tA, s') in 466 | (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS)))) 467 | | LF.Null -> (s, fS) 468 | | LF.CtxVar _ -> 469 | invalid_arg 470 | "Logic.Convert.dctxToSub: Match conflict with LF.CtxVar _." Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (eV', TypDeclOpt _) File "src/core/logic.ml", lines 475-481, characters 4-28: 475 | ....match eV with 476 | | LF.DDec (eV', LF.TypDecl (_, tA)) -> 477 | let (s', fS') = dctxToSub' cD cPsi (eV', s) fS in 478 | let tM' = etaExpand cD cPsi (tA, s') in 479 | (LF.Dot (LF.Obj tM', s'), (fun tS -> fS' (LF.App (tM', tS)))) 480 | | LF.Null -> (s, fS) 481 | | LF.CtxVar _ -> (s, fS) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DDec (eV', TypDeclOpt _) File "src/core/logic.ml", lines 500-501, characters 6-52: 500 | ......match lst with 501 | | (cPsi, k) :: lst' -> (shift lst' (-1), cPsi) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 510-513, characters 6-20: 510 | ......match dctx with 511 | | LF.DDec (dctx', _) -> find_ctxvar_offset dctx' 512 | | LF.CtxVar (LF.CtxOffset k) -> k 513 | | LF.Null -> 0 Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CtxVar (CtxName _|CInst _) File "src/core/logic.ml", lines 697-709, characters 9-47: 697 | .........(match mtyp with 698 | | LF.ClTyp (LF.MTyp _, _) -> 699 | let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in 700 | let mfront = Whnf.mmVarToMFront loc mmV mtyp in 701 | comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms)) ... 706 | comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms)) 707 | ((x, (loc, mfront)) :: xs) 708 | | LF.CTyp cid_opt -> 709 | comptypToMQuery' (tau', i-1) ms xs) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/core/logic.ml", lines 696-709, characters 9-47: 696 | .........let LF.Decl { name = x; typ = mtyp; plicity; inductivity } = mdecl in 697 | (match mtyp with 698 | | LF.ClTyp (LF.MTyp _, _) -> 699 | let mmV = Whnf.newMMVar' (Some x) (LF.Empty, mtyp) plicity inductivity in 700 | let mfront = Whnf.mmVarToMFront loc mmV mtyp in ... 706 | comptypToMQuery' (tau', i-1) (LF.MDot (mfront, ms)) 707 | ((x, (loc, mfront)) :: xs) 708 | | LF.CTyp cid_opt -> 709 | comptypToMQuery' (tau', i-1) ms xs) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: DeclOpt _ File "src/core/logic.ml", lines 1084-1094, characters 4-72: 1084 | ....match r with 1085 | | Head tH -> 1086 | fmt_ppr_typ cD cPsi ppf (tH, s) 1087 | | And (g, r') -> 1088 | fprintf ppf "%a -> %a" ... 1091 | | Exists (LF.TypDecl (_, _tA) as tD, r') -> 1092 | fprintf ppf "(∃%a. %a)" 1093 | (fmt_ppr_decl cD cPsi) (tD, s) 1094 | (fmt_ppr_res cD (LF.DDec (cPsi, S.decSub tD s))) (r', S.dot1 s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Exists (TypDeclOpt _, _) File "src/core/logic.ml", lines 1305-1332, characters 4-19: 1305 | ....match s with 1306 | | LF.Shift _ -> true 1307 | | LF.Dot (LF.Head (((LF.MMVar ((mmvar, ms'), s)) as hd)), s') -> 1308 | if uninstantiated hd then false 1309 | else check_sub s' ... 1329 | if uninstantiated hd then false 1330 | else check_sub s' 1331 | | LF.Dot (_, s') -> 1332 | check_sub s' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/logic.ml", lines 1337-1339, characters 6-48: 1337 | ......match cD with 1338 | | LF.Dec (_, LF.Decl d) when k = 1 -> d.plicity 1339 | | LF.Dec (cD', _) -> get_plicity cD' (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/logic.ml", lines 1394-1412, characters 4-30: 1394 | ....match g with 1395 | | Atom tA -> 1396 | matchAtom dPool cD (cPsi, k) (tA, s) sc (currDepth, maxDepth) 1397 | 1398 | | Impl ((r, (LF.TypDecl (x, _) as tD)), g') -> ... 1409 | So we just prove the conclusion in an extended context. *) 1410 | gSolve dPool cD (LF.DDec (cPsi, S.decSub tD s), k + 1) (g', S.dot1 s) 1411 | (fun (u, tM) -> sc (u, LF.Lam (Location.ghost, x, tM))) 1412 | (currDepth, maxDepth) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Impl ((r, TypDeclOpt _), _) File "src/core/logic.ml", lines 1444-1446, characters 17-29: 1444 | .................match cltyp with 1445 | | LF.MTyp tau -> tau 1446 | | LF.PTyp tau -> tau Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 1439-1483, characters 4-96: 1439 | ....match cD with 1440 | | LF.Empty -> raise NoSolution 1441 | | LF.Dec (cD', LF.Decl { typ = LF.CTyp _ ; _}) -> 1442 | solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal) 1443 | | LF.Dec (cD', LF.Decl { typ = LF.ClTyp (cltyp, cPsi); plicity; _ }) -> ... 1480 | end 1481 | with 1482 | | U.Failure _ -> 1483 | solve_sub_delta (cD_all, cD', k+1, cPhi, dPool) (tA, s, curr_sub) (u, s_all) (goal, s_goal) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, DeclOpt _) File "src/core/logic.ml", lines 1496-1600, characters 4-76: 1496 | ....match s with 1497 | | LF.Shift _ -> 1498 | dprintf begin fun p -> 1499 | p.fmt "[trivially_prove] s_all = %a" 1500 | (P.fmt_ppr_lf_sub cD cPhi P.l0) s_all ... 1597 | with 1598 | | U.Failure _ | NoSolution -> raise NoSolution) 1599 | | LF.Dot (_, s') -> 1600 | trivially_prove s' s_all cD (goal, cPhi, s_goal) dPool u (curr_sub+1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (EmptySub|Undefs|SVar (_, _, _)|FSVar (_, _)|MSVar (_, _)) File "src/core/logic.ml", lines 2260-2263, characters 4-25: 2260 | ....match cG with 2261 | | LF.Dec (cG', Comp.CTypDecl (name, _, _)) when k = 1 -> name 2262 | | LF.Dec (cG', Comp.CTypDecl (name, _, _)) -> 2263 | get_name (k-1) cG' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG', CTypDeclOpt _) File "src/core/logic.ml", lines 2337-2340, characters 4-21: 2337 | ....match cdecl with 2338 | | Comp.CTypDecl (_, tau, _) -> 2339 | let cc = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in 2340 | (cc, k, Boxed) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/logic.ml", lines 2416-2417, characters 9-57: 2416 | .........let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in 2417 | update cP' cG' (prependToCPool cc' cP_ret) (k+1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Full (Full (_, (_, _, _)), (_, _, _)) File "src/core/logic.ml", lines 2407-2418, characters 6-33: 2407 | ......match (cP, cG) with 2408 | | (Emp, LF.Dec(cG', cdecl)) -> 2409 | let cc = decToCC cdecl 1 in 2410 | let cP_ret' = shift_cPool cP_ret 1 in 2411 | update cP cG' (prependToCPool cc cP_ret') (k+1) ... 2415 | if pos' = k then unbox cc else cc in 2416 | let (Full (Emp, cc')) = cnormCPool (Full (Emp, cc), ms) in 2417 | update cP' cG' (prependToCPool cc' cP_ret) (k+1) 2418 | | (Emp, LF.Empty) -> cP_ret Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Full (cP', cc), Empty) File "src/core/logic.ml", lines 2470-2476, characters 6-36: 2470 | ......match tA with 2471 | | LF.Atom (l, cid, sp) -> 2472 | LF.Atom (l, cid, remove_sp sp) 2473 | | LF.PiTyp ((td, depend, plicity), tA') -> 2474 | LF.PiTyp ((td, depend, plicity), remove_typ tA) 2475 | | LF.TClo (tA', s) -> 2476 | LF.TClo (remove_typ tA', s) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Sigma _ File "src/core/logic.ml", lines 2495-2508, characters 6-49: 2495 | ......match tau with 2496 | | Comp.TypBase (l, cid, mS) -> 2497 | Comp.TypBase (l, cid, remove_mS mS) 2498 | | Comp.TypBox (l, mT) -> 2499 | (match mT with ... 2505 | | Comp.TypArr (l, tau1, tau2) -> 2506 | Comp.TypArr (l, remove_tau tau1, remove_tau tau2) 2507 | | Comp.TypPiBox (l, cdec, tau') -> 2508 | Comp.TypPiBox (l, cdec, remove_tau tau') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)|TypInd _) File "src/core/logic.ml", lines 2731-2741, characters 9-52: 2731 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in 2732 | let mmvar' = 2733 | Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity 2734 | mmvar.LF.inductivity in 2735 | let norm = LF.Root (noLoc, ... 2738 | let mf = LF.ClObj (dctx_hat, LF.MObj norm) in 2739 | let x = Comp.M ((noLoc, mf), mT) in 2740 | let (xs, sub) = gen_new_ih_args lst' ys in 2741 | (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/logic.ml", lines 2752-2762, characters 9-52: 2752 | .........let LF.ClTyp (LF.MTyp tA, cPsi) = mmvar.LF.typ in 2753 | let mmvar' = 2754 | Whnf.newMMVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity 2755 | mmvar.LF.inductivity in 2756 | let norm = LF.Root (noLoc, LF.MMVar ... 2759 | let mf = LF.ClObj (dctx_hat, LF.MObj norm) in 2760 | let x = Comp.M ((noLoc, mf), mT) in 2761 | let (xs, sub) = gen_new_ih_args lst' ys in 2762 | (x :: xs, (mmvar.LF.mmvar_id, norm) :: sub) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((PTyp _|STyp (_, _)), _) File "src/core/logic.ml", lines 2771-2779, characters 9-58: 2771 | .........let LF.ClTyp (LF.PTyp tA, cPsi) = mmvar.LF.typ in 2772 | let mmvar' = 2773 | Whnf.newMPVar None (mmvar.LF.cD, cPsi, tA) mmvar.LF.plicity 2774 | mmvar.LF.inductivity in 2775 | let hd = LF.MPVar ((mmvar', LF.MShift 0), LF.Shift 0) in 2776 | let mf = LF.ClObj (dctx_hat, LF.PObj hd) in 2777 | let x = Comp.M ((noLoc, mf), mT) in 2778 | let (xs, sub) = gen_new_ih_args lst' ys in 2779 | (x :: xs, (mmvar.LF.mmvar_id, LF.head hd) :: sub) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp ((MTyp _|STyp (_, _)), _) File "src/core/logic.ml", lines 2842-2843, characters 11-44: 2842 | ...........let (LF.Root(_, hd',_,_)) = sub_norm (LF.head hd) sub in 2843 | (loc, LF.ClObj (dh, LF.PObj hd')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/logic.ml", lines 2920-2921, characters 6-42: 2920 | ......match i with 2921 | | Comp.Var(l, k) -> Comp.Var(l, k+1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Fn (_, _, _)|Fun (_, _)|MLam (_, _, _, _)|Tuple (_, T (_, _, _))| LetTuple (_, _, (T (_, _, _), _))|Let (_, _, (_, _))|Box (_, (_, _), _)| Case (_, _, _, _)|Impossible (_, _)|Hole (_, _, _)|DataConst (_, _)| Obs (_, _, _, _)|Const (_, _)|Apply (_, _, _)|MApp (_, _, (_, _), _, _)| AnnBox (_, (_, _), _)) File "src/core/logic.ml", lines 2977-2978, characters 6-37: 2977 | ......match cltyp with 2978 | | LF.MTyp tA | LF.PTyp tA -> tA Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 2998-3001, characters 6-58: 2998 | ......match cG_a with 2999 | | [] -> false 3000 | | (Comp.CTypDecl (name2, _ ,_), _, _, _, _, _) :: cG_a' -> 3001 | (Name.equal name name2) || (old_split name cG_a') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (CTypDeclOpt _, _, _, _, _, _)::_ File "src/core/logic.ml", lines 3005-3009, characters 6-37: 3005 | ......match cG_a with 3006 | | (Comp.CTypDecl (name2, _ ,_), _, con, _, thm, bool) :: cG_a' 3007 | when Name.equal name name2 -> 3008 | (con, thm, bool) 3009 | | x :: xs -> find_split name xs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3013-3065, characters 6-30: 3013 | ......match (cG, cPool) with 3014 | | (LF.Dec(cG', 3015 | ((Comp.CTypDecl (name, Comp.TypBox 3016 | (_, LF.ClTyp (cltyp, cPsi)), _wf)) 3017 | as cdecl)), ... 3062 | | (LF.Dec (cG', _), Full (cPool', _)) -> 3063 | update (cG', cPool', ret) 3064 | 3065 | | (LF.Empty, Emp) -> ret Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Dec (cG', _), Emp) File "src/core/logic.ml", lines 3084-3087, characters 6-38: 3084 | ......match cD_a with 3085 | | (LF.Decl d, Option.Some _, _, _, _, _) as x :: cD_a' 3086 | when Name.equal d.name n -> x 3087 | | _ :: cD_a' -> retrieve n cD_a' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3103-3108, characters 21-41: 3103 | .....................match cltyp with 3104 | | LF.MTyp tA -> 3105 | LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), 3106 | LF.Nil, Plicity.explicit)) 3107 | | LF.PTyp tA -> 3108 | LF.PObj (LF.PVar (1, S.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3094-3118, characters 9-31: 3094 | .........let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) = 3095 | retrieve name cD_a in 3096 | let (con', bool') = 3097 | if bool then 3098 | try ... 3115 | let tdecl' = Whnf.cnormCDecl (tdecl, LF.MShift 1) in 3116 | let x = (tdecl', Some i, con', 1, thm, bool') in 3117 | let ret' = shift_cD_a ret in 3118 | update cD' (x :: ret') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (DeclOpt _, _, _, _, _, _) File "src/core/logic.ml", lines 3126-3131, characters 21-41: 3126 | .....................match cltyp with 3127 | | LF.MTyp tA -> 3128 | LF.MObj (LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), 3129 | LF.Nil, Plicity.explicit)) 3130 | | LF.PTyp tA -> 3131 | LF.PObj (LF.PVar (1, S.id)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3090-3157, characters 6-23: 3090 | ......match cD with 3091 | | LF.Dec (cD', ((LF.Decl { name; typ = ((LF.ClTyp (cltyp, cPsi)) as ctyp) 3092 | ; plicity = Plicity.Explicit; _ }) as tdecl)) 3093 | when is_in name cD_a -> 3094 | let (LF.Decl { typ = tau2; _ }, _, con, pos, thm, bool) = ... 3154 | let x = (tdecl', None, con, 1, None, bool) in 3155 | let ret' = shift_cD_a ret in 3156 | update cD' (x :: ret') 3157 | | LF.Empty -> ret Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (_, DeclOpt _) File "src/core/logic.ml", lines 3243-3251, characters 6-44: 3243 | ......match cG_a with 3244 | | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, true) :: cG_a' 3245 | when Name.equal name n -> 3246 | (tau, i, thm_var, 3247 | (Comp.CTypDecl (n, tau, _wf), Some i, no, k, thm_var, false) 3248 | :: cG_a', k) 3249 | | x :: cG_a' -> 3250 | let (tau, i, thm_var, cG_a'', pos) = remove_var name cG_a' in 3251 | (tau, i, thm_var, x :: cG_a'', pos) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3256-3264, characters 6-39: 3256 | ......match cD_a with 3257 | | (LF.Decl d, Option.Some i, no, k, thm_var, true) 3258 | :: cD_a' when Name.equal name d.name -> 3259 | let tau = Comp.TypBox(noLoc, d.typ) in 3260 | (tau, i, thm_var, (LF.Decl d, Option.some i, no, k, thm_var, false) 3261 | :: cD_a') 3262 | | x :: cD_a' -> 3263 | let (tau, i, thm_var, cD_a'') = remove_mvar name cD_a' in 3264 | (tau, i, thm_var, x :: cD_a'') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3330-3332, characters 9-42: 3330 | .........let (Some n) = find_mvar k cD_a in 3331 | let (tau, i, thm_var, cD_a') = remove_mvar n cD_a in 3332 | (tau, i, thm_var, cD_a', cG_a, 0). Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 3358-3365, characters 8-50: 3358 | ........match cG_a with 3359 | | (((Comp.CTypDecl (name2, _ ,_)) as cdecl), _, con, _, thm, bool) 3360 | :: cG_a' when Name.equal name name2 -> 3361 | (cdecl, con, thm, bool, cG_a') 3362 | | x :: xs -> 3363 | let (tdecl, num, thm_var, bool, cG_a') = 3364 | remove xs in 3365 | (tdecl, num, thm_var, bool, x :: cG_a') Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 3374-3399, characters 7-25: 3374 | .......(match cltyp with 3375 | | LF.MTyp tA -> 3376 | let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.not_inductive } in 3377 | let norm = 3378 | LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in ... 3396 | let i = Comp.AnnBox(noLoc, mobj, ctyp) in 3397 | let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool) 3398 | :: (shift_cD_a cD_a) in 3399 | (cD_a', cG_a')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3403-3428, characters 7-25: 3403 | .......(match cltyp with 3404 | | LF.MTyp _ -> 3405 | let tdecl' = LF.Decl { name; typ = ctyp; plicity = Plicity.explicit; inductivity = Inductivity.inductive } in 3406 | let norm = 3407 | LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), LF.Nil, Plicity.explicit) in ... 3425 | let i = Comp.AnnBox(noLoc, mobj, ctyp) in 3426 | let cD_a' = (tdecl', Some i, num_con, 1, thm_var, bool) 3427 | :: (shift_cD_a cD_a) in 3428 | (cD_a', cG_a')) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3489-3525, characters 7-31: 3489 | .......(match cltyp with 3490 | | LF.MTyp _ -> 3491 | let norm = 3492 | LF.Root (noLoc, LF.MVar (LF.Offset 1, S.id), 3493 | LF.Nil, plicity) in ... 3522 | | false -> None 3523 | in 3524 | (tdecl', Some i, consOfLFTyp cltyp, 1, thm_var, true) 3525 | :: (shift_cD_a cD_a)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: STyp (_, _) File "src/core/logic.ml", lines 3646-3651, characters 4-46: 3646 | ....match cG with 3647 | | LF.Empty -> cPool 3648 | | LF.Dec (cG', Comp.CTypDecl (_, tau, _)) -> 3649 | let clause = {cHead = tau; cMVars = LF.Empty; cSubGoals = Proved} in 3650 | let cc = (clause, (lengthCPool cPool) + 1, Boxed) in 3651 | gen_cPool cG' (prependToCPool cc cPool) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG', CTypDeclOpt _) File "src/core/logic.ml", lines 3898-3900, characters 6-46: 3898 | ......match cD with 3899 | | LF.Dec (_, LF.Decl { name; _ }) when k = 1 -> name 3900 | | LF.Dec (cD', _) -> find_name cD' (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/logic.ml", lines 4037-4047, characters 22-64: 4037 | ......................match mobj with 4038 | | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _)) 4039 | | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) -> 4040 | mmvar.LF.instantiation := 4041 | Some (LF.INorm (LF.Root (noLoc, ... 4044 | | LF.PObj LF.MPVar ((mmvar, _), _) 4045 | | LF.PObj LF.MMVar ((mmvar, _), _) -> 4046 | mmvar.LF.instantiation := 4047 | Some (LF.IHead (LF.MVar (LF.Offset k, LF.Shift 0))) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MObj (Root (_, (BVar _|Const _|MVar _|PVar _|AnnH (_, _)|Proj (_, _)|FVar _|FMVar _| FPVar _|HClo (_, _, _)|HMClo (_, _)), _, _)) File "src/core/logic.ml", lines 4051-4057, characters 6-26: 4051 | ......match ih_args with 4052 | | (Comp.M ((_, LF.ClObj (_, ((LF.PObj hd) as mobj))), _)) :: xs -> 4053 | if Solver.uninstantiated hd then mobj else grab xs 4054 | | (Comp.M ((_, LF.ClObj (_, ((LF.MObj (LF.Root (_,hd,_,_))) as mobj))), _)) 4055 | :: xs-> 4056 | if Solver.uninstantiated hd then mobj else grab xs 4057 | | _ :: xs -> grab xs Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] File "src/core/logic.ml", lines 4060-4064, characters 14-56: 4060 | ..............match mobj with 4061 | | LF.MObj (LF.Root (_, LF.MMVar ((mmvar, _), _), _, _)) 4062 | | LF.MObj (LF.Root (_, LF.MPVar ((mmvar, _), _), _, _)) 4063 | | LF.PObj LF.MPVar ((mmvar, _), _) 4064 | | LF.PObj LF.MMVar ((mmvar, _), _) -> mmvar.LF.typ... Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MObj (Root (_, (BVar _|Const _|MVar (_, _)|PVar (_, _)|AnnH (_, _)|Proj (_, _)| FVar _|FMVar (_, _)|FPVar (_, _)|HClo (_, _, _)| HMClo (_, (({instantiation=_; constraints=_; _ }, _), _))), _, _)) File "src/core/logic.ml", lines 4079-4090, characters 6-88: 4079 | ......let Some cid = thm_cid in 4080 | let i = Comp.Const(noLoc, cid) in 4081 | let sc' = (fun e -> sc (Comp.Case (noLoc, 4082 | Comp.PragmaNotCase, 4083 | Whnf.cnormExp (fS i, LF.MShift 0), ... 4087 | pattern, 4088 | LF.MShift 0, 4089 | e)]))) in 4090 | find_all_occurances dec (cG', cPool', cG_a') sc' cD thm_cid thm lst' cIH' cIH_all' Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 4126-4128, characters 21-40: 4126 | .....................match (currDepth, maxDepth) with 4127 | | (Some k, None) -> (k, 0) 4128 | | (Some k1, Some k2) -> (k1, k2) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (None, _) File "src/core/logic.ml", lines 4290-4311, characters 9-83: 4290 | .........let Some cid = thm_cid in 4291 | let i = arg_builder (Comp.Const(noLoc, cid)) in 4292 | let (ms', fS) = 4293 | C.mctxToMSub cD (cMVars, LF.MShift 0) (fun s -> s) in 4294 | let ms'' = rev_ms ms' 0 in ... 4308 | with 4309 | | U.Failure _ | DepthReached _ | End_Of_Search -> 4310 | focusIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc 4311 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (thm, td, thm_cid)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 4595-4597, characters 6-57: 4595 | ......match cG with 4596 | | LF.Dec (_, Comp.CTypDecl (_, tau, _)) when k = 1 -> tau 4597 | | LF.Dec (cG', _) -> find_comp_assumption cG' (k-1) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/core/logic.ml", lines 4895-4905, characters 10-31: 4895 | ..........let [(cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, 4896 | ms_b, pat, td_b, cid)] = blist in 4897 | 4898 | invert_all (cD, cD_a) (cG, cPool, cG_a) cIH_b 4899 | (normCompGoal (cg, ms)) ms_b ... 4902 | [Comp.Branch(noLoc, LF.Empty, (cD, cG), pat, 4903 | ms_b, e)]))) 4904 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 4905 | (ind, thm, td, cid) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD, cD_b, cD_a, cG, cG_p, cG_a, cIH_b, cPool, ms_b, pat, td_b, cid):: (_, _, _, _, _, _, _, _, _, _, _, _)::_ File "src/core/logic.ml", lines 4976-5015, characters 7-35: 4976 | .......let Atom tA = g' in 4977 | let cltyp = LF.MTyp tA in 4978 | let sc' = 4979 | (fun (cPsi', tM) -> 4980 | let dctx_hat = Context.dctxToHat cPsi' in ... 5012 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5013 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5014 | (ind, thm, td, thm_cid); 5015 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Impl ((_, _), _)|All (_, _)) File "src/core/logic.ml", lines 4975-5015, characters 7-35: 4975 | .......let Box(cPsi',g',_) = cg' in 4976 | let Atom tA = g' in 4977 | let cltyp = LF.MTyp tA in 4978 | let sc' = 4979 | (fun (cPsi', tM) -> ... 5012 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5013 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5014 | (ind, thm, td, thm_cid); 5015 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _)) File "src/core/logic.ml", lines 5024-5029, characters 11-51: 5024 | ...........let LF.Root (_,hd,_,_) = tM in 5025 | let dctx_hat = Context.dctxToHat cPsi' in 5026 | let mfront = LF.ClObj (dctx_hat, LF.PObj hd) in 5027 | let meta_obj = (noLoc, mfront) in 5028 | let meta_typ = LF.ClTyp (cltyp, cPsi') in 5029 | sc (Comp.Box(noLoc, meta_obj, meta_typ)). Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) File "src/core/logic.ml", lines 5020-5060, characters 7-34: 5020 | .......let Atom tA = g' in 5021 | let cltyp = LF.PTyp tA in 5022 | let sc' = 5023 | (fun (cPsi', tM) -> 5024 | let LF.Root (_,hd,_,_) = tM in ... 5057 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5058 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5059 | (ind, thm, td, thm_cid); 5060 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Impl ((_, _), _)|All (_, _)) File "src/core/logic.ml", lines 5019-5060, characters 7-34: 5019 | .......let Box(_,g',_) = cg' in 5020 | let Atom tA = g' in 5021 | let cltyp = LF.PTyp tA in 5022 | let sc' = 5023 | (fun (cPsi', tM) -> ... 5057 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5058 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5059 | (ind, thm, td, thm_cid); 5060 | raise End_Of_Search) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (Implies ((_, _), _)|Forall (_, _)|Atomic (_, _)) File "src/core/logic.ml", lines 4969-5085, characters 4-30: 4969 | ....match cg with 4970 | | Box (cPsi, g, Some M) -> 4971 | (* We apply the msub here in case there are FREE MVARS that 4972 | appear from unify *) 4973 | let ms = Whnf.cnormMSub ms in ... 5082 | split (cD, cD_a) (cG, cPool, cG_a) cIH cg ms sc 5083 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) 5084 | (ind, thm, td, thm_cid); 5085 | raise End_Of_Search Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Box (_, _, None) File "src/core/logic.ml", lines 5223-5246, characters 7-36: 5223 | .......let Some cid = thm_cid in 5224 | let cIH_all' = Total.shift cIH_all in 5225 | let cIH'' = Total.shift cIH' in 5226 | let i = Comp.Const(noLoc, cid) in 5227 | (try ... 5243 | | End_Of_Search | DepthReached _ -> 5244 | blurIH (cD, cD_a) (cG, cPool, cG_a) (cIH', cIH_all) cg ms sc 5245 | (cDepth, mDepth, currSplitDepth, maxSplitDepth) 5246 | (ind, thm, td, thm_cid)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5263-5286, characters 7-32: 5263 | .......let Some cid = thm_cid in 5264 | let i = Comp.Const(noLoc, cid) in 5265 | let cIH'' = Total.shift cIH' in 5266 | let cIH_all' = Total.shift cIH_all in 5267 | let exp = Whnf.cnormExp (fS i, LF.MShift 0) in ... 5283 | in 5284 | blurIH (cD, cD_a) (cG', cPool', cG_a') (cIH'', cIH_all') cg ms sc' 5285 | (cDepth, mDepth, currSplitDepth, maxSplitDepth) 5286 | (ind, thm, td, thm_cid) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5393-5394, characters 6-46: 5393 | ......match cp with 5394 | | (_cc, _k, Boxed) -> (_cc, _k, Unboxed) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (_cc, _k, Unboxed) File "src/core/logic.ml", lines 5441-5458, characters 10-49: 5441 | ..........match r with 5442 | | LF.ClTyp (LF.MTyp _, cPsi) -> 5443 | let tM = 5444 | LF.Root 5445 | ( noLoc ... 5455 | LF.ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, LF.MShift 1)), 5456 | LF.PObj hd) 5457 | | LF.CTyp _ -> 5458 | LF.CObj (LF.CtxVar (LF.CtxOffset 1)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/core/logic.ml", lines 5549-5554, characters 7-37: 5549 | .......let Comp.CTypDecl (name, _, _) = tdecl in 5550 | let sc' = (fun e -> sc (Comp.Fn (noLoc, name, e))) in 5551 | let cIH' = Total.shift cIH in 5552 | uniform_right (cD, cD_a) (cG', cPool', cG_a') cIH' cg' ms sc' 5553 | (currDepth, maxDepth, currSplitDepth, maxSplitDepth) (k+1) 5554 | (ind, thm, td, thm_cid) blur Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTypDeclOpt _ File "src/core/logic.ml", lines 5587-5590, characters 24-19: 5587 | ........................match sp with 5588 | | 0 -> Some 0 (* No splitting. *) 5589 | | 1 -> None (* Only inversions. *) 5590 | | 2 -> Some 1........................ Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: 3 File "src/core/logic.ml", lines 5795-5798, characters 9-40: 5795 | .........let Some iterm = !(mmvar.LF.instantiation) in 5796 | (match iterm with 5797 | | LF.IHead hd -> hd 5798 | | _ -> raise NotImplementedYet) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5800-5803, characters 9-40: 5800 | .........let Some iterm = !(mmvar.LF.instantiation) in 5801 | (match iterm with 5802 | | LF.IHead hd -> hd 5803 | | _ -> raise NotImplementedYet) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5805-5808, characters 9-40: 5805 | .........let Some iterm = !(mmvar.LF.instantiation) in 5806 | (match iterm with 5807 | | LF.IHead hd -> hd 5808 | | _ -> raise NotImplementedYet) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5834-5835, characters 11-16: 5834 | ...........let Some iterm = !(mmvar.LF.instantiation) in 5835 | iterm Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5837-5838, characters 11-16: 5837 | ...........let Some iterm = !(mmvar.LF.instantiation) in 5838 | iterm Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5840-5841, characters 11-16: 5840 | ...........let Some iterm = !(mmvar.LF.instantiation) in 5841 | iterm Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: None File "src/core/logic.ml", lines 5847-5849, characters 9-33: 5847 | .........(match remove_head_mvars hd with 5848 | | LF.IHead hd -> LF.Root (l, hd, remove_spine_mvars spine, p) 5849 | | LF.INorm norm -> norm) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (ISub _|ICtx _) File "src/core/logic.ml", lines 6066-6076, characters 8-33: 6066 | ........match tau with 6067 | | Comp.TypPiBox (_, LF.Decl { inductivity = Inductivity.Inductive; _ }, _) -> Option.some n 6068 | | Comp.TypPiBox (_, _, tau') -> ind_index tau' (n + 1) 6069 | | Comp.TypInd (_) -> Option.some n 6070 | | Comp.TypBox (_, _) -> Option.none ... 6073 | let ind = ind_index tau1 n in 6074 | match ind with 6075 | | Option.None -> ind_index tau2 (n + 1) 6076 | | Option.Some _ -> ind Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (TypCobase (_, _, _)|TypDef (_, _, _)|TypCross (_, _)|TypClo (_, _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -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/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/native/harpoon__Translate.cmx -c -impl src/harpoon/translate.ml) File "src/harpoon/translate.ml", lines 25-26, characters 5-58: 25 | .....let LF.Dec (cG', Comp.CTypDecl (x, _, _)) = cG' in 26 | (cD', cG', fun e -> Comp.Fn (Location.ghost, x, f e)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cG', CTypDeclOpt _) File "src/harpoon/translate.ml", lines 29-33, characters 5-6: 29 | .....let LF.Dec (cD', LF.Decl { name = x; plicity; _ }) = cD' in 30 | ( cD' 31 | , cG' 32 | , fun e -> Comp.MLam (Location.ghost, x, f e, plicity) 33 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Dec (cD', DeclOpt _) File "src/harpoon/translate.ml", lines 56-68, characters 10-40: 56 | ..........match cU with 57 | | (ClTyp ( (MTyp _ | PTyp _), cPsi )) -> 58 | let tM = 59 | Root 60 | ( Location.ghost ... 65 | in 66 | ClObj (Context.dctxToHat (Whnf.cnormDCtx (cPsi, t)), MObj tM) 67 | | CTyp _ -> 68 | CObj (CtxVar (CtxOffset 1)) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: ClTyp (STyp (_, _), _) File "src/harpoon/translate.ml", lines 131-149, characters 5-8: 131 | .....let (cD', cG', LF.Empty, tau', t) = 132 | Check.Comp.unroll cD cG LF.Empty tau 133 | in 134 | (* cD' |- t : cD 135 | is a weakening meta-substitution *) ... 146 | P.(fmt_ppr_cmp_gctx cD_orig l0) cG_orig 147 | end; 148 | assert (Whnf.convMCtx cD_orig cD && Whnf.convGCtx (cG_orig, Whnf.m_id) (cG, t)); 149 | f e Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: (cD', cG', Dec (_, WfRec (_, _, _)), _, _) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -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/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/native/harpoon__Tactic.cmx -c -impl src/harpoon/tactic.ml) File "src/harpoon/tactic.ml", lines 227-231, characters 7-55: 227 | .......match cG with 228 | | LF.Dec (cG', Comp.CTypDecl (n, tA, _)) when k == 1 -> 229 | LF.Dec (cG', Comp.CTypDecl (n, tA, false)) 230 | | LF.Dec (cG', decl) -> 231 | LF.Dec (unmark_inductive_var cG' (k-1), decl) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: Empty File "src/harpoon/tactic.ml", lines 453-468, characters 12-72: 453 | ............let LF.(MObj (Root (_, h, _, _))) = tM in 454 | match h with 455 | | LF.PVar (n, s) -> `pvar None 456 | | LF.(Proj (PVar (n, s), k)) -> `pvar (Some k) 457 | | LF.Const cid -> `ctor cid ... 465 | P.(fmt_ppr_cmp_pattern cD cG l0) pat 466 | end; 467 | Error.raise_violation 468 | "[make_meta_branch] head neither pvar (proj) nor const" Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: MObj (Lam (_, _, _)|LFHole (_, _, _)|Clo (_, _)|Tuple (_, _)) (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -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/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -open Harpoon -o src/harpoon/.harpoon.objs/native/harpoon__Automation.cmx -c -impl src/harpoon/automation.ml) File "src/harpoon/automation.ml", lines 107-115, characters 7-10: 107 | .......let LF.ClTyp (_, cPsi) as cU = Whnf.cnormMTyp (cU, t) in 108 | let head = MVar (Offset idx, S.LF.id) in 109 | let clobj = MObj (Root (Location.ghost, head, Nil, Plicity.explicit)) in 110 | let psi_hat = Context.dctxToHat cPsi in 111 | Box 112 | ( Location.ghost 113 | , (Location.ghost, ClObj (psi_hat, clobj)) 114 | , cU 115 | ) Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: CTyp _ (cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-df83ab6bac7636b86500ffb68a3aa2e9/target/bin/ocamlopt.opt -w -40 -g -I src/harpoon/.main.eobjs/byte -I src/harpoon/.main.eobjs/native -I ../_private/default/.pkg/dune-build-info/target/lib/dune-build-info -I ../_private/default/.pkg/extlib/target/lib/extlib -I ../_private/default/.pkg/gen/target/lib/gen -I ../_private/default/.pkg/linenoise/target/lib/linenoise -I ../_private/default/.pkg/sedlex/target/lib/sedlex -I src/core/.beluga.objs/byte -I src/core/.beluga.objs/native -I src/harpoon/.harpoon.objs/byte -I src/harpoon/.harpoon.objs/native -I src/optparser/.optparser.objs/byte -I src/optparser/.optparser.objs/native -I src/parser/.beluga_parser.objs/byte -I src/parser/.beluga_parser.objs/native -I src/support/.support.objs/byte -I src/support/.support.objs/native -I src/syntax/.beluga_syntax.objs/byte -I src/syntax/.beluga_syntax.objs/native -I src/syntax/synapx/.synapx.objs/byte -I src/syntax/synapx/.synapx.objs/native -I src/syntax/syncom/.syncom.objs/byte -I src/syntax/syncom/.syncom.objs/native -I src/syntax/synext/.synext.objs/byte -I src/syntax/synext/.synext.objs/native -I src/syntax/synint/.synint.objs/byte -I src/syntax/synint/.synint.objs/native -intf-suffix .ml -no-alias-deps -o src/harpoon/.main.eobjs/native/dune__exe__Main.cmx -c -impl src/harpoon/main.ml) File "src/harpoon/main.ml", lines 15-39, characters 2-71: 15 | ..let (arg0 :: args) = Array.to_list Sys.argv in 16 | let open Options in 17 | let options = parse_arguments args in 18 | 19 | if Debug.is_enabled () then Debug.init (Option.some "debug.out"); ... 36 | Repl.start 37 | (disambiguation_states, last_disambiguation_state) 38 | (indexing_states, last_indexing_state) 39 | options.save_back options.test_stop options.path all_paths stubs io Warning 8 [partial-match]: this pattern-matching is not exhaustive. Here is an example of a case that is not matched: [] 2025-03-03 14:30.46 ---> saved as "810307b6205a383872085490a7ae8d647ce3483d94e97484fa561b5401df1aaa" Job succeeded