github.com/golangci/go-tools@v0.0.0-20190318060251-af6baa5dc196/staticcheck/testdata/src/CheckSyncPoolValue/CheckSyncPoolValue.go (about) 1 package pkg 2 3 import ( 4 "sync" 5 "unsafe" 6 ) 7 8 type T1 struct { 9 x int 10 } 11 12 type T2 struct { 13 x int 14 y int 15 } 16 17 func fn() { 18 s := []int{} 19 20 v := sync.Pool{} 21 v.Put(s) // MATCH /argument should be pointer-like/ 22 v.Put(&s) 23 v.Put(T1{}) // MATCH /argument should be pointer-like/ 24 v.Put(T2{}) // MATCH /argument should be pointer-like/ 25 26 p := &sync.Pool{} 27 p.Put(s) // MATCH /argument should be pointer-like/ 28 p.Put(&s) 29 30 var i interface{} 31 p.Put(i) 32 33 var up unsafe.Pointer 34 p.Put(up) 35 36 var basic int 37 p.Put(basic) // MATCH /argument should be pointer-like/ 38 }