Open
Description
Hi, i'm running into an issue when using mixins where the principal argument is a function (typically to write structures such as "monotone functions").
HB.mixin Record IsFoo X (f : X -> X) := {}.
HB.structure Definition Foo X := { f of IsFoo X f }.
Fail HB.instance Definition _ := IsFoo.Build bool (fun x => x) .
(* term->gref: input has no global reference: fun `x` (global (indt «bool»)) c0 \ c0 *)
It fails while the following is accepted:
Definition bla {X} (x : X) := x .
HB.instance Definition _ := IsFoo.Build bool bla .
It seems to me there is an issue with the binder treatment in parameters.
HB version is 1.7.0 with coq 8.19.1.