diff options
| author | Pierre-Marie Pédrot | 2019-05-26 02:12:01 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2019-05-27 14:14:56 +0200 |
| commit | bd21ec85ff71e49b12d48e4ed3bf72a3f48a60d2 (patch) | |
| tree | a255f493ebe3b2072a275b5b31f1ac2a422fc200 /kernel/term_typing.ml | |
| parent | c371b6f0bc6aa75fb3fe138d2bd52bdd189550b1 (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/term_typing.ml')
| -rw-r--r-- | kernel/term_typing.ml | 1 |
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 |
