diff options
-rw-r--r-- | test-suite/failure/cases.v | 6 | ||||
-rw-r--r-- | test-suite/success/CaseAlias.v | 21 |
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. + |