aboutsummaryrefslogtreecommitdiff
path: root/kernel/term_typing.ml
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2017-12-19 08:33:55 +0100
committerPierre-Marie Pédrot2017-12-19 09:09:37 +0100
commitc3e26fca1d077a2b69926df85d05e067882c40b0 (patch)
tree4bb0c1915307b2d4f58bb37b9438275a310297aa /kernel/term_typing.ml
parent25f09e86ba1a3ab3c24d5e17336b01315a205e00 (diff)
Specific type for section definition entries.
This allows to statically ensure well-formedness properties.
Diffstat (limited to 'kernel/term_typing.ml')
-rw-r--r--kernel/term_typing.ml10
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index 761eab511a..c2c65d6d48 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -607,6 +607,16 @@ let translate_recipe env kn r =
let translate_local_def env id centry =
let open Cooking in
+ let body = Future.chain centry.secdef_body (fun body -> body, ()) in
+ let centry = {
+ const_entry_body = body;
+ const_entry_secctx = centry.secdef_secctx;
+ const_entry_feedback = centry.secdef_feedback;
+ const_entry_type = centry.secdef_type;
+ const_entry_universes = centry.secdef_universes;
+ const_entry_opaque = false;
+ const_entry_inline_code = false;
+ } in
let decl = infer_declaration ~trust:Pure env None (DefinitionEntry centry) in
let typ = decl.cook_type in
if Option.is_empty decl.cook_context && !Flags.record_aux_file then begin