diff options
author | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-07-11 15:26:44 +0200 |
---|---|---|
committer | Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr> | 2017-07-11 15:35:11 +0200 |
commit | c401fc96c3271746448600ca097876bd139b10e9 (patch) | |
tree | d3893c0d5011bac1b88ea58263ff8b4fee86fbbf | |
parent | 8cd0413c0bd79256b59ffbbfd97d61af86f5cc25 (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.ml | 2 | ||||
-rw-r--r-- | test-suite/bugs/closed/5641.v | 6 |
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. |