File tree Expand file tree Collapse file tree 3 files changed +27
-1
lines changed
Expand file tree Collapse file tree 3 files changed +27
-1
lines changed Original file line number Diff line number Diff line change @@ -837,6 +837,11 @@ func hasCall(expr ast.Expr) bool {
837837 // allow cheap pure built-in functions
838838 return true
839839 }
840+ case * ast.SelectorExpr :
841+ // allow argument-less methods
842+ if len (call .Args ) == 0 {
843+ return true
844+ }
840845 }
841846 found = true
842847 }
Original file line number Diff line number Diff line change 11package test
22
3+ import "bytes"
4+
35func forInfinite () {
46 var x []int
57 for {
@@ -226,6 +228,14 @@ func forTypeConvert() {
226228 }
227229}
228230
231+ func forNoArgMethod () {
232+ var buf bytes.Buffer
233+ var x []int // want "Consider preallocating x with capacity buf\\.Len\\(\\)$"
234+ for i := 0 ; i < buf .Len (); i ++ {
235+ x = append (x , i )
236+ }
237+ }
238+
229239func forMultipleConjunctiveUpperLimits () {
230240 m := 7
231241 n := 6
Original file line number Diff line number Diff line change 11package test
22
3- import "sort"
3+ import (
4+ "bytes"
5+ "sort"
6+ )
47
58func rangeZero () {
69 var x []int
@@ -182,6 +185,14 @@ func rangeIntTypeConvert() {
182185 }
183186}
184187
188+ func rangeIntNoArgMethod () {
189+ var buf bytes.Buffer
190+ var x []int // want "Consider preallocating x with capacity buf\\.Len\\(\\)$"
191+ for i := range buf .Len () {
192+ x = append (x , i )
193+ }
194+ }
195+
185196func rangeMultiple () {
186197 var x []int // want "Consider preallocating x with capacity 5 \\+ n \\+ len\\(s\\) \\+ \\(n \\+ 1 - m\\)$"
187198 for i := range 5 {
You can’t perform that action at this time.
0 commit comments