Skip to content

Commit 9d6e1a6

Browse files
committed
Revert "gopls/internal/analysis: disable ssa/ir analyzers on range-over-func"
This reverts commit a432b16 (CL 538778) Reason for revert: workaround no longer needed. Updates golang/go#67262 Change-Id: I995bca3a2d835880318ee2a68fa7352aa7ba8776 Reviewed-on: https://go-review.googlesource.com/c/tools/+/623295 Reviewed-by: Robert Findley <rfindley@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Auto-Submit: Alan Donovan <adonovan@google.com>
1 parent f153a42 commit 9d6e1a6

File tree

3 files changed

+1
-160
lines changed

3 files changed

+1
-160
lines changed

gopls/internal/analysis/norangeoverfunc/norangeoverfunc.go

Lines changed: 0 additions & 50 deletions
This file was deleted.

gopls/internal/settings/analysis.go

Lines changed: 1 addition & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,6 @@ import (
5050
"golang.org/x/tools/gopls/internal/analysis/fillreturns"
5151
"golang.org/x/tools/gopls/internal/analysis/infertypeargs"
5252
"golang.org/x/tools/gopls/internal/analysis/nonewvars"
53-
"golang.org/x/tools/gopls/internal/analysis/norangeoverfunc"
5453
"golang.org/x/tools/gopls/internal/analysis/noresultvalues"
5554
"golang.org/x/tools/gopls/internal/analysis/simplifycompositelit"
5655
"golang.org/x/tools/gopls/internal/analysis/simplifyrange"
@@ -60,7 +59,6 @@ import (
6059
"golang.org/x/tools/gopls/internal/analysis/unusedvariable"
6160
"golang.org/x/tools/gopls/internal/analysis/useany"
6261
"golang.org/x/tools/gopls/internal/protocol"
63-
"honnef.co/go/tools/staticcheck"
6462
)
6563

6664
// Analyzer augments a [analysis.Analyzer] with additional LSP configuration.
@@ -108,32 +106,7 @@ func (a *Analyzer) String() string { return a.analyzer.String() }
108106
var DefaultAnalyzers = make(map[string]*Analyzer) // initialized below
109107

110108
func init() {
111-
// Emergency workaround for #67237 to allow standard library
112-
// to use range over func: disable SSA-based analyses of
113-
// go1.23 packages that use range-over-func.
114-
suppressOnRangeOverFunc := func(a *analysis.Analyzer) {
115-
a.Requires = append(a.Requires, norangeoverfunc.Analyzer)
116-
}
117-
// buildir is non-exported so we have to scan the Analysis.Requires graph to find it.
118-
var buildir *analysis.Analyzer
119-
for _, a := range staticcheck.Analyzers {
120-
for _, req := range a.Analyzer.Requires {
121-
if req.Name == "buildir" {
122-
buildir = req
123-
}
124-
}
125-
126-
// Temporarily disable SA4004 CheckIneffectiveLoop as
127-
// it crashes when encountering go1.23 range-over-func
128-
// (#67237, dominikh/go-tools#1494).
129-
if a.Analyzer.Name == "SA4004" {
130-
suppressOnRangeOverFunc(a.Analyzer)
131-
}
132-
}
133-
if buildir != nil {
134-
suppressOnRangeOverFunc(buildir)
135-
}
136-
109+
// The traditional vet suite:
137110
analyzers := []*Analyzer{
138111
// The traditional vet suite:
139112
{analyzer: appends.Analyzer, enabled: true},

gopls/internal/test/marker/testdata/diagnostics/range-over-func-67237.txt

Lines changed: 0 additions & 82 deletions
This file was deleted.

0 commit comments

Comments
 (0)