1
0
mirror of https://github.com/mgechev/revive.git synced 2024-11-24 08:32:22 +02:00
revive/rule
Dian 44eed7edb7 fix error return rule to allow multiple error return values (#110)
* fix error return rule to allow multiple error return values

please check golint related updates here: golang/lint@8379672

When returning multiple values with an error,
lint checks if the error is the last return value.
But the implementation actually is checking for all return values
except for the last one, and throw the alert if it found an error.

There is a (edge) case where some function returning more than one error
is getting a false positive even when the last return value is an error.

This patch adds an early check, to see if the last return value is an error
and if so, it will pass silently.

* Fix return error

* add test changes
2019-03-20 11:54:27 -07:00
..
add-constant.go add-constant (new rule) (#39) 2018-07-17 12:21:27 -07:00
argument-limit.go Add tests for the arguments limit 2018-02-04 15:10:35 -08:00
atomic.go Refactors atomic rule code to move gofmt function to utils.go (issue #79) (#80) 2018-10-03 11:56:57 -07:00
blank-imports.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
bool-literal-in-expr.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
call-to-gc.go call-to-gc (new rule) (#90) 2018-10-31 07:32:23 -07:00
confusing-naming.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
confusing-results.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
constant-logical-expr.go Refactors atomic rule code to move gofmt function to utils.go (issue #79) (#80) 2018-10-03 11:56:57 -07:00
context-as-argument.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
context-keys-type.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
cyclomatic.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
deep-exit.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
dot-imports.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
duplicated-imports.go New rule: duplicated-imports (#111) 2019-03-20 11:54:03 -07:00
empty-block.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
empty-lines.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
error-naming.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
error-return.go fix error return rule to allow multiple error return values (#110) 2019-03-20 11:54:27 -07:00
error-strings.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
errorf.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
exported.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
file-header.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
flag-param.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
function-result-limit.go Check max value and add more information about what the rule received as argument. 2018-09-17 20:17:21 +08:00
get-return.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
if-return.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
imports-blacklist.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
increment-decrement.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
indent-error-flow.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
line-length-limit.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
max-public-structs.go removes debug trace (#57) 2018-09-09 08:33:45 -07:00
modifies-param.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
modifies-value-receiver.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
package-comments.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
range-val-in-closure.go Removes linter warning 2018-09-29 07:04:10 +02:00
range.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
receiver-naming.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
redefines-builtin-id.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
struct-tag.go struct-tag: add support for asn1 and bson (#49) 2018-08-07 11:28:45 -07:00
superfluous-else.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
time-naming.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
unexported-return.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
unnecessary-stmt.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
unreachable-code.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
unused-param.go Refactoring: move pick function to rule/utils.go (#30) 2018-07-09 03:00:44 +10:00
utils.go Refactors atomic rule code to move gofmt function to utils.go (issue #79) (#80) 2018-10-03 11:56:57 -07:00
var-declarations.go Fix linter warnings (recommended config) in the code (#71) 2018-09-22 15:27:22 -07:00
var-naming.go refactor: remove URL field from the failure struct 2018-10-30 15:37:27 -07:00
waitgroup-by-value.go Rename rule name waitgroup-by-copy to waitgroup-by-value 2018-10-03 16:01:41 +08:00