Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.0.1-2020.1.5 / staticcheck / testdata / src / CheckSyncPoolValue / CheckSyncPoolValue.go
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) // want `argument should be pointer-like`
22         v.Put(&s)
23         v.Put(T1{}) // want `argument should be pointer-like`
24         v.Put(T2{}) // want `argument should be pointer-like`
25
26         p := &sync.Pool{}
27         p.Put(s) // want `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) // want `argument should be pointer-like`
38 }