diff options
| author | Hugo Herbelin | 2017-05-21 22:23:24 +0200 |
|---|---|---|
| committer | Hugo Herbelin | 2017-05-31 00:44:26 +0200 |
| commit | ca630605330828b9b6456477b0fd4f8a0c3f1831 (patch) | |
| tree | e04712936c193bbe5daade5843f9f8eb5a8c38fc /test-suite/success | |
| parent | 09e15424aab082fd4b18a06e8894227beddeb487 (diff) | |
More precise on preventing clash between bound vars name and hidden impargs.
We want to avoid capture in "Inductive I {A} := C : forall A, I".
But in "Record I {A} := { C : forall A, A }.", non recursivity ensures
that no clash will occur.
This fixes previous commit, with which it could possibly be merged.
Diffstat (limited to 'test-suite/success')
| -rw-r--r-- | test-suite/success/Record.v | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/test-suite/success/Record.v b/test-suite/success/Record.v index 8334322c99..6f27c1d369 100644 --- a/test-suite/success/Record.v +++ b/test-suite/success/Record.v @@ -87,3 +87,8 @@ Record R : Type := { P (A : Type) : Prop := exists x : A -> A, x = x; Q A : P A -> P A }. + +(* We allow reusing an implicit parameter named in non-recursive types *) +(* This is used in a couple of development such as UniMatch *) + +Record S {A:Type} := { a : A; b : forall A:Type, A }. |
