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
diff --git a/.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 b/.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
new file mode 100644 (file)
index 0000000..44d8d20
--- /dev/null
@@ -0,0 +1,38 @@
+package pkg
+
+import (
+       "sync"
+       "unsafe"
+)
+
+type T1 struct {
+       x int
+}
+
+type T2 struct {
+       x int
+       y int
+}
+
+func fn() {
+       s := []int{}
+
+       v := sync.Pool{}
+       v.Put(s) // want `argument should be pointer-like`
+       v.Put(&s)
+       v.Put(T1{}) // want `argument should be pointer-like`
+       v.Put(T2{}) // want `argument should be pointer-like`
+
+       p := &sync.Pool{}
+       p.Put(s) // want `argument should be pointer-like`
+       p.Put(&s)
+
+       var i interface{}
+       p.Put(i)
+
+       var up unsafe.Pointer
+       p.Put(up)
+
+       var basic int
+       p.Put(basic) // want `argument should be pointer-like`
+}