From 685643098eeef00fe1f8dfca0927db2e812e1e7a Mon Sep 17 00:00:00 2001 From: Hugo Herbelin Date: Wed, 8 Nov 2017 19:58:41 +0100 Subject: One more step in fixing #5762 ("where" clause). We improve one step further the heuristics to sort out if a variable is a notation variable or a named variable. This allows to support the following which was still failing. Reserved Notation "# x" (at level 0). Inductive I {A:Type} := C : # 0 -> I where "# I" := (I = I). We rely here on the property that a binding variable of same name as a notation variables is itself considered bound by the notation. This becomes however to be a bit tricky for sorting out if the variable has to be output to the glob file or not. --- test-suite/bugs/closed/5762.v | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'test-suite/bugs') diff --git a/test-suite/bugs/closed/5762.v b/test-suite/bugs/closed/5762.v index edd5c8d73d..55d36bd722 100644 --- a/test-suite/bugs/closed/5762.v +++ b/test-suite/bugs/closed/5762.v @@ -26,3 +26,9 @@ Reserved Notation "%% a" (at level 70). Record R := {g : forall {A} (a:A), a=a where "%% x" := (g x); k : %% 0 = eq_refl}. + +(* An extra example *) + +Module A. +Inductive I {A:Type} := C : # 0 -> I where "# I" := (I = I) : I_scope. +End A. -- cgit v1.2.3