diff --git a/pkg/golinters/scopelint.go b/pkg/golinters/scopelint.go index c929e1540f8e..258912e0b774 100644 --- a/pkg/golinters/scopelint.go +++ b/pkg/golinters/scopelint.go @@ -163,6 +163,7 @@ func (f *Node) Visit(node ast.Node) ast.Visitor { // The variadic arguments may start with link and category types, // and must end with a format string and any arguments. // It returns the new Problem. +//nolint:interfacer func (f *Node) errorf(n ast.Node, format string, args ...interface{}) { pos := f.fset.Position(n.Pos()) f.errorAtf(pos, format, args...) diff --git a/pkg/result/processors/nolint.go b/pkg/result/processors/nolint.go index 9b292eda32ff..bbe85bd349d0 100644 --- a/pkg/result/processors/nolint.go +++ b/pkg/result/processors/nolint.go @@ -161,14 +161,16 @@ func (p *Nolint) shouldPassIssue(i *result.Issue) (bool, error) { return false, err } + matchesSomething := false for _, ir := range fd.ignoredRanges { if ir.doesMatch(i) { + // for nolintlint, we need to consider every range ir.matchedIssueFromLinter[i.FromLinter] = true - return false, nil + matchesSomething = true } } - return true, nil + return !matchesSomething, nil } type rangeExpander struct {