aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/declareops.ml
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/declareops.ml')
-rw-r--r--kernel/declareops.ml8
1 files changed, 7 insertions, 1 deletions
diff --git a/kernel/declareops.ml b/kernel/declareops.ml
index 51b7b6f97..9d2382f6e 100644
--- a/kernel/declareops.ml
+++ b/kernel/declareops.ml
@@ -223,8 +223,14 @@ let subst_mind_packet sub mbp =
mind_nb_args = mbp.mind_nb_args;
mind_reloc_tbl = mbp.mind_reloc_tbl }
+let subst_mind_record sub (c, ps as r) =
+ let c' = subst_mps sub c in
+ let ps' = Array.smartmap (subst_constant sub) ps in
+ if c' == c && ps' == ps then r
+ else (c', ps')
+
let subst_mind_body sub mib =
- { mind_record = mib.mind_record ;
+ { mind_record = Option.smartmap (subst_mind_record sub) mib.mind_record ;
mind_finite = mib.mind_finite ;
mind_ntypes = mib.mind_ntypes ;
mind_hyps = (match mib.mind_hyps with [] -> [] | _ -> assert false);