aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorppedrot2013-06-27 14:31:03 +0000
committerppedrot2013-06-27 14:31:03 +0000
commit2a74ec0fdda9829127eb159673e82c2c5242ae88 (patch)
tree668c75433b756b0d2330ebb3d5bd3b3f5a94e1fa
parent3227a799ff592ce7e474c84b96df00aa4ed38055 (diff)
Bugfix: Fixing #3050
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@16608 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--tactics/tacintern.ml11
-rw-r--r--test-suite/bugs/closed/shouldsucceed/3050.v7
2 files changed, 13 insertions, 5 deletions
diff --git a/tactics/tacintern.ml b/tactics/tacintern.ml
index e75c5dd46c..b1830523b0 100644
--- a/tactics/tacintern.ml
+++ b/tactics/tacintern.ml
@@ -374,9 +374,10 @@ let intern_flag ist red =
let intern_constr_with_occurrences ist (l,c) = (l,intern_constr ist c)
-let intern_constr_pattern ist ltacvars pc =
- let metas,pat =
- Constrintern.intern_constr_pattern ist.gsigma ist.genv ~ltacvars pc in
+let intern_constr_pattern ist ~as_type ~ltacvars pc =
+ let metas,pat = Constrintern.intern_constr_pattern
+ ist.gsigma ist.genv ~as_type ~ltacvars pc
+ in
let c = intern_constr_gen true false ist pc in
metas,(c,pat)
@@ -442,11 +443,11 @@ let intern_hyp_location ist ((occs,id),hl) =
let intern_pattern ist ?(as_type=false) lfun = function
| Subterm (b,ido,pc) ->
let ltacvars = (lfun, Id.Set.empty) in
- let (metas,pc) = intern_constr_pattern ist ltacvars pc in
+ let (metas,pc) = intern_constr_pattern ist ~as_type ~ltacvars pc in
ido, metas, Subterm (b,ido,pc)
| Term pc ->
let ltacvars = (lfun, Id.Set.empty) in
- let (metas,pc) = intern_constr_pattern ist ltacvars pc in
+ let (metas,pc) = intern_constr_pattern ist ~as_type ~ltacvars pc in
None, metas, Term pc
let intern_constr_may_eval ist = function
diff --git a/test-suite/bugs/closed/shouldsucceed/3050.v b/test-suite/bugs/closed/shouldsucceed/3050.v
new file mode 100644
index 0000000000..4b18722431
--- /dev/null
+++ b/test-suite/bugs/closed/shouldsucceed/3050.v
@@ -0,0 +1,7 @@
+Goal forall A B, A * B -> A.
+Proof.
+intros A B H.
+match goal with
+ | [ H : _ * _ |- _ ] => exact (fst H)
+end.
+Qed.