diff options
| author | ppedrot | 2013-06-27 14:31:03 +0000 |
|---|---|---|
| committer | ppedrot | 2013-06-27 14:31:03 +0000 |
| commit | 2a74ec0fdda9829127eb159673e82c2c5242ae88 (patch) | |
| tree | 668c75433b756b0d2330ebb3d5bd3b3f5a94e1fa | |
| parent | 3227a799ff592ce7e474c84b96df00aa4ed38055 (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.ml | 11 | ||||
| -rw-r--r-- | test-suite/bugs/closed/shouldsucceed/3050.v | 7 |
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. |
