Building on eumache
(from ocaml/opam:debian-unstable)
2025-10-20 14:29.06 ---> 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-10-20 14:29.06 ---> 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 5bf570252bd9fee71938b828ca0b86573c1e3355"))
2025-10-20 14:29.06 ---> using "5d9060f4a091feeded40d31aa9202099f5985b23d65db7fc416d6b6624552bb7" 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.
2025-10-20 14:29.06 ---> using "7dfd67279a0b6c96fe3527b7ac492da4aa9f97941af43ad023e8984d8100dde1" 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-10-20 14:29.06 ---> using "6ba1779ff563f84aad6908d484bb6ae03fe7ffe694160991857360b2f3eaa64b" from cache
/: (run (network host)
(shell "opam update --depexts"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian unstable InRelease [207 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-10-20-0805.15-F-2025-10-18-0804.35.pdiff [93.9 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2025-10-20-0805.15-F-2025-10-18-0804.35.pdiff [93.9 kB]
- Fetched 364 kB in 2s (154 kB/s)
- Reading package lists...
-
2025-10-20 14:29.06 ---> using "2f5f96d286f8e5dc01501845b1238607e5d9a37acd135d2ae2b154e667fe15ed" 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.20.2
The following actions will be performed:
=== install 1 package
- install dune 3.20.2 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.20.2 (cached)
-> installed dune.3.20.2
Done.
# To update the current shell environment, run: eval $(opam env)
2025-10-20 14:29.06 ---> using "06f603b2fb01421741bd6845403aeb349b6e235f7d882db02b1c7bb9fdfa62c1" 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"))
############### 21.3%
######################################################################## 100.0%
dune x86_64-unknown-linux-musl was installed successfully to ~/.local/bin/dune
# 1.7%
## 4.0%
### 5.0%
#### 5.6%
#### 6.7%
###### 8.5%
###### 9.6%
####### 10.9%
######## 12.3%
########## 14.0%
########### 15.3%
########### 16.2%
############ 17.2%
############## 20.0%
################ 22.6%
################## 25.2%
################### 27.5%
##################### 29.7%
####################### 32.2%
######################### 34.8%
########################## 37.5%
############################ 39.9%
############################## 42.3%
################################ 44.9%
################################## 47.8%
#################################### 50.6%
###################################### 53.0%
####################################### 55.4%
######################################### 57.6%
########################################## 59.4%
########################################### 60.2%
########################################### 60.6%
########################################### 61.0%
############################################ 61.4%
############################################ 61.7%
############################################ 62.0%
############################################# 62.5%
############################################# 63.5%
############################################## 64.9%
############################################### 66.6%
################################################# 68.6%
################################################## 70.2%
################################################### 71.9%
#################################################### 73.5%
##################################################### 74.8%
####################################################### 76.8%
######################################################### 79.4%
########################################################## 81.9%
############################################################ 84.3%
############################################################## 86.9%
################################################################ 89.3%
################################################################# 91.5%
################################################################### 93.6%
#################################################################### 95.6%
##################################################################### 97.2%
###################################################################### 98.6%
####################################################################### 100.0%
######################################################################## 100.0%
Revision cache was populated successfully
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-10-20 14:29.06 ---> using "d6e8a8aa6f1aaa7f42dab207addc01726271c7f23c8e6002e4b1bf2ea64105c2" 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 100 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.3 [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.20.2 [required by sexp]
- install dune-configurator 3.20.2 [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.11.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.6 [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.14.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 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.1.0 [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.3 (cached)
-> retrieved base_bigstring.v0.17.0 (cached)
-> retrieved base_quickcheck.v0.17.0 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved bin_prot.v0.17.0-1 (cached)
-> retrieved capitalization.v0.17.0 (cached)
-> retrieved core.v0.17.1 (cached)
-> installed conf-g++.1.0
-> retrieved core_kernel.v0.17.0 (cached)
-> retrieved core_unix.v0.17.1 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved cstruct.6.2.0 (cached)
-> retrieved expect_test_helpers_core.v0.17.0 (cached)
-> retrieved faraday.0.8.2 (cached)
-> retrieved fieldslib.v0.17.0 (cached)
-> retrieved fmt.0.11.0 (cached)
-> retrieved gel.v0.17.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 csvfields.v0.17.0 (https://github.com/janestreet/csvfields/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved jst-config.v0.17.0 (cached)
-> retrieved num.1.6 (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 ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved parsexp.v0.17.0 (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2 (cached)
-> installed num.1.6
-> retrieved jsonaf.v0.17.0 (https://github.com/janestreet/jsonaf/archive/refs/tags/v0.17.0.tar.gz)
-> 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_expect.v0.17.2 (cached)
-> retrieved ppx_fields_conv.v0.17.0 (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 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_conv.v0.17.0 (cached)
-> retrieved ppx_sexp_message.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 re.1.14.0 (cached)
-> retrieved regex_parser_intf.v0.17.0 (cached)
-> retrieved re2.v0.17.0 (cached)
-> retrieved ppxlib.0.35.0 (cached)
-> retrieved sexp_diff.v0.17.0 (https://github.com/janestreet/sexp_diff/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved sexp_pretty.v0.17.0 (cached)
-> retrieved sexp_macro.v0.17.0 (https://github.com/janestreet/sexp_macro/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved sexplib.v0.17.0 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved sexp.v0.17.0 (https://github.com/janestreet/sexp/archive/refs/tags/v0.17.0.tar.gz)
-> 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 uutf.1.0.4 (cached)
-> retrieved topkg.1.1.0 (cached)
-> retrieved variantslib.v0.17.0 (cached)
-> retrieved sexp_select.v0.17.0 (https://github.com/janestreet/sexp_select/archive/refs/tags/v0.17.0.tar.gz)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed dune.3.20.2
-> installed jane-street-headers.v0.17.0
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed cstruct.6.2.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed re.1.14.0
-> installed ocaml-compiler-libs.v0.17.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.20.2
-> installed bigstringaf.0.10.0
-> installed sexplib.v0.17.0
-> installed faraday.0.8.2
-> installed angstrom.0.16.1
-> installed base.v0.17.3
-> 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_variants_conv.v0.17.0
-> installed ppx_typerep_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_fixed_literal.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.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_assert.v0.17.0
-> installed ppx_sexp_value.v0.17.0
-> installed ppx_sexp_message.v0.17.0
-> installed ppx_base.v0.17.0
-> installed ppx_custom_printf.v0.17.0
-> installed capitalization.v0.17.0
-> installed jst-config.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_module_timer.v0.17.0
-> installed ppx_string_conv.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 base_quickcheck.v0.17.0
-> installed ppx_log.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-10-20 14:29.06 ---> using "ab9f08076a51aec1e8935e11ec2a804a5eb8b23e48dfa3db16c12cb1bcbc7dc3" 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
- 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-10-20 14:29.06 ---> using "251babbeade7f62a9a538b3db400a86475f129e60601a281d0f84e14c02227d4" 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.3 && cd beluga.1.1.3 && 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.3 > ${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.3 > 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.3
[ERROR] Package conflict!
* No agreement on the version of ocaml-base-compiler:
- (invariant) -> ocaml-base-compiler = 5.3.0
- beluga >= 1.1.3 -> 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.3 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> dkml-base-compiler
* Incompatible packages:
- (invariant) -> ocaml-base-compiler = 5.3.0
- beluga >= 1.1.3 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants
* Missing dependency:
- beluga >= 1.1.3 -> ocamlformat = 0.25.1 -> ocaml < 5.2 -> ocaml-variants -> ocaml-beta
unmet availability conditions: 'enable-ocaml-beta-repository'
* Missing dependency:
- beluga >= 1.1.3 -> 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.3
- 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.20.2
- dune-configurator.3.20.2
- either.1.0.0
- extlib.1.8.0
- fix.20250919
- fpath.0.7.3
- gen.1.1
- linenoise.1.5.1
- menhir.20250912
- menhirCST.20250912
- menhirLib.20250912
- menhirSdk.20250912
- 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.3
- ocaml_intrinsics_kernel.v0.17.1
- ocamlbuild.0.16.1+dune
- ocamlfind.1.9.8+dune
- ocamlformat.0.25.1
- ocamlformat-lib.0.25.1
- ocp-indent.1.9.0
- omd.2.0.0~alpha4
- ounit2.2.2.7
- ppx_derivers.1.2.1
- ppxlib.0.35.0
- re.1.14.0
- result.1.5
- sedlex.3.7
- seq.base
- sexplib0.v0.17.0
- stdio.v0.17.0
- stdlib-shims.0.3.0
- stringext.1.6.0
- topkg.1.1.0
- uri.4.4.0
- uucp.17.0.0
- uunf.17.0.0
- uuseg.17.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-3).
coreutils set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 4 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 ocaml-syntax-shims.1.0.0
Downloading csexp.1.5.2
Building ocaml-syntax-shims.1.0.0
Building csexp.1.5.2
Downloading stringext.1.6.0
Building stringext.1.6.0
Downloading dune-configurator.3.20.2
Building dune-configurator.3.20.2
Downloading bigstringaf.0.10.0
Building bigstringaf.0.10.0
Downloading angstrom.0.16.1
Building angstrom.0.16.1
Downloading uri.4.4.0
Building uri.4.4.0
Downloading ppx_derivers.1.2.1
Building ppx_derivers.1.2.1
Downloading stdlib-shims.0.3.0
Building stdlib-shims.0.3.0
Downloading sexplib0.v0.17.0
Building sexplib0.v0.17.0
Downloading ocaml-compiler-libs.v0.12.4
Building ocaml-compiler-libs.v0.12.4
Downloading gen.1.1
Building gen.1.1
Downloading ppxlib.0.35.0
Building ppxlib.0.35.0
Downloading sedlex.3.7
Building sedlex.3.7
Downloading ounit2.2.2.7
Building ounit2.2.2.7
Downloading dune-build-info.3.20.2
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 ocamlbuild.0.16.1+dune
Building dune-build-info.3.20.2
Downloading topkg.1.1.0
Building topkg.1.1.0
Downloading uutf.1.0.4
Building uutf.1.0.4
Downloading uunf.17.0.0
Building uunf.17.0.0
Downloading uucp.17.0.0
Building uucp.17.0.0
Downloading omd.2.0.0~alpha4
Building omd.2.0.0~alpha4
Downloading result.1.5
Building result.1.5
Downloading astring.0.8.5
Downloading ocaml_intrinsics_kernel.v0.17.1
Building ocaml_intrinsics_kernel.v0.17.1
Building astring.0.8.5
Downloading uuseg.17.0.0
Downloading fix.20250919
Building fix.20250919
Downloading menhirLib.20250912
Downloading menhirSdk.20250912
Downloading menhirCST.20250912
Building uuseg.17.0.0
Building menhirLib.20250912
Building menhirSdk.20250912
Downloading either.1.0.0
Building either.1.0.0
Downloading ocp-indent.1.9.0
Building menhirCST.20250912
Building ocp-indent.1.9.0
Downloading ocaml-version.4.0.3
Downloading camlp-streams.5.0.1
Building ocaml-version.4.0.3
Building camlp-streams.5.0.1
Downloading re.1.14.0
Building re.1.14.0
Downloading base.v0.17.3
Building base.v0.17.3
Downloading menhir.20250912
Building menhir.20250912
Downloading fpath.0.7.3
Building fpath.0.7.3
Downloading stdio.v0.17.0
Building stdio.v0.17.0
Downloading ocamlformat-lib.0.25.1
Building ocamlformat-lib.0.25.1
Downloading ocamlformat.0.25.1
Building ocamlformat.0.25.1
Downloading linenoise.1.5.1
Building linenoise.1.5.1
Downloading cppo.1.8.0
Building cppo.1.8.0
Downloading extlib.1.8.0
Building extlib.1.8.0
Building conf-timeout.1
Downloading bisect_ppx.2.8.3
Building bisect_ppx.2.8.3
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/syntax/synint/.synint.objs/byte -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/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-a37834984883c09813c032138163cb41/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.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/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 -cmi-file src/syntax/synint/.synint.objs/byte/synint.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Erase.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Ctxsub.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Substitution.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__ConvSigma.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Context.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Subord.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Store.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Whnf.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Abstract.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Opsem.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Reconstruct.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Check.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Coverage.cmi -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-a37834984883c09813c032138163cb41/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info.3.20.2-ffee4e0197e119335a3a53af48258f49/target/lib/dune-build-info -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/linenoise.1.5.1-aa8a9ba432353bba2f9929395bb95d97/target/lib/linenoise -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/harpoon/.harpoon.objs/byte/harpoon__Translate.cmi -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-a37834984883c09813c032138163cb41/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info.3.20.2-ffee4e0197e119335a3a53af48258f49/target/lib/dune-build-info -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/linenoise.1.5.1-aa8a9ba432353bba2f9929395bb95d97/target/lib/linenoise -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/harpoon/.harpoon.objs/byte/harpoon__Automation.cmi -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-a37834984883c09813c032138163cb41/target/bin/ocamlc.opt -w -40 -g -bin-annot -I src/harpoon/.harpoon.objs/byte -I ../_private/default/.pkg/dune-build-info.3.20.2-ffee4e0197e119335a3a53af48258f49/target/lib/dune-build-info -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/linenoise.1.5.1-aa8a9ba432353bba2f9929395bb95d97/target/lib/linenoise -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/harpoon/.harpoon.objs/byte/harpoon__Tactic.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Logic.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Erase.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Order.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Substitution.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Context.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Store.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Whnf.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Subord.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Ctxsub.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__ConvSigma.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Prettyint.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Apxnorm.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Abstract.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Unify.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Opsem.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Lfcheck.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Total.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Coverage.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Interactive.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Check.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Lfrecon.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Reconstruct.cmi -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-a37834984883c09813c032138163cb41/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-a37834984883c09813c032138163cb41/target/lib/ocaml/str -I /home/opam/.cache/dune/toolchains/ocaml-base-compiler.5.1.1-a37834984883c09813c032138163cb41/target/lib/ocaml/unix -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/core/.beluga.objs/byte/beluga__Logic.cmi -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-a37834984883c09813c032138163cb41/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.3.20.2-ffee4e0197e119335a3a53af48258f49/target/lib/dune-build-info -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/linenoise.1.5.1-aa8a9ba432353bba2f9929395bb95d97/target/lib/linenoise -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/harpoon/.harpoon.objs/byte/harpoon__Translate.cmi -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-a37834984883c09813c032138163cb41/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.3.20.2-ffee4e0197e119335a3a53af48258f49/target/lib/dune-build-info -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/linenoise.1.5.1-aa8a9ba432353bba2f9929395bb95d97/target/lib/linenoise -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/harpoon/.harpoon.objs/byte/harpoon__Tactic.cmi -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-a37834984883c09813c032138163cb41/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.3.20.2-ffee4e0197e119335a3a53af48258f49/target/lib/dune-build-info -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/linenoise.1.5.1-aa8a9ba432353bba2f9929395bb95d97/target/lib/linenoise -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/harpoon/.harpoon.objs/byte/harpoon__Automation.cmi -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-a37834984883c09813c032138163cb41/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.3.20.2-ffee4e0197e119335a3a53af48258f49/target/lib/dune-build-info -I ../_private/default/.pkg/extlib.1.8.0-f1f90983ad7ec63bae2b0ea1b3d93859/target/lib/extlib -I ../_private/default/.pkg/gen.1.1-eec8112036d76756e4b8baba0cf6e884/target/lib/gen -I ../_private/default/.pkg/linenoise.1.5.1-aa8a9ba432353bba2f9929395bb95d97/target/lib/linenoise -I ../_private/default/.pkg/sedlex.3.7-fa099838e8aa58371d383f83ccb1713f/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 -cmi-file src/harpoon/.main.eobjs/byte/dune__exe__Main.cmi -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-10-20 14:37.17 ---> saved as "3465437b6aae5d7a9700e2b6473bf27edebaa5451e96206b8cc9c8d600ae9c1f"
Job succeeded