diff options
| -rw-r--r-- | defererr.go | 4 | ||||
| -rw-r--r-- | testdata/signature.go | 15 | 
2 files changed, 17 insertions, 2 deletions
| diff --git a/defererr.go b/defererr.go index 96072be..f6167ae 100644 --- a/defererr.go +++ b/defererr.go @@ -334,8 +334,8 @@ func checkErrorAssignedInDefer(  					if !isErrorNameInReturnSignature {  						pass.Reportf(  							errorReturnField.Pos(), -							"return signature should be '(err error)'", // TODO: Use name from ident.Name -							// errorReturnField, +							"return signature should be '(%s error)'", // TODO: Use name from ident.Name +							ident,  						)  						break diff --git a/testdata/signature.go b/testdata/signature.go index 73203ee..b668558 100644 --- a/testdata/signature.go +++ b/testdata/signature.go @@ -45,6 +45,21 @@ func returnedErrorMustMatchDeferErrorName() (err error) {  	return err2 // want "does not return 'err'"  } +func deferUsesUnconventionalErrName() error { // want "return signature should be '\\(anErr error\\)'" +	var anErr error + +	anErr = nil +	if anErr != nil { +		return anErr +	} + +	defer func() { +		anErr = errors.New("defer error") +	}() + +	return anErr +} +  func good() (err error) {  	err = nil  	if err != nil { | 
