aboutsummaryrefslogtreecommitdiffhomepage
path: root/checker/closure.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-04-17 16:07:37 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-06-23 01:38:33 +0200
commit6007579ade085a60664e6b0d4596ff98c51aabf9 (patch)
tree58c0b5ae6c6f77b31df07e0bd906f56c23ec044a /checker/closure.ml
parentc3318ad8408b1ceb0bfd4c2bfedec63ce9324698 (diff)
Using more general information for primitive records.
This brings more compatibility with handling of mutual primitive records in the kernel.
Diffstat (limited to 'checker/closure.ml')
-rw-r--r--checker/closure.ml3
1 files changed, 2 insertions, 1 deletions
diff --git a/checker/closure.ml b/checker/closure.ml
index b9ae4daa8..2dcc1a984 100644
--- a/checker/closure.ml
+++ b/checker/closure.ml
@@ -619,7 +619,8 @@ let drop_parameters depth n argstk =
let eta_expand_ind_stack env ind m s (f, s') =
let mib = lookup_mind (fst ind) env in
match mib.mind_record with
- | Some (Some (_,projs,pbs)) when mib.mind_finite <> CoFinite ->
+ | PrimRecord info when mib.mind_finite <> CoFinite ->
+ let (_, projs, pbs) = info.(snd ind) in
(* (Construct, pars1 .. parsm :: arg1...argn :: []) ~= (f, s') ->
arg1..argn ~= (proj1 t...projn t) where t = zip (f,s') *)
let pars = mib.mind_nparams in