aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-07-11 15:26:44 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2017-07-11 15:35:11 +0200
commitc401fc96c3271746448600ca097876bd139b10e9 (patch)
treed3893c0d5011bac1b88ea58263ff8b4fee86fbbf
parent8cd0413c0bd79256b59ffbbfd97d61af86f5cc25 (diff)
Fix nonsensical universe abstraction in the kernel.
The function turning a side-effect declaration into the corresponding entry was crazily wrong, as it used a named universe context quantifying over DeBruijn universe indices. Declaring such entries resulted in random anomalies. This fixes bug #5641.
-rw-r--r--kernel/term_typing.ml2
-rw-r--r--test-suite/bugs/closed/5641.v6
2 files changed, 7 insertions, 1 deletions
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index eee227370..3e516cae0 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -469,7 +469,7 @@ let constant_entry_of_side_effect cb u =
match cb.const_universes with
| Monomorphic_const ctx -> false, ctx
| Polymorphic_const auctx ->
- true, Univ.instantiate_univ_context auctx
+ true, Univ.AUContext.repr auctx
in
let pt =
match cb.const_body, u with
diff --git a/test-suite/bugs/closed/5641.v b/test-suite/bugs/closed/5641.v
new file mode 100644
index 000000000..9f3246f33
--- /dev/null
+++ b/test-suite/bugs/closed/5641.v
@@ -0,0 +1,6 @@
+Set Universe Polymorphism.
+
+Definition foo@{i j} (A : Type@{i}) : Type@{j}.
+Proof.
+abstract (exact ltac:(abstract (exact A))).
+Defined.