nilerr
finds code which returns nil even though it checks that error is not nil.
func f() error {
err := do()
if err != nil {
return nil // miss
}
}
nilerr
also finds code which returns error even though it checks that error is nil.
func f() error {
err := do()
if err == nil {
return err // miss
}
}
nilerr
ignores code which has a miss with ignore comment.
func f() error {
err := do()
if err != nil {
//lint:ignore nilerr reason
return nil // ignore
}
}
$ go install github.com/gostaticanalysis/nilerr/cmd/nilerr@latest
$ nilerr ./...