aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Herbelin2019-11-14 14:24:32 +0100
committerHugo Herbelin2020-02-22 22:37:42 +0100
commit02cdbd221183b985460dedd49d74b07f4b647bcd (patch)
tree14e18fbae98bbe309584b97ab044d47d431d091b
parenta905e70df85ef7bf700bb3d6a1b48ae180dfa987 (diff)
New parsing/printing pattern/terms imp/scopes tests summarizing last changes.
-rw-r--r--test-suite/output/Notations5.out56
-rw-r--r--test-suite/output/Notations5.v58
2 files changed, 114 insertions, 0 deletions
diff --git a/test-suite/output/Notations5.out b/test-suite/output/Notations5.out
index 9b50b53456..f59306c454 100644
--- a/test-suite/output/Notations5.out
+++ b/test-suite/output/Notations5.out
@@ -254,3 +254,59 @@ where
: 0 = 0 /\ true = true
## 0 0 true
: 0 = 0 /\ true = true
+# 0 0 bool 0%bool
+ : T
+fun a : T => match a with
+ | # 0 0 _ _ => 1
+ | _ => 2
+ end
+ : T -> nat
+#' 0 0 0%bool
+ : T
+fun a : T => match a with
+ | #' 0 0 _ => 1
+ | _ => 2
+ end
+ : T -> nat
+## 0 0 0%bool
+ : T
+fun a : T => match a with
+ | ## 0 0 _ => 1
+ | _ => 2
+ end
+ : T -> nat
+##' 0 0 0%bool
+ : T
+fun a : T => match a with
+ | ##' 0 0 _ => 1
+ | _ => 2
+ end
+ : T -> nat
+P 0 0 bool 0%bool
+ : T
+fun a : T => match a with
+ | P 0 0 _ _ => 1
+ | _ => 2
+ end
+ : T -> nat
+P' 0 0 0%bool
+ : T
+fun a : T => match a with
+ | P' 0 0 _ => 1
+ | _ => 2
+ end
+ : T -> nat
+Q 0 0 0%bool
+ : T
+fun a : T => match a with
+ | Q 0 0 _ => 1
+ | _ => 2
+ end
+ : T -> nat
+Q' 0 0 0%bool
+ : T
+fun a : T => match a with
+ | Q' 0 0 _ => 1
+ | _ => 2
+ end
+ : T -> nat
diff --git a/test-suite/output/Notations5.v b/test-suite/output/Notations5.v
index 49378ab846..09d5e31c48 100644
--- a/test-suite/output/Notations5.v
+++ b/test-suite/output/Notations5.v
@@ -338,3 +338,61 @@ Module AppliedTermsPrinting.
End AtNotationForPartialApplication.
End AppliedTermsPrinting.
+
+Module AppliedPatternsPrinting.
+
+ (* Other tests testing inheritance of scope and implicit in
+ term and pattern for parsing and printing *)
+
+ Inductive T := p (a:nat) (b:bool) {B} (b:B) : T.
+ Notation "0" := true : bool_scope.
+
+ Module A.
+ Notation "#" := @p (at level 0).
+ Check # 0 0 _ true.
+ Check fun a => match a with # 0 0 _ _ => 1 | _ => 2 end. (* !! *)
+ End A.
+
+ Module B.
+ Notation "#'" := p (at level 0).
+ Check #' 0 0 true.
+ Check fun a => match a with #' 0 0 _ => 1 | _ => 2 end.
+ End B.
+
+ Module C.
+ Notation "## q" := (@p q) (at level 0, q at level 0).
+ Check ## 0 0 true.
+ Check fun a => match a with ## 0 0 _ => 1 | _ => 2 end.
+ End C.
+
+ Module D.
+ Notation "##' q" := (p q) (at level 0, q at level 0).
+ Check ##' 0 0 true.
+ Check fun a => match a with ##' 0 0 _ => 1 | _ => 2 end.
+ End D.
+
+ Module E.
+ Notation P := @ p.
+ Check P 0 0 _ true.
+ Check fun a => match a with P 0 0 _ _ => 1 | _ => 2 end.
+ End E.
+
+ Module F.
+ Notation P' := p.
+ Check P' 0 0 true.
+ Check fun a => match a with P' 0 0 _ => 1 | _ => 2 end.
+ End F.
+
+ Module G.
+ Notation Q q := (@p q).
+ Check Q 0 0 true.
+ Check fun a => match a with Q 0 0 _ => 1 | _ => 2 end.
+ End G.
+
+ Module H.
+ Notation Q' q := (p q).
+ Check Q' 0 0 true.
+ Check fun a => match a with Q' 0 0 _ => 1 | _ => 2 end.
+ End H.
+
+End AppliedPatternsPrinting.