aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Dénès2017-08-01 13:03:04 +0200
committerMaxime Dénès2017-08-01 13:03:04 +0200
commit93b361788dbe259664ede0d8730e963bd883cfc1 (patch)
tree9aaadb691ae23330d278c1a0cc0ba2c2645f61eb
parentce34a286bd38eeac7526d175ac0da6112266d93a (diff)
parent630f565077fa8f9ce9fdd0535b61901c6c539e02 (diff)
Merge PR #928: Fixing bug #5671 (tactic specialize unclean wrt Metas).
-rw-r--r--tactics/tactics.ml2
-rw-r--r--test-suite/bugs/closed/5671.v7
2 files changed, 8 insertions, 1 deletions
diff --git a/tactics/tactics.ml b/tactics/tactics.ml
index cb905e749a..82d58074bc 100644
--- a/tactics/tactics.ml
+++ b/tactics/tactics.ml
@@ -2979,7 +2979,7 @@ let specialize (c,lbind) ipat =
sigma,hd'
| _ ,_ -> assert false in
let sigma,hd = rebuild_lambdas sigma (List.rev lprod) [] c_hd tstack in
- sigma, hd
+ Evd.clear_metas sigma, hd
in
let typ = Retyping.get_type_of env sigma term in
let tac =
diff --git a/test-suite/bugs/closed/5671.v b/test-suite/bugs/closed/5671.v
new file mode 100644
index 0000000000..c9a085045a
--- /dev/null
+++ b/test-suite/bugs/closed/5671.v
@@ -0,0 +1,7 @@
+(* Fixing Meta-unclean specialize *)
+
+Require Import Setoid.
+Axiom a : forall x, x=0 -> True.
+Lemma lem (x y1 y2:nat) (H:x=0) (H0:eq y1 y2) : y1 = y2.
+specialize a with (1:=H). clear H x. intros _.
+setoid_rewrite H0.