summaryrefslogtreecommitdiff
path: root/test-suite/bugs/opened/3248.v
blob: 9e7d1eb5ddada42a8edcd69ae6b73efa17cf05a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Ltac ret_and_left f :=
  let tac := ret_and_left in
  let T := type of f in
  lazymatch eval hnf in T with
    | ?T' -> _ =>
      let ret := constr:(fun x' : T' => $(tac (f x'))$) in
      exact ret
    | ?T' => exact f
  end.

Goal forall A B : Prop, forall x y : A, True.
Proof.
  intros A B x y.
  pose (f := fun (x y : A) => conj x y).
  pose (a := $(ret_and_left f)$).
  Fail unify (a x y) (conj x y).
Abort.