-
Notifications
You must be signed in to change notification settings - Fork 19k
x/tools/go/analysis/passes/recursiveiter: publish Analyzer and include it in cmd/vet #77562
Copy link
Copy link
Open
Labels
AnalysisIssues related to static analysis (vet, x/tools/go/analysis)Issues related to static analysis (vet, x/tools/go/analysis)NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.ToolProposalIssues describing a requested change to a Go tool or command-line program.Issues describing a requested change to a Go tool or command-line program.ToolsThis label describes issues relating to any tools in the x/tools repository.This label describes issues relating to any tools in the x/tools repository.
Milestone
Metadata
Metadata
Assignees
Labels
AnalysisIssues related to static analysis (vet, x/tools/go/analysis)Issues related to static analysis (vet, x/tools/go/analysis)NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.ToolProposalIssues describing a requested change to a Go tool or command-line program.Issues describing a requested change to a Go tool or command-line program.ToolsThis label describes issues relating to any tools in the x/tools repository.This label describes issues relating to any tools in the x/tools repository.
Background: the recursiveiter analyzer reports subtly incorrect definitions of iterators over recursive data structures that lead to poor asymptotic performance. It has been included in gopls for over a year.
It does not trigger very often, but it does report a serious problem with high confidence, and is cheap to run. Here's a typical finding:
More:
Proposal: we propose to move this analyzer to a public package and include it in the cmd/vet suite.