diff options
| author | Matthieu Sozeau | 2016-07-25 17:08:48 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 2016-07-25 17:08:48 +0200 |
| commit | 55dd78e3b40efc1b8000a1107daddc68d94814e5 (patch) | |
| tree | 6e34d228e3cb76533f5bafabd1955f05edbe171f | |
| parent | 3f08b7e490a9a9b6091f097d1440d3ba042a47c1 (diff) | |
| parent | b9485da2388e0fe2d634d3359c0504b8c253e554 (diff) | |
Merge remote-tracking branch 'github/bug4679' into v8.6
| -rw-r--r-- | ltac/rewrite.ml | 2 | ||||
| -rw-r--r-- | test-suite/bugs/closed/4679.v | 18 |
2 files changed, 19 insertions, 1 deletions
diff --git a/ltac/rewrite.ml b/ltac/rewrite.ml index 0556191be8..e327deda02 100644 --- a/ltac/rewrite.ml +++ b/ltac/rewrite.ml @@ -581,7 +581,7 @@ let general_rewrite_unif_flags () = let core_flags = { rewrite_core_unif_flags with Unification.modulo_conv_on_closed_terms = Some ts; - Unification.use_evars_eagerly_in_conv_on_closed_terms = false; + Unification.use_evars_eagerly_in_conv_on_closed_terms = true; Unification.modulo_delta = ts; Unification.modulo_delta_types = ts; Unification.modulo_betaiota = true } diff --git a/test-suite/bugs/closed/4679.v b/test-suite/bugs/closed/4679.v new file mode 100644 index 0000000000..c94fa31a9d --- /dev/null +++ b/test-suite/bugs/closed/4679.v @@ -0,0 +1,18 @@ +Require Import Coq.Setoids.Setoid. +Goal forall (T : nat -> Set -> Set) (U : Set) + (H : forall n : nat, T n (match n with + | 0 => fun x => x + | S _ => fun x => x + end (nat = nat)) = U), + T 0 (nat = nat) = U. +Proof. + intros. + let H := match goal with H : forall _, eq _ _ |- _ => H end in + rewrite H || fail 0 "too early". + Undo. + let H := match goal with H : forall _, eq _ _ |- _ => H end in + setoid_rewrite (H 0) || fail 0 "too early". + Undo. + setoid_rewrite H. (* Error: Tactic failure: setoid rewrite failed: Nothing to rewrite. *) + reflexivity. +Qed.
\ No newline at end of file |
