diff options
-rw-r--r-- | defererr.go | 2 | ||||
-rw-r--r-- | testdata/signature.go | 15 |
2 files changed, 8 insertions, 9 deletions
diff --git a/defererr.go b/defererr.go index c6e00fe..d0c6d6f 100644 --- a/defererr.go +++ b/defererr.go @@ -304,7 +304,7 @@ func checkErrorAssignedInDefer( errorReturnField.Pos(), // TODO: Get the actual signature and set the error // name in front of the error type. - "return signature should be '(%s error)'", + "return signature should use named error parameter %s", lhsIdent, ) diff --git a/testdata/signature.go b/testdata/signature.go index 0da2bb0..cc9d72b 100644 --- a/testdata/signature.go +++ b/testdata/signature.go @@ -2,7 +2,7 @@ package main import "errors" -func shouldDeclareErrInSignature() error { // want "return signature should be '\\(err error\\)'" +func shouldDeclareErrInSignature() error { // want "return signature should use named error parameter err" var err error // Should use variable declared in signature err = nil @@ -45,7 +45,7 @@ func returnedErrorMustMatchDeferErrorName() (err error) { return err2 // want "does not return 'err'" } -func deferUsesUnconventionalErrName() error { // want "return signature should be '\\(anErr error\\)'" +func deferUsesUnconventionalErrName() error { // want "return signature should use named error parameter anErr" var anErr error anErr = nil @@ -60,9 +60,8 @@ func deferUsesUnconventionalErrName() error { // want "return signature should b return anErr } -// TODO: This is starting to look like needless complexity. Maybe we just -// report that the error variable must be declared in the signature instead. -func multipleReturnValuesString() (string, error) { // want "return signature should be '\\(string1 string, err error\\)'" + +func multipleReturnValuesString() (string, error) { // want "return signature should use named error parameter err" var err error = nil if err != nil { return "", err @@ -77,17 +76,17 @@ func multipleReturnValuesString() (string, error) { // want "return signature sh type AStruct struct {} -func multipleReturnValuesStruct() (*AStruct, error) { // want "return signature should be '\\(aStruct1 *AStruct, err error\\)'" +func multipleReturnValuesStructBool() (*AStruct, bool, error) { // want "return signature should use named error parameter err" var err error = nil if err != nil { - return nil, err + return nil, false, err } defer func() { err = errors.New("defer error") }() - return &AStruct{}, err + return &AStruct{}, true, err } func good() (err error) { |