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) | |
} |