nilnesserr = nilness + nilerr
nilnesserr
is a linter for report return nil error in Go. It combines the features of nilness and nilerr, providing a concise way to detect return an unrelated/nil-values error.
case 1
err := do()
if err != nil {
return err
}
err2 := do2()
if err2 != nil {
return err // want `return a nil value error after check error`
}
case 2
err := do()
if err != nil {
return err
}
_, err2 := do2()
if err2 != nil {
return errors.Wrap(err) // want `call function with a nil value error after check error`
}
case 3
err := do()
if err != nil {
return err
}
_, err2 := do2()
if err2 != nil {
return fmt.Errorf("call do2 failed: %w",err) // want `call variadic function with a nil value error after check error`
}
We use https://github.com/alingse/go-linter-runner to run linter on GitHub Actions for public Go repos
go install github.com/alingse/nilnesserr/cmd/nilnesserr@latest
case 3
err := do()
if err != nil {
return err
}
_, ok := do2()
if !ok {
return err
}
maybe this is also a bug, should return a non-nil value error after the if
This project is licensed under the MIT License. See the LICENSE file for details.
This project incorporates source code from two different libraries: