diff --git a/pkg/result/processors/autogenerated_exclude.go b/pkg/result/processors/autogenerated_exclude.go index 8401952f2a13..2fca5117f2b6 100644 --- a/pkg/result/processors/autogenerated_exclude.go +++ b/pkg/result/processors/autogenerated_exclude.go @@ -53,7 +53,7 @@ func (p *AutogeneratedExclude) Process(issues []result.Issue) ([]result.Issue, e func (*AutogeneratedExclude) Finish() {} func (p *AutogeneratedExclude) shouldPassIssue(issue *result.Issue) (bool, error) { - if issue.FromLinter == "typecheck" { + if issue.FromLinter == typeCheckName { // don't hide typechecking errors in generated files: users expect to see why the project isn't compiling return true, nil } diff --git a/pkg/result/processors/diff.go b/pkg/result/processors/diff.go index 31122a491512..c602cdc65a1e 100644 --- a/pkg/result/processors/diff.go +++ b/pkg/result/processors/diff.go @@ -65,6 +65,11 @@ func (p Diff) Process(issues []result.Issue) ([]result.Issue, error) { } return transformIssues(issues, func(issue *result.Issue) *result.Issue { + if issue.FromLinter == typeCheckName { + // Never hide typechecking errors. + return issue + } + hunkPos, isNew := c.IsNewIssue(issue) if !isNew { return nil diff --git a/pkg/result/processors/invalid_issue.go b/pkg/result/processors/invalid_issue.go index 569929680f77..c1389e97074d 100644 --- a/pkg/result/processors/invalid_issue.go +++ b/pkg/result/processors/invalid_issue.go @@ -23,7 +23,7 @@ func (InvalidIssue) Name() string { func (p InvalidIssue) Process(issues []result.Issue) ([]result.Issue, error) { tcIssues := filterIssues(issues, func(issue *result.Issue) bool { - return issue.FromLinter == "typecheck" + return issue.FromLinter == typeCheckName }) if len(tcIssues) > 0 { diff --git a/pkg/result/processors/processor.go b/pkg/result/processors/processor.go index 1a7a40434c65..13e63d604689 100644 --- a/pkg/result/processors/processor.go +++ b/pkg/result/processors/processor.go @@ -4,6 +4,8 @@ import ( "github.com/golangci/golangci-lint/pkg/result" ) +const typeCheckName = "typecheck" + type Processor interface { Process(issues []result.Issue) ([]result.Issue, error) Name() string