aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics/inv.ml
diff options
context:
space:
mode:
authorGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-06-12 17:53:35 +0000
committerGravatar herbelin <herbelin@85f007b7-540e-0410-9357-904b9bb8a0f7>2010-06-12 17:53:35 +0000
commita97decb77b2084a3b84c5135f5bae2dbbb5ace26 (patch)
treecdaf12b9b4b4470ed561871f238a6fd8d4526907 /tactics/inv.ml
parentdeec843772d392f71806c011351fa6d4f551115d (diff)
Fixed bug #2135 (second-order unification was raising cryptic message)
- made the example work (a call to whd_meta was missing) - replaced the internal error messages of w_unify_to_subterm_list into user-understandable messages - incidentally fixed the meaning of whd_meta (which now takes an evd) and meta_name (which now does what it means and do not treat differently the instantiated metas) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@13122 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics/inv.ml')
-rw-r--r--tactics/inv.ml5
1 files changed, 3 insertions, 2 deletions
diff --git a/tactics/inv.ml b/tactics/inv.ml
index e732a31c4..140ddf8f4 100644
--- a/tactics/inv.ml
+++ b/tactics/inv.ml
@@ -45,8 +45,9 @@ let collect_meta_variables c =
let check_no_metas clenv ccl =
if occur_meta ccl then
- let metas = List.filter (fun na -> na<>Anonymous)
- (List.map (Evd.meta_name clenv.evd) (collect_meta_variables ccl)) in
+ let metas = List.filter (fun m -> not (Evd.meta_defined clenv.evd m))
+ (collect_meta_variables ccl) in
+ let metas = List.map (Evd.meta_name clenv.evd) metas in
errorlabstrm "inversion"
(str ("Cannot find an instantiation for variable"^
(if List.length metas = 1 then " " else "s ")) ++