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.*"
 | |
| }
 | 
