aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/success/CaseInClause.v
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2016-10-17 15:55:53 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2016-10-17 16:03:06 +0200
commit502d901fee12f07c31c2ea8b8c1455f74876d986 (patch)
tree7e1370e89bf72bdc9d0b5762bcddc45ffb93ad20 /test-suite/success/CaseInClause.v
parent8adcc8d26a200a5e52cf0413b6672aa63f9d6ea2 (diff)
Example illustrating non-local inference of the default type of impossible branches (see PR #323).
Diffstat (limited to 'test-suite/success/CaseInClause.v')
-rw-r--r--test-suite/success/CaseInClause.v3
1 files changed, 3 insertions, 0 deletions
diff --git a/test-suite/success/CaseInClause.v b/test-suite/success/CaseInClause.v
index 599b9566c..6424fe92d 100644
--- a/test-suite/success/CaseInClause.v
+++ b/test-suite/success/CaseInClause.v
@@ -24,3 +24,6 @@ Theorem foo : forall (n m : nat) (pf : n = m),
(* Check redundant clause is removed *)
Inductive I : nat * nat -> Type := C : I (0,0).
Check fun x : I (1,1) => match x in I (y,z) return y = z with C => eq_refl end.
+
+(* An example of non-local inference of the type of an impossible case *)
+Check (fun y n (x:Vector.t nat (S n)) => match x with a::_ => a | _ => y end) 2.