summaryrefslogtreecommitdiff
path: root/test-suite/bugs/closed/3657.v
blob: 778fdab190ca9f16c2a66d7ae6f223ed7b47ce12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
(* Check typing of replaced objects in change - even though the failure
   was already a proper error message (but with a helpless content) *)

Class foo {A} {a : A} := { bar := a; baz : bar = bar }.
Arguments bar {_} _ {_}.
Instance: forall A a, @foo A a.
intros; constructor.
abstract reflexivity.
Defined.
Goal @bar _ Set _ = (@bar _ (fun _ : Set => Set) _) nat.
Proof.
  Fail change (bar (fun _ : Set => Set)) with (bar Set).