aboutsummaryrefslogtreecommitdiff
path: root/test-suite/bugs
diff options
context:
space:
mode:
authorHugo Herbelin2019-05-21 18:49:01 +0200
committerHugo Herbelin2019-12-04 20:24:29 +0100
commit19b1345540fcd577fa0322791cd25a8e36b5c71f (patch)
tree7d529d0853c7b5a0fef394785a2ea61eccec0b33 /test-suite/bugs
parent20642607f48d8c4ac8978c0f0f17e14bfa9bd335 (diff)
Manual implicit arguments: more robustness tests.
- Warn in some places where {x:T} is not assumed to occur (e.g. in argument of an application, or of a match). - Warn when an implicit argument occurs several times with the same name. - Accept local anonymous {_:T} with explicitation possible using name `arg_k`. We obtain this by using a flag (impl_binder_index) which tells if we are in a position where implicit arguments matter and, if yes, the index of the next binder.
Diffstat (limited to 'test-suite/bugs')
-rw-r--r--test-suite/bugs/opened/bug_3357.v7
1 files changed, 6 insertions, 1 deletions
diff --git a/test-suite/bugs/opened/bug_3357.v b/test-suite/bugs/opened/bug_3357.v
index c479158877..f0e5d71811 100644
--- a/test-suite/bugs/opened/bug_3357.v
+++ b/test-suite/bugs/opened/bug_3357.v
@@ -1,4 +1,9 @@
-Notation D1 := (forall {T : Type} ( x : T ) , Type).
+(* See discussion in #668 for whether manual implicit arguments should
+ be allowed in notations or not *)
+
+Set Warnings "+syntax".
+
+Fail Notation D1 := (forall {T : Type} ( x : T ) , Type).
Definition DD1 ( A : forall {T : Type} (x : T), Type ) := A 1.
Fail Definition DD1' ( A : D1 ) := A 1. (* Toplevel input, characters 32-33: