aboutsummaryrefslogtreecommitdiffhomepage
path: root/tactics
diff options
context:
space:
mode:
authorGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-03-14 17:43:06 +0000
committerGravatar letouzey <letouzey@85f007b7-540e-0410-9357-904b9bb8a0f7>2013-03-14 17:43:06 +0000
commit2f8bc98ab583a7259e167cd6bf3bce36aa33ada6 (patch)
treecaf58b012d8175f332b1d9110bfa32ba62a43cdb /tactics
parent723fb4d1220cafce811963f789a92d6f3df7f89e (diff)
Embedded exns in LtacLocated and EvaluatedError satisfy Errors.noncritical
This was apparently already the case before, but this invariant is now explicited in comments + a few asserts. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16305 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'tactics')
-rw-r--r--tactics/tacinterp.ml4
1 files changed, 3 insertions, 1 deletions
diff --git a/tactics/tacinterp.ml b/tactics/tacinterp.ml
index e52d78411..08de6cb02 100644
--- a/tactics/tacinterp.ml
+++ b/tactics/tacinterp.ml
@@ -81,8 +81,10 @@ let catch_error call_trace tac g =
[], loc, e
in
if List.is_empty call_trace & List.is_empty inner_trace then raise e
- else
+ else begin
+ assert (Errors.noncritical e); (* preserved invariant about LtacLocated *)
raise (LtacLocated(inner_trace@call_trace,loc,e))
+ end
(* Signature for interpretation: val_interp and interpretation functions *)
type interp_sign =