diff options
| author | Maxime Dénès | 2020-01-30 08:33:36 +0100 |
|---|---|---|
| committer | Maxime Dénès | 2020-01-30 08:33:36 +0100 |
| commit | 504f3d6842fa91cdb3f5df1712c0fbb0c9bde112 (patch) | |
| tree | 55d8bd378801fe69eb32a31eb3d26cfd7bc325c8 /vernac/declareInd.ml | |
| parent | d05e061cafc543955700dcbd7fb0f15495efad13 (diff) | |
| parent | c2341feb58a233598658eeb68a08395b12715b2a (diff) | |
Merge PR #11307: Remove the hacks relying on hardwired libobject tags.
Reviewed-by: maximedenes
Diffstat (limited to 'vernac/declareInd.ml')
| -rw-r--r-- | vernac/declareInd.ml | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/vernac/declareInd.ml b/vernac/declareInd.ml index 2375028541..7dd53564cc 100644 --- a/vernac/declareInd.ml +++ b/vernac/declareInd.ml @@ -60,9 +60,9 @@ let cache_inductive ((sp, kn), names) = let discharge_inductive ((sp, kn), names) = Some names -let inInductive : inductive_obj -> Libobject.obj = +let objInductive : inductive_obj Libobject.Dyn.tag = let open Libobject in - declare_object {(default_object "INDUCTIVE") with + declare_object_full {(default_object "INDUCTIVE") with cache_function = cache_inductive; load_function = load_inductive; open_function = open_inductive; @@ -71,6 +71,7 @@ let inInductive : inductive_obj -> Libobject.obj = discharge_function = discharge_inductive; } +let inInductive v = Libobject.Dyn.Easy.inj v objInductive let cache_prim (_,(p,c)) = Recordops.register_primitive_projection p c @@ -212,3 +213,9 @@ let declare_mutual_inductive_with_eliminations ?(primitive_expected=false) mie p if mie.mind_entry_private == None then Indschemes.declare_default_schemes mind; mind + +module Internal = +struct + type nonrec inductive_obj = inductive_obj + let objInductive = objInductive +end |
