aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvblot <24938579+vblot@users.noreply.github.com>2021-09-08 13:27:56 +0200
committervblot <24938579+vblot@users.noreply.github.com>2021-09-08 13:27:56 +0200
commitb130e703876952257fe5affb65b4e221ca2b2333 (patch)
tree4bab2cdc44690b7d7ab9eb4847993f60948e3ad6
parent8f66837682683edb35131cd91dfa690e5c2dec49 (diff)
parentdf788b256509090150660bbceb0251dfa8c3b97c (diff)
downloadsmtcoq-b130e703876952257fe5affb65b4e221ca2b2333.tar.gz
smtcoq-b130e703876952257fe5affb65b4e221ca2b2333.zip
Merge remote-tracking branch 'coq-8.12' into coq-8.13
-rw-r--r--src/trace/smtAtom.ml21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/trace/smtAtom.ml b/src/trace/smtAtom.ml
index 78f2eee..3e16f6c 100644
--- a/src/trace/smtAtom.ml
+++ b/src/trace/smtAtom.ml
@@ -1343,15 +1343,18 @@ module Atom =
let rec collect_types = function
| [] -> ([],[])
| x::xs as l ->
- let ty = CoqInterface.retyping_get_type_of env sigma x in
- if Constr.iskind ty ||
- let c, _ = CoqInterface.decompose_app ty in
- CoqInterface.eq_constr c (Lazy.force cCompDec)
- then
- let (l1, l2) = collect_types xs in
- (x::l1, l2)
- else
- ([], l)
+ let (l1, l2) = collect_types xs in
+ match l1 with
+ | [] ->
+ let ty = CoqInterface.retyping_get_type_of env sigma x in
+ if Constr.iskind ty ||
+ let c, _ = CoqInterface.decompose_app ty in
+ CoqInterface.eq_constr c (Lazy.force cCompDec)
+ then
+ (x::[], xs)
+ else
+ ([], l)
+ | _ -> (x::l1, l2)
in
let (args1, args2) = collect_types args in
let c, args =