]> matita.cs.unibo.it Git - helm.git/commitdiff
Bug fixed: one case of too many arguments was not detected and used to diverge.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 31 Jul 2009 13:07:53 +0000 (13:07 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 31 Jul 2009 13:07:53 +0000 (13:07 +0000)
helm/software/components/ng_refiner/nCicRefiner.ml

index 10881fa3490723013c706afd77ba8ce7f5a63076..0926db84081896b0717d086e5d2814857c4a4fb9 100644 (file)
@@ -506,10 +506,12 @@ and eat_prods rdb ~localise force_ty metasenv subst context expty orig_t orig_he
       | C.Match (_,_,C.Meta _,_) 
       | C.Match (_,_,C.Appl (C.Meta _ :: _),_) 
       | C.Appl (C.Const (NReference.Ref (_, NReference.Fix _)) :: _) ->
+          too_many_args := true;
           raise (Uncertain (lazy (localise orig_he, Printf.sprintf
             ("The term %s is here applied to %d arguments but expects " ^^
             "only %d arguments") (NCicPp.ppterm ~metasenv ~subst ~context he)
-            (List.length args) (List.length args_so_far))))
+            (List.length args + List.length args_so_far)
+            (List.length args_so_far))))
       | ty ->
           let metasenv, subst, newhead, newheadty = 
             too_many_args := true;