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 // which should return err2 after check `err2 != nil`, but return a nil value error
}
we use https://github.com/alingse/go-linter-runner to run linter on GitHub Actions for public golang repos
go install github.com/alingse/nilnesserr/cmd/nilnesserr@latest
case 2
err := do()
if err != nil {
return err
}
_, ok := do2()
if !ok {
return err
}
case 3
err := do()
if err != nil {
return err
}
_, ok := do2()
if !ok {
return errors.Wrap(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: