aboutsummaryrefslogtreecommitdiffhomepage
path: root/interp
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-11-07 23:33:13 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-11-07 23:33:13 +0000
commitf3db9d5424d411205c3fdde6d5b7ef11399de691 (patch)
tree3acd5811e6d80d02e995d61ee72d79490e4ae082 /interp
parent179651bfda99fc80e150d77ce0eccb08d9c98522 (diff)
Add information of localisation when an error involving an "implicit
types" occurs. Also improved the "unexpected type" error message. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13626 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'interp')
-rw-r--r--interp/constrintern.ml2
-rw-r--r--interp/reserve.ml4
-rw-r--r--interp/reserve.mli5
3 files changed, 7 insertions, 4 deletions
diff --git a/interp/constrintern.ml b/interp/constrintern.ml
index 096437090..fad3c4910 100644
--- a/interp/constrintern.ml
+++ b/interp/constrintern.ml
@@ -315,7 +315,7 @@ let check_capture loc ty = function
let locate_if_isevar loc na = function
| RHole _ ->
(try match na with
- | Name id -> Reserve.find_reserved_type id
+ | Name id -> rawconstr_of_aconstr loc (Reserve.find_reserved_type id)
| Anonymous -> raise Not_found
with Not_found -> RHole (loc, Evd.BinderType na))
| x -> x
diff --git a/interp/reserve.ml b/interp/reserve.ml
index 3bcd6b1e7..2d36f2409 100644
--- a/interp/reserve.ml
+++ b/interp/reserve.ml
@@ -15,6 +15,7 @@ open Nameops
open Summary
open Libobject
open Lib
+open Topconstr
let reserve_table = ref Idmap.empty
@@ -81,7 +82,8 @@ let rec unloc = function
let anonymize_if_reserved na t = match na with
| Name id as na ->
(try
- if not !Flags.raw_print & unloc t = find_reserved_type id
+ if not !Flags.raw_print &
+ aconstr_of_rawconstr [] [] t = find_reserved_type id
then RHole (dummy_loc,Evd.BinderType na)
else t
with Not_found -> t)
diff --git a/interp/reserve.mli b/interp/reserve.mli
index a72aa8ec9..3bcba719c 100644
--- a/interp/reserve.mli
+++ b/interp/reserve.mli
@@ -9,7 +9,8 @@
open Util
open Names
open Rawterm
+open Topconstr
-val declare_reserved_type : identifier located -> rawconstr -> unit
-val find_reserved_type : identifier -> rawconstr
+val declare_reserved_type : identifier located -> aconstr -> unit
+val find_reserved_type : identifier -> aconstr
val anonymize_if_reserved : name -> rawconstr -> rawconstr