aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite/bugs/closed/3377.v
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-08-25 21:46:26 +0200
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-08-25 21:55:34 +0200
commit109c90efd0dd2bfbeb6c29b263ccd9b2e84e5b9e (patch)
treef7860f13dc18938953ead65c63923aba117d890b /test-suite/bugs/closed/3377.v
parent12c803053572194c85e4c7b7f347175c7c335858 (diff)
Fixing bug #3377 by giving env and sigma to constrMathching. Now it's possible
to match on a primitive projection application c.(p) using "?f _", binding f to (fun x => x.(p)) with the correct typing.
Diffstat (limited to 'test-suite/bugs/closed/3377.v')
-rw-r--r--test-suite/bugs/closed/3377.v17
1 files changed, 17 insertions, 0 deletions
diff --git a/test-suite/bugs/closed/3377.v b/test-suite/bugs/closed/3377.v
new file mode 100644
index 000000000..8e9e3933c
--- /dev/null
+++ b/test-suite/bugs/closed/3377.v
@@ -0,0 +1,17 @@
+Set Primitive Projections.
+Set Implicit Arguments.
+Record prod A B := pair { fst : A; snd : B}.
+
+Goal fst (@pair Type Type Type Type).
+Set Printing All.
+match goal with |- ?f ?x => set (foo := f x) end.
+
+Goal forall x : prod Set Set, x = @pair _ _ (fst x) (snd x).
+Proof.
+ intro x.
+ lazymatch goal with
+ | [ |- ?x = @pair _ _ (?f ?x) (?g ?x) ] => pose f
+ end.
+
+(* Toplevel input, characters 7-44:
+Error: No matching clauses for match. *)