retnilnil is a static analysis tool for Golang that detects return nil, nil in functions with (*T, error) as the return type.
func f() (*T, error) {
return nil, nil // retnilnil detects this
}retnilnil ignores a code which has an ignore comment.
func f() (*T, error) {
//lint:ignore retnilnil reason
return nil, nil // retnilnil doesn't detect this
}retnilnil also ignores a function that has a comment includes nil, nil.
// f always returns `nil, nil`
func f() (*T, error) {
return nil, nil // retnilnil doesn't detect this
}You can get retnilnil by go install command (Go 1.16 and higher).
$ go install github.com/neglect-yp/retnilnil/cmd/[email protected]
$ retnilnil ./...