aboutsummaryrefslogtreecommitdiff
path: root/proofs
diff options
context:
space:
mode:
authorherbelin2005-12-17 21:13:48 +0000
committerherbelin2005-12-17 21:13:48 +0000
commitae6c95a3755fc3a9434bcc9fdd81b7c69baa8280 (patch)
tree695244819d00b4816223e572c7867ca21efa9758 /proofs
parentcea2061080d540c0507192eca1887ea4b502680d (diff)
Création d'un type d'erreur RecursionSchemeError distinct de InductiveError et suite correction bug #1028
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@7660 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'proofs')
-rw-r--r--proofs/logic.ml15
1 files changed, 6 insertions, 9 deletions
diff --git a/proofs/logic.ml b/proofs/logic.ml
index 26848802e2..ee9959a695 100644
--- a/proofs/logic.ml
+++ b/proofs/logic.ml
@@ -46,19 +46,16 @@ exception RefinerError of refiner_error
open Pretype_errors
-let catchable_exception = function
- | Util.UserError _ | TypeError _ | RefinerError _
+let rec catchable_exception = function
+ | Stdpp.Exc_located(_,e) -> catchable_exception e
+ | Util.UserError _ | TypeError _
+ | RefinerError _ | Indrec.RecursionSchemeError _
+ | Nametab.GlobalizationError _ | PretypeError (_,VarNotFound _)
(* unification errors *)
| PretypeError(_,(CannotUnify _|CannotGeneralize _|NoOccurrenceFound _|
- CannotUnifyBindingType _|NotClean _))
- | Stdpp.Exc_located(_,PretypeError(_,(CannotUnify _|CannotGeneralize _|
- NoOccurrenceFound _ | CannotUnifyBindingType _|NotClean _)))
- | Stdpp.Exc_located(_,(Util.UserError _ | TypeError _ | RefinerError _ |
- Nametab.GlobalizationError _ | PretypeError (_,VarNotFound _)
- | Indtypes.InductiveError (Indtypes.NotAllowedCaseAnalysis _ )))-> true
+ CannotUnifyBindingType _|NotClean _)) -> true
| _ -> false
-
(* Tells if the refiner should check that the submitted rules do not
produce invalid subgoals *)
let check = ref false