gotools/gopls/internal/test/marker/testdata/implementation/issue43655.txt

This test verifies that we fine implementations of the built-in error interface.

-- go.mod --
module example.com
go 1.12

-- p.go --
package p

type errA struct{ error } //@loc(errA, "errA")

type errB struct{} //@loc(errB, "errB")
func (errB) Error() string{ return "" } //@loc(errBError, "Error")

type notAnError struct{}
func (notAnError) Error() int { return 0 }

func _() {
	var _ error //@implementation("error", errA, errB)
	var a errA
	_ = a.Error //@implementation("Error", errBError)
}