aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Herbelin2017-07-27 22:46:58 +0200
committerHugo Herbelin2017-07-27 22:53:10 +0200
commit630f565077fa8f9ce9fdd0535b61901c6c539e02 (patch)
treec05020024afbd4520ab5b767b7421f7203a5c245
parent2a7ba998bf7d2c461fdbd8b710b7124395bafaa2 (diff)
Fixing bug #5671 (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 8a95ad177d..057bc774ee 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.