aboutsummaryrefslogtreecommitdiff
path: root/kernel/entries.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-06-25 20:57:50 +0200
committerPierre-Marie Pédrot2019-07-08 20:47:26 +0200
commitd929838be77e30db04cd91201542bb52ed3ff7fd (patch)
tree81a49bd4863424b841963f46025409396756d0bf /kernel/entries.ml
parent75de485c233dd7bbb6301b49e6702eee205977fb (diff)
Similar purity invariants in the kernel.
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 } *)