aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/evarutil.ml
diff options
context:
space:
mode:
authorGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-11-06 14:52:19 +0000
committerGravatar ppedrot <ppedrot@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-11-06 14:52:19 +0000
commita09f5ba40039c0f367c320986011c2d08b953c5b (patch)
tree8e7b660793838c6c07847698ecf33ecf59c872cb /pretyping/evarutil.ml
parent84d1ea3dc63fed962757d3100122382c2e8fb4d6 (diff)
Less partial applications in Vars, as well as better memory allocation.
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@17065 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping/evarutil.ml')
-rw-r--r--pretyping/evarutil.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/pretyping/evarutil.ml b/pretyping/evarutil.ml
index 2b28c1a75..3de63c9d4 100644
--- a/pretyping/evarutil.ml
+++ b/pretyping/evarutil.ml
@@ -312,9 +312,13 @@ let push_rel_context_to_named_context env typ =
let inst_vars = List.map mkVar ids in
let inst_rels = List.rev (rel_list 0 (nb_rel env)) in
let replace_var_named_declaration id0 id (id',b,t) =
- let id' = if id_ord id0 id' = 0 then id else id' in
+ let id' = if Id.equal id0 id' then id else id' in
let vsubst = [id0 , mkVar id] in
- id', Option.map (replace_vars vsubst) b, replace_vars vsubst t
+ let b = match b with
+ | None -> None
+ | Some c -> Some (replace_vars vsubst c)
+ in
+ id', b, replace_vars vsubst t
in
let replace_var_named_context id0 id env =
let nc = Environ.named_context env in