aboutsummaryrefslogtreecommitdiff
path: root/interp/constrintern.ml
diff options
context:
space:
mode:
authorherbelin2009-09-27 08:29:07 +0000
committerherbelin2009-09-27 08:29:07 +0000
commit09db4999b6fd09dd33ccdd423f72b86d1eb9fe86 (patch)
tree681722f782357413a7c2d65c303f0f056d7d52ab /interp/constrintern.ml
parentf99dc2691ace6a691e7fd07e580e855e7bca7b55 (diff)
Fixed error message "cannot infer the type of id" in presence of
notations for binders (the name of the notation was mistakenly taken). This happened e.g. when using Utf8.v. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12357 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp/constrintern.ml')
-rw-r--r--interp/constrintern.ml5
1 files changed, 5 insertions, 0 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml
index e49f219af3..c251ffb24f 100644
--- a/interp/constrintern.ml
+++ b/interp/constrintern.ml
@@ -240,6 +240,11 @@ let rec subst_aconstr_in_rawconstr loc interp (subst,substlist as sub) infos c =
(if lassoc then List.rev l else l) termin
with Not_found ->
anomaly "Inconsistent substitution of recursive notation")
+ | AHole (Evd.BinderType (Name id as na)) ->
+ let na =
+ try snd (coerce_to_name (fst (List.assoc id subst)))
+ with Not_found -> na in
+ RHole (loc,Evd.BinderType na)
| t ->
rawconstr_of_aconstr_with_binders loc (traverse_binder sub)
(subst_aconstr_in_rawconstr loc interp sub) subinfos t