go/analysis/passes/modernize: fix stditerators example The transformed loop in the stditerators documentation still refers to the removed index variable and is missing a closing parenthesis. Use the iterator element directly and regenerate the gopls analyzer documentation. Change-Id: I1111e0a212d3397609a250ed3e2fc00d2d0a984a Reviewed-on: https://go-review.googlesource.com/c/tools/+/806640 LUCI-TryBot-Result: golang-scoped@luci-project-accounts.iam.gserviceaccount.com <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Alan Donovan <adonovan@google.com> Reviewed-by: Alex Putman <aputman@golang.org> Auto-Submit: Alan Donovan <adonovan@google.com>
diff --git a/go/analysis/passes/modernize/doc.go b/go/analysis/passes/modernize/doc.go index 954bc96..caf3df9 100644 --- a/go/analysis/passes/modernize/doc.go +++ b/go/analysis/passes/modernize/doc.go
@@ -456,7 +456,7 @@ iterator offered by the same data type: for elem := range x.All() { - use(x.At(i) + use(elem) } where x is one of various well-known types in the standard library.
diff --git a/gopls/doc/analyzers.md b/gopls/doc/analyzers.md index c5a7987..d0bd3b0 100644 --- a/gopls/doc/analyzers.md +++ b/gopls/doc/analyzers.md
@@ -4200,7 +4200,7 @@ or its "for elem := range x.Len()" equivalent by a range loop over an iterator offered by the same data type: for elem := range x.All() { - use(x.At(i) + use(elem) } where x is one of various well-known types in the standard library.
diff --git a/gopls/internal/doc/api.json b/gopls/internal/doc/api.json index bf78d30..e7f2896 100644 --- a/gopls/internal/doc/api.json +++ b/gopls/internal/doc/api.json
@@ -1744,7 +1744,7 @@ }, { "Name": "\"stditerators\"", - "Doc": "use iterators instead of Len/At-style APIs\n\nThis analyzer suggests a fix to replace each loop of the form:\n\n\tfor i := 0; i \u003c x.Len(); i++ {\n\t\tuse(x.At(i))\n\t}\n\nor its \"for elem := range x.Len()\" equivalent by a range loop over an\niterator offered by the same data type:\n\n\tfor elem := range x.All() {\n\t\tuse(x.At(i)\n\t}\n\nwhere x is one of various well-known types in the standard library.", + "Doc": "use iterators instead of Len/At-style APIs\n\nThis analyzer suggests a fix to replace each loop of the form:\n\n\tfor i := 0; i \u003c x.Len(); i++ {\n\t\tuse(x.At(i))\n\t}\n\nor its \"for elem := range x.Len()\" equivalent by a range loop over an\niterator offered by the same data type:\n\n\tfor elem := range x.All() {\n\t\tuse(elem)\n\t}\n\nwhere x is one of various well-known types in the standard library.", "Default": "true", "Status": "" }, @@ -3811,7 +3811,7 @@ }, { "Name": "stditerators", - "Doc": "use iterators instead of Len/At-style APIs\n\nThis analyzer suggests a fix to replace each loop of the form:\n\n\tfor i := 0; i \u003c x.Len(); i++ {\n\t\tuse(x.At(i))\n\t}\n\nor its \"for elem := range x.Len()\" equivalent by a range loop over an\niterator offered by the same data type:\n\n\tfor elem := range x.All() {\n\t\tuse(x.At(i)\n\t}\n\nwhere x is one of various well-known types in the standard library.", + "Doc": "use iterators instead of Len/At-style APIs\n\nThis analyzer suggests a fix to replace each loop of the form:\n\n\tfor i := 0; i \u003c x.Len(); i++ {\n\t\tuse(x.At(i))\n\t}\n\nor its \"for elem := range x.Len()\" equivalent by a range loop over an\niterator offered by the same data type:\n\n\tfor elem := range x.All() {\n\t\tuse(elem)\n\t}\n\nwhere x is one of various well-known types in the standard library.", "URL": "https://pkg.go.dev/golang.org/x/tools/go/analysis/passes/modernize#hdr-Analyzer_stditerators", "Default": true },