aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-11-04 14:11:52 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-11-04 14:11:52 +0000
commitc85dcc6c7fad63ea9b2b9e4e13ca18cf3335e193 (patch)
treee3008251ee0afafe365d7433d9fc11ab649af4af /interp
parentdc794a9f98ff8a133c205169fedf536ccf721b22 (diff)
Fixing a regression wrt 8.2 when using an "ident" several times in a notation
in different scopes (backport of r13613 from 8.3 to trunk). git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13621 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp')
-rw-r--r--interp/constrintern.ml3
1 files changed, 3 insertions, 0 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml
index 18fd16279..096437090 100644
--- a/interp/constrintern.ml
+++ b/interp/constrintern.ml
@@ -264,6 +264,9 @@ let set_var_scope loc id istermvar (_,_,scopt,scopes) ntnvars =
try
let idscopes,typ = List.assoc id ntnvars in
if !idscopes <> None &
+ (* scopes have no effect on the interpretation of identifiers, hence
+ we can tolerate having a variable occurring several times in
+ different scopes: *) typ <> NtnInternTypeIdent &
make_current_scope (Option.get !idscopes)
<> make_current_scope (scopt,scopes) then
error_inconsistent_scope loc id