aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--test-suite/success/apply.v7
-rw-r--r--theories/Init/Tactics.v4
2 files changed, 9 insertions, 2 deletions
diff --git a/test-suite/success/apply.v b/test-suite/success/apply.v
index d1efbca85..32d82bd1a 100644
--- a/test-suite/success/apply.v
+++ b/test-suite/success/apply.v
@@ -202,6 +202,13 @@ try apply H.
unfold ID; apply H0.
Qed.
+(* Test hyp in "apply -> ... in hyp" is correctly instantiated by Ltac *)
+
+Goal (True <-> False) -> True -> False.
+intros Heq H.
+match goal with [ H : True |- _ ] => apply -> Heq in H end.
+Abort.
+
(* Test coercion below product and on non meta-free terms in with bindings *)
(* Cf wishes #1408 from E. Makarov *)
diff --git a/theories/Init/Tactics.v b/theories/Init/Tactics.v
index 82951f92d..2caf6a4b8 100644
--- a/theories/Init/Tactics.v
+++ b/theories/Init/Tactics.v
@@ -153,10 +153,10 @@ bapply lemma ltac:(fun H => destruct H as [H _]; apply H).
Tactic Notation "apply" "<-" constr(lemma) :=
bapply lemma ltac:(fun H => destruct H as [_ H]; apply H).
-Tactic Notation "apply" "->" constr(lemma) "in" ident(J) :=
+Tactic Notation "apply" "->" constr(lemma) "in" hyp(J) :=
bapply lemma ltac:(fun H => destruct H as [H _]; apply H in J).
-Tactic Notation "apply" "<-" constr(lemma) "in" ident(J) :=
+Tactic Notation "apply" "<-" constr(lemma) "in" hyp(J) :=
bapply lemma ltac:(fun H => destruct H as [_ H]; apply H in J).
(** An experimental tactic simpler than auto that is useful for ending