aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorGuillaume Melquiond2016-01-05 20:07:37 +0100
committerGuillaume Melquiond2016-01-05 20:07:37 +0100
commit7ca0319268c2c6912e08c53deb742d5f7631e210 (patch)
tree5c9613224ca234af907374485b6f2241303e23ee /kernel
parent5d26829704b2602ede45183cba54ab219e453c0e (diff)
parente4a682e2f2c91fac47f55cd8619af2321b2e4c30 (diff)
Merge remote-tracking branch 'origin/v8.5' into trunk
Diffstat (limited to 'kernel')
-rw-r--r--kernel/term_typing.ml13
1 files changed, 9 insertions, 4 deletions
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index a566028d40..aa60432a7e 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -424,11 +424,16 @@ let export_side_effects mb env ce =
let trusted = check_signatures mb signatures in
let push_seff env = function
| kn, cb, `Nothing, _ ->
- Environ.add_constant kn cb env
+ let env = Environ.add_constant kn cb env in
+ if not cb.const_polymorphic then
+ Environ.push_context ~strict:true cb.const_universes env
+ else env
| kn, cb, `Opaque(_, ctx), _ ->
- let env = Environ.add_constant kn cb env in
- Environ.push_context_set
- ~strict:(not cb.const_polymorphic) ctx env in
+ let env = Environ.add_constant kn cb env in
+ if not cb.const_polymorphic then
+ let env = Environ.push_context ~strict:true cb.const_universes env in
+ Environ.push_context_set ~strict:true ctx env
+ else env in
let rec translate_seff sl seff acc env =
match sl, seff with
| _, [] -> List.rev acc, ce