Building on asteria.caelum.ci.dev (from ocaml/opam:debian-unstable) Unable to find image 'ocaml/opam:debian-unstable' locally debian-unstable: Pulling from ocaml/opam 5bfb8b57cc63: Pulling fs layer 5bfb8b57cc63: Verifying Checksum 5bfb8b57cc63: Download complete 5bfb8b57cc63: Pull complete Digest: sha256:c4b67ce89e60dc436d8d0c2ab8c32374ac9ea098ee284c206f7818aedc9b0470 Status: Downloaded newer image for ocaml/opam:debian-unstable 2025-06-02 18:54.33 ---> 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-06-02 18:54.33 ---> 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 f7c62d8b58219a7acd28190fe0201d4936b925dc")) 2025-06-02 18:54.33 ---> using "8ec8fb3b01920805c5882225a060245d1e01b7f8a58452744d80fb4d9c84a3bb" 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-06-02 18:54.33 ---> using "5056a2e943e16023d9efb7b6072ad686303918b43171b6ec17c275a75e483e0c" 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-dune' '5.3.0'")) <><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><> Switch invariant: ["ocaml-base-compiler" {= "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-dune) 2025-06-02 18:54.33 ---> using "41d02235938b3656a61bde013c8f42923117467d695b98e386543c081bf5db2a" from cache /: (run (network host) (shell "opam update --depexts")) + /usr/bin/sudo "apt-get" "update" - Get:1 http://deb.debian.org/debian unstable InRelease [208 kB] - Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB] - Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2025-06-02-1403.59-F-2025-06-01-0803.54.pdiff [20.0 kB] - Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2025-06-02-1403.59-F-2025-06-01-0803.54.pdiff [20.0 kB] - Fetched 292 kB in 1s (224 kB/s) - Reading package lists... 2025-06-02 18:54.33 ---> using "b0cd07434375db6604406f18f965a6c279255458c60838a23b112a3006dafc94" 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.19.0 The following actions will be performed: === install 1 package - install dune 3.19.0 (pinned) <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved dune.3.19.0 (cached) -> installed dune.3.19.0 Done. # To update the current shell environment, run: eval $(opam env) 2025-06-02 18:54.33 ---> using "7356a21f688af1029bba84f7d15d4839a804c28223967275a49a5188ebbd5ca3" 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")) ################################## 48.4% ######################################################################## 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-06-02 18:54.33 ---> using "088b741a9b0de263c3a24a6306c6854cf5ddcded87c6204eb385b8f376b0d0f8" from cache /: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune))) (network host) (shell "mkdir /tmp/sexp && cd /tmp/sexp && opam switch create ./ ocaml-base-compiler.5.2.1 --no-install && opam install -y sexp && cd -")) <><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><> Switch invariant: ["ocaml-base-compiler" {= "5.2.1"}] <><> 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-base-compiler.5.2.1 (cached) -> installed ocaml-base-compiler.5.2.1 -> installed ocaml-config.3 -> installed ocaml.5.2.1 -> installed base-domains.base -> installed base-nnp.base Done. # To update the current shell environment, run: eval $(opam env) The following actions will be performed: === install 101 packages - install angstrom 0.16.1 [required by jsonaf] - install async v0.17.0 [required by sexp] - install async_kernel v0.17.0 [required by async] - install async_log v0.17.0 [required by async] - install async_rpc_kernel v0.17.0 [required by async] - install async_unix v0.17.0 [required by async] - install base v0.17.2 [required by jsonaf, sexp_select] - install base_bigstring v0.17.0 [required by core] - install base_quickcheck v0.17.0 [required by core] - install bigstringaf 0.10.0 [required by angstrom, faraday] - install bin_prot v0.17.0-1 [required by core] - install capitalization v0.17.0 [required by ppx_string_conv] - install conf-g++ 1.0 [required by re2] - install core v0.17.1 [required by sexp] - install core_kernel v0.17.0 [required by sexp] - install core_unix v0.17.1 [required by sexp] - install csexp 1.5.2 [required by dune-configurator] - install cstruct 6.2.0 [required by async_unix] - install csvfields v0.17.0 [required by sexp] - install dune 3.19.0 [required by sexp] - install dune-configurator 3.19.0 [required by bigstringaf] - install expect_test_helpers_core v0.17.0 [required by core_unix] - install faraday 0.8.2 [required by jsonaf] - install fieldslib v0.17.0 [required by core] - install fmt 0.10.0 [required by cstruct] - install gel v0.17.0 [required by async_rpc_kernel] - install int_repr v0.17.0 [required by core_kernel] - install jane-street-headers v0.17.0 [required by core] - install jane_rope v0.17.0 [required by re2] - install jsonaf v0.17.0 [required by sexp] - install jst-config v0.17.0 [required by shell] - install num 1.5-1 [required by csvfields] - install ocaml-compiler-libs v0.17.0 [required by ppxlib] - install ocaml-syntax-shims 1.0.0 [required by angstrom] - install ocaml_intrinsics_kernel v0.17.1 [required by base] - install ocamlbuild 0.16.1 [required by uutf] - install ocamlfind 1.9.8 [required by uutf] - install parsexp v0.17.0 [required by sexplib] - install ppx_assert v0.17.0 [required by core] - install ppx_base v0.17.0 [required by core] - install ppx_bench v0.17.0 [required by ppx_jane] - install ppx_bin_prot v0.17.0 [required by ppx_jane] - install ppx_cold v0.17.0 [required by ppx_base] - install ppx_compare v0.17.0 [required by ppx_diff] - install ppx_custom_printf v0.17.0 [required by ppx_jane] - install ppx_derivers 1.2.1 [required by ppxlib] - install ppx_diff v0.17.0 [required by core] - install ppx_disable_unused_warnings v0.17.0 [required by ppx_jane] - install ppx_enumerate v0.17.0 [required by ppx_diff] - install ppx_expect v0.17.2 [required by ppx_jane] - install ppx_fields_conv v0.17.0 [required by ppx_jane] - install ppx_fixed_literal v0.17.0 [required by ppx_jane] - install ppx_globalize v0.17.0 [required by ppx_base] - install ppx_hash v0.17.0 [required by core] - install ppx_here v0.17.0 [required by ppx_jane] - install ppx_ignore_instrumentation v0.17.0 [required by ppx_jane] - install ppx_inline_test v0.17.0 [required by core] - install ppx_jane v0.17.0 [required by sexp] - install ppx_let v0.17.0 [required by ppx_jane] - install ppx_log v0.17.0 [required by ppx_jane] - install ppx_module_timer v0.17.0 [required by ppx_jane] - install ppx_optcomp v0.17.0 [required by core_kernel, core, async_unix] - install ppx_optional v0.17.0 [required by ppx_jane] - install ppx_pipebang v0.17.0 [required by ppx_jane] - install ppx_sexp_conv v0.17.0 [required by core] - install ppx_sexp_message v0.17.0 [required by core] - install ppx_sexp_value v0.17.0 [required by ppx_jane] - install ppx_stable v0.17.0 [required by ppx_jane] - install ppx_stable_witness v0.17.0 [required by ppx_jane] - install ppx_string v0.17.0 [required by ppx_jane] - install ppx_string_conv v0.17.0 [required by ppx_jane] - install ppx_tydi v0.17.0 [required by ppx_jane] - install ppx_typerep_conv v0.17.0 [required by ppx_jane] - install ppx_variants_conv v0.17.0 [required by ppx_jane] - install ppxlib 0.35.0 [required by ppx_diff] - install ppxlib_jane v0.17.0 [required by ppx_diff] - install protocol_version_header v0.17.0 [required by async_rpc_kernel] - install re 1.12.0 [required by expect_test_helpers_core] - install re2 v0.17.0 [required by sexp] - install regex_parser_intf v0.17.0 [required by re2] - install seq base [required by re] - install sexp v0.17.0 - install sexp_diff v0.17.0 [required by sexp] - install sexp_macro v0.17.0 [required by sexp] - install sexp_pretty v0.17.0 [required by sexp] - install sexp_select v0.17.0 [required by sexp] - install sexplib v0.17.0 [required by sexp] - install sexplib0 v0.17.0 [required by base] - install shell v0.17.0 [required by sexp] - install spawn v0.17.0 [required by shell] - install splittable_random v0.17.0 [required by core] - install stdio v0.17.0 [required by core] - install stdlib-shims 0.3.0 [required by ppxlib] - install textutils v0.17.0 [required by async, shell] - install time_now v0.17.0 [required by core] - install timezone v0.17.0 [required by async_log] - install topkg 1.0.8 [required by uutf] - install typerep v0.17.1 [required by core] - install uopt v0.17.0 [required by core_kernel] - install uutf 1.0.4 [required by textutils] - install variantslib v0.17.0 [required by core] <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved angstrom.0.16.1 (cached) -> retrieved async.v0.17.0 (cached) -> retrieved async_kernel.v0.17.0 (cached) -> retrieved async_log.v0.17.0 (cached) -> retrieved async_rpc_kernel.v0.17.0 (cached) -> retrieved async_unix.v0.17.0 (cached) -> retrieved base.v0.17.2 (cached) -> retrieved base_bigstring.v0.17.0 (cached) -> retrieved base_quickcheck.v0.17.0 (cached) -> retrieved bigstringaf.0.10.0 (cached) -> retrieved capitalization.v0.17.0 (cached) -> retrieved bin_prot.v0.17.0-1 (cached) -> retrieved core_kernel.v0.17.0 (cached) -> retrieved core.v0.17.1 (cached) -> installed conf-g++.1.0 -> retrieved core_unix.v0.17.1 (cached) -> retrieved csexp.1.5.2 (cached) -> retrieved cstruct.6.2.0 (cached) -> retrieved csvfields.v0.17.0 (cached) -> retrieved expect_test_helpers_core.v0.17.0 (cached) -> retrieved faraday.0.8.2 (cached) -> retrieved fieldslib.v0.17.0 (cached) -> retrieved gel.v0.17.0 (cached) -> retrieved fmt.0.10.0 (cached) -> retrieved int_repr.v0.17.0 (cached) -> retrieved jane-street-headers.v0.17.0 (cached) -> retrieved jane_rope.v0.17.0 (cached) -> retrieved jsonaf.v0.17.0 (cached) -> retrieved jst-config.v0.17.0 (cached) -> retrieved num.1.5-1 (cached) -> retrieved ocaml-compiler-libs.v0.17.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved parsexp.v0.17.0 (cached) -> retrieved ppx_assert.v0.17.0 (cached) -> retrieved ppx_base.v0.17.0 (cached) -> retrieved ppx_bench.v0.17.0 (cached) -> retrieved ppx_bin_prot.v0.17.0 (cached) -> retrieved ppx_cold.v0.17.0 (cached) -> retrieved ppx_compare.v0.17.0 (cached) -> retrieved ppx_custom_printf.v0.17.0 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved ppx_disable_unused_warnings.v0.17.0 (cached) -> retrieved ppx_diff.v0.17.0 (cached) -> retrieved ppx_enumerate.v0.17.0 (cached) -> retrieved ppx_fields_conv.v0.17.0 (cached) -> retrieved ppx_expect.v0.17.2 (cached) -> retrieved ppx_fixed_literal.v0.17.0 (cached) -> retrieved ppx_globalize.v0.17.0 (cached) -> retrieved ppx_hash.v0.17.0 (cached) -> retrieved ppx_here.v0.17.0 (cached) -> retrieved ppx_ignore_instrumentation.v0.17.0 (cached) -> retrieved ppx_inline_test.v0.17.0 (cached) -> retrieved ppx_jane.v0.17.0 (cached) -> retrieved ppx_let.v0.17.0 (cached) -> retrieved ppx_log.v0.17.0 (cached) -> retrieved dune.3.19.0, dune-configurator.3.19.0 (cached) -> installed num.1.5-1 -> retrieved ppx_module_timer.v0.17.0 (cached) -> retrieved ppx_optcomp.v0.17.0 (cached) -> retrieved ppx_optional.v0.17.0 (cached) -> retrieved ppx_pipebang.v0.17.0 (cached) -> retrieved ppx_sexp_message.v0.17.0 (cached) -> retrieved ppx_sexp_conv.v0.17.0 (cached) -> retrieved ppx_sexp_value.v0.17.0 (cached) -> retrieved ppx_stable.v0.17.0 (cached) -> retrieved ppx_stable_witness.v0.17.0 (cached) -> retrieved ppx_string.v0.17.0 (cached) -> retrieved ppx_string_conv.v0.17.0 (cached) -> retrieved ppx_tydi.v0.17.0 (cached) -> retrieved ppx_typerep_conv.v0.17.0 (cached) -> retrieved ppx_variants_conv.v0.17.0 (cached) -> retrieved ppxlib_jane.v0.17.0 (cached) -> retrieved protocol_version_header.v0.17.0 (cached) -> retrieved re2.v0.17.0 (cached) -> retrieved ppxlib.0.35.0 (cached) -> retrieved seq.base (cached) -> installed seq.base -> retrieved re.1.12.0 (cached) -> retrieved regex_parser_intf.v0.17.0 (cached) -> retrieved sexp.v0.17.0 (cached) -> retrieved sexp_diff.v0.17.0 (cached) -> retrieved sexp_macro.v0.17.0 (cached) -> retrieved sexp_pretty.v0.17.0 (cached) -> retrieved sexp_select.v0.17.0 (cached) -> retrieved sexplib.v0.17.0 (cached) -> retrieved sexplib0.v0.17.0 (cached) -> retrieved shell.v0.17.0 (cached) -> retrieved spawn.v0.17.0 (cached) -> retrieved splittable_random.v0.17.0 (cached) -> retrieved stdio.v0.17.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved textutils.v0.17.0 (cached) -> retrieved time_now.v0.17.0 (cached) -> retrieved timezone.v0.17.0 (cached) -> retrieved typerep.v0.17.1 (cached) -> retrieved uopt.v0.17.0 (cached) -> retrieved variantslib.v0.17.0 (cached) -> retrieved topkg.1.0.8 (cached) -> retrieved uutf.1.0.4 (cached) -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> installed topkg.1.0.8 -> installed uutf.1.0.4 -> installed fmt.0.10.0 -> installed dune.3.19.0 -> installed jane-street-headers.v0.17.0 -> installed csexp.1.5.2 -> installed cstruct.6.2.0 -> installed ocaml-compiler-libs.v0.17.0 -> installed ocaml-syntax-shims.1.0.0 -> installed ocaml_intrinsics_kernel.v0.17.1 -> installed ppx_derivers.1.2.1 -> installed re.1.12.0 -> installed sexplib0.v0.17.0 -> installed spawn.v0.17.0 -> installed stdlib-shims.0.3.0 -> installed parsexp.v0.17.0 -> installed dune-configurator.3.19.0 -> installed bigstringaf.0.10.0 -> installed sexplib.v0.17.0 -> installed faraday.0.8.2 -> installed angstrom.0.16.1 -> installed base.v0.17.2 -> installed fieldslib.v0.17.0 -> installed variantslib.v0.17.0 -> installed regex_parser_intf.v0.17.0 -> installed stdio.v0.17.0 -> installed typerep.v0.17.1 -> installed ppxlib.0.35.0 -> installed ppxlib_jane.v0.17.0 -> installed ppx_optcomp.v0.17.0 -> installed ppx_tydi.v0.17.0 -> installed ppx_cold.v0.17.0 -> installed ppx_disable_unused_warnings.v0.17.0 -> installed ppx_here.v0.17.0 -> installed ppx_stable_witness.v0.17.0 -> installed ppx_typerep_conv.v0.17.0 -> installed ppx_variants_conv.v0.17.0 -> installed ppx_fields_conv.v0.17.0 -> installed ppx_stable.v0.17.0 -> installed ppx_ignore_instrumentation.v0.17.0 -> installed ppx_pipebang.v0.17.0 -> installed ppx_enumerate.v0.17.0 -> installed ppx_globalize.v0.17.0 -> installed ppx_fixed_literal.v0.17.0 -> installed ppx_compare.v0.17.0 -> installed ppx_optional.v0.17.0 -> installed ppx_sexp_conv.v0.17.0 -> installed ppx_let.v0.17.0 -> installed ppx_hash.v0.17.0 -> installed ppx_sexp_value.v0.17.0 -> installed ppx_assert.v0.17.0 -> installed ppx_sexp_message.v0.17.0 -> installed ppx_custom_printf.v0.17.0 -> installed ppx_base.v0.17.0 -> installed jst-config.v0.17.0 -> installed capitalization.v0.17.0 -> installed sexp_pretty.v0.17.0 -> installed bin_prot.v0.17.0-1 -> installed ppx_string.v0.17.0 -> installed time_now.v0.17.0 -> installed ppx_bin_prot.v0.17.0 -> installed ppx_string_conv.v0.17.0 -> installed ppx_module_timer.v0.17.0 -> installed ppx_inline_test.v0.17.0 -> installed ppx_bench.v0.17.0 -> installed ppx_expect.v0.17.2 -> installed splittable_random.v0.17.0 -> installed ppx_log.v0.17.0 -> installed base_quickcheck.v0.17.0 -> installed ppx_jane.v0.17.0 -> installed uopt.v0.17.0 -> installed gel.v0.17.0 -> installed jane_rope.v0.17.0 -> installed jsonaf.v0.17.0 -> installed int_repr.v0.17.0 -> installed base_bigstring.v0.17.0 -> installed ppx_diff.v0.17.0 -> installed core.v0.17.1 -> installed csvfields.v0.17.0 -> installed protocol_version_header.v0.17.0 -> installed sexp_diff.v0.17.0 -> installed timezone.v0.17.0 -> installed expect_test_helpers_core.v0.17.0 -> installed core_kernel.v0.17.0 -> installed sexp_select.v0.17.0 -> installed async_kernel.v0.17.0 -> installed core_unix.v0.17.1 -> installed textutils.v0.17.0 -> installed async_rpc_kernel.v0.17.0 -> installed shell.v0.17.0 -> installed async_unix.v0.17.0 -> installed async_log.v0.17.0 -> installed async.v0.17.0 -> installed sexp_macro.v0.17.0 -> installed re2.v0.17.0 -> installed sexp.v0.17.0 Done. # To update the current shell environment, run: eval $(opam env) / 2025-06-02 18:54.33 ---> using "edcd07168de0b5baba3a3a2dda4e0217580f7714a2f2e68bf6c546dc47805c9e" 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: - arch-x86_64.1 - conf-mingw-w64-gcc-i686.1 - conf-mingw-w64-gcc-x86_64.1 - flexdll.0.44 - mingw-w64-shims.0.2.0 - ocaml.5.3.0 - ocaml-base-compiler.5.3.0 - ocaml-compiler.5.3.0 - ocaml-config.3 - ocaml-env-mingw32.1 - ocaml-env-mingw64.1 - system-mingw.1 Downloading ocaml-compiler.5.3.0 Building ocaml-compiler.5.3.0 Building ocaml-base-compiler.5.3.0 2025-06-02 18:54.33 ---> using "1a0725e47b4a8a55e887cca04acdfeaf74ecb10ef87ff7a102d5fd3e6f1249f5" 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 && if [ -f opam ]; then mv opam beluga.opam; fi && echo beluga >> /tmp/packages-in-repo && for opam in *.opam; do echo ${opam%.opam} >> /tmp/packages-in-repo; done && sed -n 's/(name \\(.*\\))/\\1/p' < dune-project | sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//' >> /tmp/packages-in-repo && while read package ; do opam show --raw ${package}.1.1.2 > ${package}.opam; done < /tmp/packages-in-repo && opam install --dry-run --with-test ./beluga.opam | sed -nE 's/(.*)- install ([^[:blank:]]*)(.*)/\\2/p' > /tmp/packages-via-opam && for opam in *.opam; do rm $opam; echo ${opam%.opam} >> /tmp/packages-locally-available; done && opam show --raw beluga.1.1.2 > beluga.opam && /tmp/sexp/_opam/bin/sexp change '(try (rewrite (package @X) OPAM-HEALTH-CHECK-DROP))' < dune-project | grep -v OPAM-HEALTH-CHECK-DROP > dune-project-no-pkg && mv dune-project dune-project-pkg && mv dune-project-no-pkg dune-project && 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 && echo beluga >> /tmp/packages-to-build && while read package ; do if grep --quiet \"^${package}\\$\" /tmp/packages-via-opam ; then echo $package >> /tmp/packages-to-build ; fi ; done < /tmp/packages-locally-available && while read package ; do opam show --raw $package > $package.opam; done < /tmp/packages-to-build && while read package ; do if [ ! -f ${package}.opam ]; then echo \"opam-version: \\\"2.0\\\"\" > ${package}.opam; fi; done < /tmp/packages-locally-available && paste -s -d , /tmp/packages-to-build > /tmp/packages-for-dune && export DUNE_CONFIG__PORTABLE_LOCK_DIR=disabled && PATH=$HOME/.local/bin:$PATH dune pkg lock || (echo \"opam-health-check: Solve failed\" && exit 1) && PATH=$HOME/.local/bin:$PATH dune show depexts 2> /tmp/depexts-from-dune && paste -s -d \" \" /tmp/depexts-from-dune > /tmp/depexts-for-apt && sudo apt-get install -y $(cat /tmp/depexts-for-apt) && grep -v dependency_hash dune.lock/lock.dune > /tmp/lock.dune && mv /tmp/lock.dune dune.lock/lock.dune && mv dune-project-pkg dune-project && PATH=$HOME/.local/bin:$PATH dune build --release --only-packages $(cat /tmp/packages-for-dune) || (echo \"opam-health-check: Build failed\" && exit 1)")) Successfully extracted to /home/opam/beluga.1.1.2 [ERROR] Package conflict! * No agreement on the version of ocaml-base-compiler: - (invariant) -> ocaml-base-compiler = 5.3.0 - beluga >= 1.1.2 -> 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 >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> dkml-base-compiler * Incompatible packages: - (invariant) -> ocaml-base-compiler = 5.3.0 - beluga >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants * Missing dependency: - beluga >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> xenbigarray unknown package * Missing dependency: - beluga >= 1.1.2 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> ocaml-beta unmet availability conditions: 'enable-ocaml-beta-repository' * Missing dependency: - beluga >= 1.1.2 -> 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.2 - 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.19.0 - dune-configurator.3.19.0 - either.1.0.0 - extlib.1.8.0 - fix.20250428 - 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.4.0.1 - 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.4 - seq.base - sexplib0.v0.17.0 - stdio.v0.17.0 - stdlib-shims.0.3.0 - stringext.1.6.0 - topkg.1.0.8 - uri.4.4.0 - uucp.16.0.0 - uunf.16.0.0 - uuseg.16.0.0 - uutf.1.0.4 - yojson.2.2.2 Reading package lists... Building dependency tree... Reading state information... coreutils is already the newest version (9.7-2). coreutils set to manually installed. 0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. 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 csexp.1.5.2 Building csexp.1.5.2 Downloading ocaml-syntax-shims.1.0.0 Building ocaml-syntax-shims.1.0.0 Downloading stringext.1.6.0 Building stringext.1.6.0 Downloading dune-configurator.3.19.0 Building dune-configurator.3.19.0 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 ppx_derivers.1.2.1 Building ppx_derivers.1.2.1 Downloading sexplib0.v0.17.0 Building sexplib0.v0.17.0 Downloading gen.1.1 Building gen.1.1 Downloading stdlib-shims.0.3.0 Building stdlib-shims.0.3.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.4 Building sedlex.3.4 Downloading ounit2.2.2.7 Building ounit2.2.2.7 Downloading dune-build-info.3.19.0 Downloading cmdliner.1.3.0 Building cmdliner.1.3.0 Downloading ocamlfind.1.9.8+dune Building ocamlfind.1.9.8+dune Downloading ocamlbuild.0.16.1+dune Building dune-build-info.3.19.0 Building ocamlbuild.0.16.1+dune Downloading topkg.1.0.8 Building topkg.1.0.8 Downloading uutf.1.0.4 Building uutf.1.0.4 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 ocaml_intrinsics_kernel.v0.17.1 Building ocaml_intrinsics_kernel.v0.17.1 Downloading camlp-streams.5.0.1 Building camlp-streams.5.0.1 Downloading uuseg.16.0.0 Building uuseg.16.0.0 Downloading astring.0.8.5 Building astring.0.8.5 Downloading result.1.5 Building result.1.5 Downloading ocp-indent.1.8.1 Downloading ocaml-version.4.0.1 Building ocaml-version.4.0.1 Downloading base.v0.17.2 Building ocp-indent.1.8.1 Downloading either.1.0.0 Building either.1.0.0 Downloading fix.20250428 Building base.v0.17.2 Building fix.20250428 Downloading re.1.12.0 Building re.1.12.0 Downloading menhirLib.20240715 Downloading menhirSdk.20240715 Downloading menhirCST.20240715 Building menhirLib.20240715 Building menhirSdk.20240715 Building menhirCST.20240715 Downloading fpath.0.7.3 Building fpath.0.7.3 Downloading menhir.20240715 Building menhir.20240715 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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-b3c3975bd8261cb529779faebd353beb/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-06-02 18:58.33 ---> saved as "35836b3dbb57154637fd4b151fea8cb38d3855b88acace635e0c5e6dfe8f519a" Job succeeded