| (CicUnification.Uncertain msg) -> raise (Uncertain msg)
;;
-let enrich loc f exn =
+let enrich localization_tbl t f exn =
let exn' =
match exn with
RefineFailure msg -> RefineFailure (f msg)
| Uncertain msg -> Uncertain (f msg)
- | _ -> assert false
+ | _ -> assert false in
+ let loc =
+ try
+ Cic.CicHash.find localization_tbl t
+ with Not_found ->
+ (* prerr_endline ("!!! NOT LOCALIZED: " ^ CicPp.ppterm t); *)
+ assert false
in
- match loc with
- None -> raise exn'
- | Some loc -> raise (HExtlib.Localized (loc,exn'))
+ raise (HExtlib.Localized (loc,exn'))
let relocalize localization_tbl oldt newt =
try
CicMetaSubst.ppterm_in_context subst s context
(* "\nReason: " ^ Lazy.force e*))
in
- enrich
- (try Some (Cic.CicHash.find localization_tbl hete) with Not_found -> prerr_endline ("!!! NOT LOCALIZED: " ^ CicPp.ppterm hete); None)
- msg exn
+ enrich localization_tbl hete msg exn
| CoercGraph.NotMetaClosed ->
raise (Uncertain (lazy "Coercions on meta"))
| CoercGraph.SomeCoercion c ->