This test checks the formatting of the list of accessible methods. Observe that: - interface methods that appear in the syntax are not repeated in the method set of the type; - promoted methods of structs are shown; - receiver variables are correctly named; - receiver variables have a pointer type if appropriate; - only accessible methods are shown. -- go.mod -- module example.com -- lib/lib.go -- package lib type I interface { A() b() J } type J interface { C() } type S struct { I } func (s S) A() {} func (s S) b() {} func (s *S) PA() {} func (s *S) pb() {} -- a/a.go -- package a import "example.com/lib" var _ lib.I //@hover("I", "I", I) var _ lib.J //@hover("J", "J", J) var _ lib.S //@hover("S", "S", S) -- @I -- ```go type I interface { A() b() J } ``` ```go func (lib.J) C() ``` [`lib.I` on pkg.go.dev](https://pkg.go.dev/example.com/lib#I) -- @J -- ```go type J interface{ C() } ``` [`lib.J` on pkg.go.dev](https://pkg.go.dev/example.com/lib#J) -- @S -- ```go type S struct{ I } ``` ```go func (s lib.S) A() func (lib.J) C() func (s *lib.S) PA() ``` [`lib.S` on pkg.go.dev](https://pkg.go.dev/example.com/lib#S)