aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/patternops.mli
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-01-24 13:07:11 +0100
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-02-14 17:30:44 +0100
commit5db9588098f9f02d923c21f3914e3c671b10728f (patch)
tree7e19fc592e6fc80f8bc5f849d23faa6a4dee4d09 /pretyping/patternops.mli
parentaaf75678a13d9c26341e762ab8e56b957cf4c771 (diff)
Quick hack to fix interpretation of patterns in Ltac.
Interpretation of patterns in Ltac is essentially flawed. It does a roundtrip through the pretyper, and relies on suspicious flagging of evars in the evar source field to recognize original pattern holes. After the pattern_of_constr function was made evar-insensitive, it expanded evars that were solved by magical side-effects of the pretyper, even if it hadn't been asked to perform any heuristics. We backtrack on the insensitivity of the pattern_of_constr function. This may have a performance penalty in other dubious code, e.g. hints. In the long run we should get rid of the pattern_of_constr function.
Diffstat (limited to 'pretyping/patternops.mli')
-rw-r--r--pretyping/patternops.mli2
1 files changed, 1 insertions, 1 deletions
diff --git a/pretyping/patternops.mli b/pretyping/patternops.mli
index 93d2c859a..5694d345c 100644
--- a/pretyping/patternops.mli
+++ b/pretyping/patternops.mli
@@ -39,7 +39,7 @@ val head_of_constr_reference : Evd.evar_map -> constr -> global_reference
a pattern; currently, no destructor (Cases, Fix, Cofix) and no
existential variable are allowed in [c] *)
-val pattern_of_constr : Environ.env -> Evd.evar_map -> constr -> constr_pattern
+val pattern_of_constr : Environ.env -> Evd.evar_map -> Constr.constr -> constr_pattern
(** [pattern_of_glob_constr l c] translates a term [c] with metavariables into
a pattern; variables bound in [l] are replaced by the pattern to which they