aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-10-03 14:25:12 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-10-03 14:37:24 +0200
commit8a26545845dc885d181486188b9a0ca4c15f51d6 (patch)
tree0b9bb6cdbbddf9791027bf3c0234aa28c9e524b1 /pretyping
parent17b19d2b94680c9e312e44fdc512c6a8d8749db0 (diff)
Fixing #3623 (unbound evars in types in a call to "change with").
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/patternops.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/pretyping/patternops.ml b/pretyping/patternops.ml
index dc7aa848c..8c553f613 100644
--- a/pretyping/patternops.ml
+++ b/pretyping/patternops.ml
@@ -144,7 +144,7 @@ let pattern_of_constr env sigma t =
Evar (evk,args as ev) ->
(match snd (Evd.evar_source evk sigma) with
Evar_kinds.MatchingVar (true,id) ->
- ctx := (id,None,existential_type sigma ev)::!ctx;
+ ctx := (id,None,Evarutil.nf_evar sigma (existential_type sigma ev))::!ctx;
Some id
| _ -> None)
| _ -> None
@@ -159,7 +159,7 @@ let pattern_of_constr env sigma t =
| Evar (evk,ctxt as ev) ->
(match snd (Evd.evar_source evk sigma) with
| Evar_kinds.MatchingVar (b,id) ->
- ctx := (id,None,existential_type sigma ev)::!ctx;
+ ctx := (id,None,Evarutil.nf_evar sigma (existential_type sigma ev))::!ctx;
assert (not b); PMeta (Some id)
| Evar_kinds.GoalEvar -> PEvar (evk,Array.map (pattern_of_constr env) ctxt)
| _ -> PMeta None)