This suggestion is a little bit like the pointer methods we had in an
earlier version of the design draft
(
https://go.googlesource.com/proposal/+/572fea69936c3f25a99860fce22aeb23a3263ca3/design/go2draft-type-parameters.md#pointer-methods).
I'm not sure how that would work if such an interface type were used
other than as a type constraint (of course we could forbid that case).
An interface currently holds either a pointer or a value. If the
interface says that the method must be on the pointer type, then
presumably the interface will hold a value. But then what address do
we take to call the method? Taking the address of the value stored
inside the interface would mean that an interface was a reference type
rather than a value type. I think that would be a subtle distinction
that might increase confusion when using the language. Though
admittedly the points in this area are already rather subtle (e.g.,
the FAQ answer
https://golang.org/doc/faq#pointer_to_interface).
That side, at the moment I think that the constraint type inference
idea is more versatile, as it works for types other than pointers.
Ian