aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
diff options
context:
space:
mode:
authorGravatar Paul Steckler <steck@stecksoft.com>2017-09-11 14:30:48 -0400
committerGravatar Paul Steckler <steck@stecksoft.com>2017-09-11 14:30:48 -0400
commitf18899066d7c9185cfd131cae75d076c8b2a5e01 (patch)
treea93d9a513cda5e974b63a3de09f94c4dc9a89520 /tactics
parentcc94172036789cfef28007f59510b7f17df5d45d (diff)
Better error messages, fix for BZ#5723
Diffstat (limited to 'tactics')
-rw-r--r--tactics/hints.ml8
1 files changed, 6 insertions, 2 deletions
diff --git a/tactics/hints.ml b/tactics/hints.ml
index a572508d4..3ccbab874 100644
--- a/tactics/hints.ml
+++ b/tactics/hints.ml
@@ -56,7 +56,9 @@ let head_constr_bound sigma t =
| _ -> raise Bound
let head_constr sigma c =
- try head_constr_bound sigma c with Bound -> user_err Pp.(str "Bound head variable.")
+ try head_constr_bound sigma c
+ with Bound -> user_err (Pp.str "Head identifier must be a constant, section variable, \
+ (co)inductive type, (co)inductive type constructor, or projection.")
let decompose_app_bound sigma t =
let t = strip_outer_cast sigma t in
@@ -764,7 +766,9 @@ let rec nb_hyp sigma c = match EConstr.kind sigma c with
let try_head_pattern c =
try head_pattern_bound c
- with BoundPattern -> user_err Pp.(str "Bound head variable.")
+ with BoundPattern ->
+ user_err (Pp.str "Head pattern or sub-pattern must be a global constant, a section variable, \
+ an if, case, or let expression, an application, or a projection.")
let with_uid c = { obj = c; uid = fresh_key () }