aboutsummaryrefslogtreecommitdiffhomepage
path: root/pretyping/typeclasses.ml
diff options
context:
space:
mode:
Diffstat (limited to 'pretyping/typeclasses.ml')
-rw-r--r--pretyping/typeclasses.ml11
1 files changed, 8 insertions, 3 deletions
diff --git a/pretyping/typeclasses.ml b/pretyping/typeclasses.ml
index 191343a55..7ce3351a8 100644
--- a/pretyping/typeclasses.ml
+++ b/pretyping/typeclasses.ml
@@ -111,10 +111,15 @@ let register_add_instance_hint =
let add_instance_hint id = !add_instance_hint_ref id
let cache (_, (cl, m, inst)) =
+ classes := cl;
+ methods := m;
+ instances := inst
+
+let load (_, (cl, m, inst)) =
classes := gmap_merge !classes cl;
methods := gmap_merge !methods m;
instances := gmap_list_merge !instances
- (fun (i : instance) -> add_instance_hint i.is_impl i.is_pri)
+ (fun (i : instance) -> () (*add_instance_hint i.is_impl i.is_pri*))
inst
open Libobject
@@ -192,8 +197,8 @@ let (input,output) =
declare_object
{ (default_object "type classes state") with
cache_function = cache;
- load_function = (fun _ -> cache);
- open_function = (fun _ -> cache);
+ load_function = (fun _ -> load);
+ open_function = (fun _ -> load);
classify_function = (fun (_,x) -> Substitute x);
discharge_function = discharge;
(* rebuild_function = rebuild; *)