aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2019-05-26 02:12:01 +0200
committerPierre-Marie Pédrot2019-05-27 14:14:56 +0200
commitbd21ec85ff71e49b12d48e4ed3bf72a3f48a60d2 (patch)
treea255f493ebe3b2072a275b5b31f1ac2a422fc200 /kernel
parentc371b6f0bc6aa75fb3fe138d2bd52bdd189550b1 (diff)
Ensure dynamically that opaque definitions come with their type.
The only lawbreaker was the Add Ring command. We generate a type for the declaration to fix the code.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/term_typing.ml1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index 088dd98db8..af2c511db9 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -169,6 +169,7 @@ the polymorphic case
| DefinitionEntry c ->
let { const_entry_type = typ; const_entry_opaque = opaque ; _ } = c in
let { const_entry_body = body; const_entry_feedback = feedback_id; _ } = c in
+ let () = assert (not (opaque && Option.is_empty typ)) in
let (body, ctx), side_eff = Future.join body in
let body, ctx = match trust with
| Pure -> body, ctx