X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCicEnvironment.ml;fp=helm%2Fsoftware%2Fcomponents%2Fng_kernel%2FnCicEnvironment.ml;h=f31c4e9b1ebbc71416ced0dbbc120e4bf60c7448;hb=a4086666ce84a0a71a587cafd52d1a08b26e54f0;hp=9cad0554cea2381845aaf63a654e008507481dbb;hpb=b91dfc5e2b00e6b0b4cb81109192bb2b825055a1;p=helm.git diff --git a/helm/software/components/ng_kernel/nCicEnvironment.ml b/helm/software/components/ng_kernel/nCicEnvironment.ml index 9cad0554c..f31c4e9b1 100644 --- a/helm/software/components/ng_kernel/nCicEnvironment.ml +++ b/helm/software/components/ng_kernel/nCicEnvironment.ml @@ -16,7 +16,7 @@ module Ref = NReference exception CircularDependency of string Lazy.t;; exception ObjectNotFound of string Lazy.t;; -exception BadDependency of string Lazy.t;; +exception BadDependency of string Lazy.t * exn;; exception BadConstraint of string Lazy.t;; let type0 = [] @@ -140,11 +140,12 @@ let get_checked_obj u = Sys.Break as e -> frozen_list := saved_frozen_list; raise e - | Propagate (u',_) as e' -> + | Propagate (u',old_exn) as e' -> frozen_list := saved_frozen_list; let exn = `Exn (BadDependency (lazy (NUri.string_of_uri u ^ " depends (recursively) on " ^ NUri.string_of_uri u' ^ - " which is not well-typed"))) in + " which is not well-typed"), + match old_exn with BadDependency (_,e) -> e | _ -> old_exn)) in NUri.UriHash.add cache u exn; if saved_frozen_list = [] then exn