aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping
diff options
context:
space:
mode:
authorGravatar delahaye <delahaye@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-01-03 15:55:07 +0000
committerGravatar delahaye <delahaye@85f007b7-540e-0410-9357-904b9bb8a0f7>2001-01-03 15:55:07 +0000
commit191aa5a3a923654d01c35a145a63166a28a2b886 (patch)
tree41a0e44ac92c3eebd8a4a032d3641ecafcc59383 /pretyping
parentb20e1be71f9b5c5585b214e30b5042676fa6cd46 (diff)
Rattrapage d'erreur pour le Case + Eval Compute in pour Definition
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@1232 85f007b7-540e-0410-9357-904b9bb8a0f7
Diffstat (limited to 'pretyping')
-rw-r--r--pretyping/pattern.ml6
1 files changed, 4 insertions, 2 deletions
diff --git a/pretyping/pattern.ml b/pretyping/pattern.ml
index 4b94fe8b4..d1566419c 100644
--- a/pretyping/pattern.ml
+++ b/pretyping/pattern.ml
@@ -181,8 +181,10 @@ let matches_core convert pat c =
| PCase (_,a1,br1), IsMutCase (_,_,a2,br2) ->
(* On ne teste pas le prédicat *)
- array_fold_left2 (sorec stk) (sorec stk sigma a1 a2)
- br1 br2
+ if (Array.length br1) = (Array.length br2) then
+ array_fold_left2 (sorec stk) (sorec stk sigma a1 a2) br1 br2
+ else
+ raise PatternMatchingFailure
(* À faire *)
| PFix f0, IsFix f1 when f0 = f1 -> sigma
| PCoFix c0, IsCoFix c1 when c0 = c1 -> sigma