+++ /dev/null
-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`
-}