diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2018-06-23 12:48:08 +0200 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2018-06-23 12:48:08 +0200 |
commit | 38b180984b09840e0b1023cc441917acc77dd438 (patch) | |
tree | 789a228bc09ea801116745dff353483d22fa605c /pretyping/evarconv.ml | |
parent | f337d237c97db0b29619e15d21a022bba953a794 (diff) | |
parent | 50105b474cb2daaad997ebbd4eab096600dadcd9 (diff) |
Merge PR #7750: Handle mutual records in the kernel
Diffstat (limited to 'pretyping/evarconv.ml')
-rw-r--r-- | pretyping/evarconv.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pretyping/evarconv.ml b/pretyping/evarconv.ml index 6d08f66c1..88a91af88 100644 --- a/pretyping/evarconv.ml +++ b/pretyping/evarconv.ml @@ -984,9 +984,11 @@ and conv_record trs env evd (ctx,(h,h2),c,bs,(params,params1),(us,us2),(sk1,sk2) else UnifFailure(evd,(*dummy*)NotSameHead) and eta_constructor ts env evd sk1 ((ind, i), u) sk2 term2 = + let open Declarations in let mib = lookup_mind (fst ind) env in match mib.Declarations.mind_record with - | Some (Some (id, projs, pbs)) when mib.Declarations.mind_finite == Declarations.BiFinite -> + | PrimRecord info when mib.Declarations.mind_finite == Declarations.BiFinite -> + let (_, projs, _) = info.(snd ind) in let pars = mib.Declarations.mind_nparams in (try let l1' = Stack.tail pars sk1 in |