49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
//golangcitest:args -Egocritic
|
|
//golangcitest:config_path testdata/configs/gocritic.yml
|
|
package testdata
|
|
|
|
import (
|
|
"flag"
|
|
"log"
|
|
"strings"
|
|
)
|
|
|
|
var _ = *flag.Bool("global1", false, "") // want `flagDeref: immediate deref in \*flag.Bool\(.global1., false, ..\) is most likely an error; consider using flag\.BoolVar`
|
|
|
|
type size1 struct {
|
|
a bool
|
|
}
|
|
|
|
type size2 struct {
|
|
size1
|
|
b bool
|
|
}
|
|
|
|
func gocriticRangeValCopySize1(ss []size1) {
|
|
for _, s := range ss {
|
|
log.Print(s)
|
|
}
|
|
}
|
|
|
|
func gocriticRangeValCopySize2(ss []size2) {
|
|
for _, s := range ss { // want "rangeValCopy: each iteration copies 2 bytes.*"
|
|
log.Print(s)
|
|
}
|
|
}
|
|
|
|
func gocriticStringSimplify() {
|
|
s := "Most of the time, travellers worry about their luggage."
|
|
s = strings.Replace(s, ",", "", -1) // want "ruleguard: this Replace call can be simplified.*"
|
|
log.Print(s)
|
|
}
|
|
|
|
func gocriticDup(x bool) {
|
|
if x && x { // want "ruleguard: suspicious identical LHS and RHS.*"
|
|
log.Print("x is true")
|
|
}
|
|
}
|
|
|
|
func gocriticRuleWrapperFunc() {
|
|
strings.Replace("abcabc", "a", "d", -1) // want "ruleguard: this Replace call can be simplified.*"
|
|
}
|