diff options
| -rw-r--r-- | defererr.go | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/defererr.go b/defererr.go index 71a9d15..5615463 100644 --- a/defererr.go +++ b/defererr.go @@ -185,9 +185,7 @@ func checkErrorAssignedInDefer(  				// TODO: Was error lhs declared in defer closure? Then it  				// should be ignored. -				if deferFuncLit.Body.Lbrace < valueSpec.Pos() && -					valueSpec.Pos() < deferFuncLit.Body.Rbrace { - +				if isVariableDeclaredInsideDeferClosure(deferFuncLit, valueSpec) {  					continue  				} @@ -244,3 +242,12 @@ func checkErrorAssignedInDefer(  		},  	)  } + +// TODO: doc +func isVariableDeclaredInsideDeferClosure( +	deferFuncLit *ast.FuncLit, +	variableDecl *ast.ValueSpec, +) bool { +	return deferFuncLit.Body.Lbrace < variableDecl.Pos() && +		variableDecl.Pos() < deferFuncLit.Body.Rbrace +} | 
