aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite
diff options
context:
space:
mode:
authorGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-10-21 11:37:53 +0200
committerGravatar Hugo Herbelin <Hugo.Herbelin@inria.fr>2014-10-21 12:16:07 +0200
commit968e1eb50813fdcc402f689dbaedfcccceec61df (patch)
treef5872e14823a2d8cb64191823cc7e3252b02676a /test-suite
parent890111168d80e6217c73bedda2f1381fa76524be (diff)
More precise test for #3459.
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/bugs/opened/3459.v22
1 files changed, 22 insertions, 0 deletions
diff --git a/test-suite/bugs/opened/3459.v b/test-suite/bugs/opened/3459.v
index db42d9605..949cace1d 100644
--- a/test-suite/bugs/opened/3459.v
+++ b/test-suite/bugs/opened/3459.v
@@ -1,9 +1,31 @@
+(* Bad interaction between clear and the typability of ltac constr bindings *)
+
+(* Original report *)
+
Goal 1 = 2.
Proof.
+(* This line used to fail with a Not_found up to some point, and then
+ to produce an ill-typed term *)
match goal with
| [ |- context G[2] ] => let y := constr:(fun x => $(let r := constr:(@eq Set x x) in
clear x;
exact r)$) in
pose y
end.
+(* Add extra test for typability *)
+match goal with P:?c |- _ => try (let x := type of c in idtac) || fail 2 end.
Abort.
+
+(* Second report raising a Not_found at the time of 21 Oct 2014 *)
+
+Section F.
+
+Variable x : nat.
+
+Goal True.
+evar (e : Prop).
+assert e.
+let r := constr:(eq_refl x) in clear x; exact r.
+Abort.
+
+End F.