Loop variable pointer and nil struct is not nil interface are the two that continue to hound us.
type MyError {}
var _ error = (&MyError)(nil)
errors.As(err, &MyError{})
---
Panicking because it needs to be &&MyError{} instead is a similar gotcha.
Loop variable pointer and nil struct is not nil interface are the two that continue to hound us.