| This test verifies that we fine implementations of the built-in error interface. | |
| -- go.mod -- | |
| module example.com | |
| go 1.18 | |
| -- 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) | |
| } |