aboutsummaryrefslogtreecommitdiff
path: root/kernel/entries.ml
diff options
context:
space:
mode:
authorMaxime Dénès2019-07-11 08:53:55 +0200
committerMaxime Dénès2019-07-11 08:53:55 +0200
commit195772efccbac6663501bd5fff63c318d22ee191 (patch)
tree604d2f22f6f02958d1d5c6b629478ee7be604961 /kernel/entries.ml
parent727ba947a05d5e20ee49ef633ce5cadccc35ac57 (diff)
parent0b2b3e2baa3e004bf937ea001635b47ed781c9db (diff)
Merge PR #10439: Uniform handling of side-effects for opaque definitions
Ack-by: Zimmi48 Reviewed-by: gares Ack-by: maximedenes
Diffstat (limited to 'kernel/entries.ml')
-rw-r--r--kernel/entries.ml13
1 files changed, 8 insertions, 5 deletions
diff --git a/kernel/entries.ml b/kernel/entries.ml
index bc389e9fcf..47e2f72b0e 100644
--- a/kernel/entries.ml
+++ b/kernel/entries.ml
@@ -99,11 +99,14 @@ type primitive_entry = {
type 'a proof_output = constr Univ.in_universe_context_set * 'a
type 'a const_entry_body = 'a proof_output Future.computation
-type 'a constant_entry =
- | DefinitionEntry of definition_entry
- | OpaqueEntry of 'a const_entry_body opaque_entry
- | ParameterEntry of parameter_entry
- | PrimitiveEntry of primitive_entry
+(** Dummy wrapper type discriminable from unit *)
+type 'a seff_wrap = { seff_wrap : 'a }
+
+type _ constant_entry =
+ | DefinitionEntry : definition_entry -> unit constant_entry
+ | OpaqueEntry : 'a const_entry_body opaque_entry -> 'a seff_wrap constant_entry
+ | ParameterEntry : parameter_entry -> unit constant_entry
+ | PrimitiveEntry : primitive_entry -> unit constant_entry
(** {6 Modules } *)