diff options
author | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-05-21 22:23:24 +0200 |
---|---|---|
committer | Hugo Herbelin <Hugo.Herbelin@inria.fr> | 2017-05-31 00:44:26 +0200 |
commit | ca630605330828b9b6456477b0fd4f8a0c3f1831 (patch) | |
tree | e04712936c193bbe5daade5843f9f8eb5a8c38fc /test-suite/success/Record.v | |
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/Record.v')
-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 8334322c9..6f27c1d36 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 }. |