aboutsummaryrefslogtreecommitdiff
path: root/pretyping
diff options
context:
space:
mode:
authorherbelin2010-06-28 07:27:28 +0000
committerherbelin2010-06-28 07:27:28 +0000
commitf5458f9064be5cc4f645019df6519b265281a280 (patch)
treec80eaccf51c7b0a194932a1de7421a51c3db0d60 /pretyping
parent4ff602f29211792651b22d36d1ab444e6f570045 (diff)
Fixed a bug introduced in a combination in r12807 and revealed in
r13080 via a failure in CoRN (pattern_of_constr needs correct sigma). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13205 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/pattern.ml4
-rw-r--r--pretyping/pattern.mli2
2 files changed, 3 insertions, 3 deletions
diff --git a/pretyping/pattern.ml b/pretyping/pattern.ml
index 59f3cde88a..fd51f7952f 100644
--- a/pretyping/pattern.ml
+++ b/pretyping/pattern.ml
@@ -163,7 +163,7 @@ let error_instantiate_pattern id l =
++ strbrk " in pattern because the term refers to " ++ pr_enum pr_id l
++ strbrk " which " ++ str is ++ strbrk " not bound in the pattern.")
-let instantiate_pattern lvar c =
+let instantiate_pattern sigma lvar c =
let rec aux vars = function
| PVar id as x ->
(try
@@ -172,7 +172,7 @@ let instantiate_pattern lvar c =
let inst =
List.map (fun id -> mkRel (list_index (Name id) vars)) ctx in
let c = substl inst c in
- snd (pattern_of_constr Evd.empty c)
+ snd (pattern_of_constr sigma c)
with Not_found (* list_index failed *) ->
let vars =
list_map_filter (function Name id -> Some id | _ -> None) vars in
diff --git a/pretyping/pattern.mli b/pretyping/pattern.mli
index 5685f3d2c5..344a6239b8 100644
--- a/pretyping/pattern.mli
+++ b/pretyping/pattern.mli
@@ -111,7 +111,7 @@ val pattern_of_rawconstr : rawconstr ->
patvar list * constr_pattern
val instantiate_pattern :
- (identifier * (identifier list * constr)) list ->
+ Evd.evar_map -> (identifier * (identifier list * constr)) list ->
constr_pattern -> constr_pattern
val lift_pattern : int -> constr_pattern -> constr_pattern