aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--test-suite/failure/cases.v6
-rw-r--r--test-suite/success/CaseAlias.v21
2 files changed, 27 insertions, 0 deletions
diff --git a/test-suite/failure/cases.v b/test-suite/failure/cases.v
new file mode 100644
index 000000000..a27b07f87
--- /dev/null
+++ b/test-suite/failure/cases.v
@@ -0,0 +1,6 @@
+(* Non exhaustive pattern-matching *)
+
+Check [x]Cases x x of
+ O (S (S y)) => true
+ | O (S x) => false
+ | (S y) O => true end. \ No newline at end of file
diff --git a/test-suite/success/CaseAlias.v b/test-suite/success/CaseAlias.v
new file mode 100644
index 000000000..b5f0e730e
--- /dev/null
+++ b/test-suite/success/CaseAlias.v
@@ -0,0 +1,21 @@
+(* This has been a bug reported by Y. Bertot *)
+Inductive expr : Set :=
+ b: expr -> expr -> expr
+ | u: expr -> expr
+ | a: expr
+ | var: nat -> expr .
+
+Fixpoint f [t : expr] : expr :=
+ Cases t of
+ | (b t1 t2) => (b (f t1) (f t2))
+ | a => a
+ | x => (b t a)
+ end.
+
+Fixpoint f2 [t : expr] : expr :=
+ Cases t of
+ | (b t1 t2) => (b (f2 t1) (f2 t2))
+ | a => a
+ | x => (b x a)
+ end.
+