aboutsummaryrefslogtreecommitdiffhomepage
path: root/test-suite
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-09-27 19:22:24 +0200
committerGravatar Matthieu Sozeau <matthieu.sozeau@inria.fr>2014-09-27 20:41:05 +0200
commitb6e39ade125862ba41ca17b06b8e35726b9b0d7d (patch)
tree4faa9cbbc56f3b63f5ef89f98452ab69b31af887 /test-suite
parent02b66da78e766a0eb8a1ec82a03ec9ce5418a0f0 (diff)
Fix semantics of matching with folded/unfolded projections to definitely
avoid looping and be compatible with unfold.
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/bugs/closed/3656.v10
-rw-r--r--test-suite/bugs/closed/3662.v3
2 files changed, 9 insertions, 4 deletions
diff --git a/test-suite/bugs/closed/3656.v b/test-suite/bugs/closed/3656.v
index 218cb755b..cbd773d07 100644
--- a/test-suite/bugs/closed/3656.v
+++ b/test-suite/bugs/closed/3656.v
@@ -26,7 +26,7 @@ Ltac head_hnf_under_binders x :=
| ?y => y
end.
Goal forall s : @hSet nat, True.
-intros.
+intros.
let x := head_hnf_under_binders setT in pose x.
set (foo := eq_refl (@setT nat)). generalize foo. simpl. cbn.
@@ -42,8 +42,12 @@ Ltac head_hnf_under_binders x :=
| ?y => y
end.
Goal setT = setT.
- Fail progress unfold setT. (* should not succeed *)
+ progress unfold setT. (* should not succeed *)
match goal with
| |- (fun h => setT h) = (fun h => setT h) => fail 1 "should not eta-expand"
| _ => idtac
- end. (* should not fail *) \ No newline at end of file
+ end. (* should not fail *)
+Abort.
+
+Goal forall h, setT h = setT h.
+Proof. intro. progress unfold setT.
diff --git a/test-suite/bugs/closed/3662.v b/test-suite/bugs/closed/3662.v
index 0de92b131..753fb33ca 100644
--- a/test-suite/bugs/closed/3662.v
+++ b/test-suite/bugs/closed/3662.v
@@ -44,4 +44,5 @@ Goal forall x : prod nat nat, fst x = 0.
match goal with
| [ |- fst ?x = 0 ] => idtac
end.
-Abort. \ No newline at end of file
+Abort.
+