This test verifies that gopls does not panic when encountering the go/types
bug described in golang/go#59944: the Bindingf function is not included in
the methodset of its receiver type.

Adapted from the code in question from the issue.

The flag -ignore_extra_diags is included, as this bug was fixed in Go 1.24, so
that now the code below may produce a diagnostic.

-- flags --
-cgo
-ignore_extra_diags

-- go.mod --
module example.com

go 1.12

-- cgo.go --
package x

import "fmt"

/*
struct layout {
	int field;
};
*/
import "C"

type Layout = C.struct_layout

// Bindingf is a printf wrapper. This was necessary to trigger the panic in
// objectpath while encoding facts.
func (l *Layout) Bindingf(format string, args ...interface{}) {
	fmt.Printf(format, args...)
}
