diff --git a/pbuf/pooler.go b/pbuf/pooler.go index 21b803b..3912fa4 100644 --- a/pbuf/pooler.go +++ b/pbuf/pooler.go @@ -4,6 +4,7 @@ import ( "bytes" "io" "reflect" + "unsafe" ) // UserBuffer with customizable user data structure inside. @@ -18,6 +19,7 @@ func (bufpooler[USRDAT]) New(config any, pooled UserBuffer[USRDAT]) UserBuffer[U switch c := config.(type) { case int: pooled.Grow(c) + *(*[]byte)(unsafe.Pointer(&pooled.Buffer)) = pooled.Bytes()[:c] if c != pooled.Len() { panic("unexpected bad buffer Grow") }