diff options
author | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2014-08-25 21:46:26 +0200 |
---|---|---|
committer | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2014-08-25 21:55:34 +0200 |
commit | 109c90efd0dd2bfbeb6c29b263ccd9b2e84e5b9e (patch) | |
tree | f7860f13dc18938953ead65c63923aba117d890b /test-suite | |
parent | 12c803053572194c85e4c7b7f347175c7c335858 (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')
-rw-r--r-- | test-suite/bugs/closed/3377.v (renamed from test-suite/bugs/opened/3377.v) | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/test-suite/bugs/opened/3377.v b/test-suite/bugs/closed/3377.v index 23c0a965c..8e9e3933c 100644 --- a/test-suite/bugs/opened/3377.v +++ b/test-suite/bugs/closed/3377.v @@ -4,6 +4,14 @@ Record prod A B := pair { fst : A; snd : B}. Goal fst (@pair Type Type Type Type). Set Printing All. -Fail match goal with |- ?f _ => idtac end. +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. *) |