]> matita.cs.unibo.it Git - helm.git/commitdiff
avoid assert false, just fail generating the coercion
authorEnrico Tassi <enrico.tassi@inria.fr>
Thu, 22 Jul 2010 08:03:17 +0000 (08:03 +0000)
committerEnrico Tassi <enrico.tassi@inria.fr>
Thu, 22 Jul 2010 08:03:17 +0000 (08:03 +0000)
helm/software/components/grafite_engine/nCicCoercDeclaration.ml

index 28aa0adf0b4816dbd94837371b8bd8af7f4c9eea..7fcd6a473f4595f70047f2bda5fce0b6867b68bf 100644 (file)
@@ -177,6 +177,7 @@ let fresh_uri status prefix suffix =
    diverge (mk "") 0
 ;;
 
+exception Stop;;
 
 let close_graph name t s d to_s from_d p a status =
   let c =
@@ -224,7 +225,7 @@ let close_graph name t s d to_s from_d p a status =
          let pos = 
            match p with 
            | NCic.Meta (p,_) -> pos_in_list p (List.map fst metasenv) 
-           | t -> assert false
+           | t -> raise Stop
          in
          let ty = NCicTypeChecker.typeof ~metasenv:[] ~subst:[] [] bo in
          let src,tgt = src_tgt_of_ty_cpos_arity ty pos arity in
@@ -251,7 +252,7 @@ let close_graph name t s d to_s from_d p a status =
        with 
        | NCicTypeChecker.TypeCheckerFailure _
        | NCicUnification.UnificationFailure _ 
-       | NCicUnification.Uncertain _ -> None
+       | NCicUnification.Uncertain _ | Stop -> None
      ) composites
   in
     composites