]> Cypherpunks repositories - gostls13.git/commit
std: pass bytes.Buffer and strings.Builder by pointer
authorAlan Donovan <adonovan@google.com>
Wed, 11 Dec 2024 20:42:06 +0000 (15:42 -0500)
committerGopher Robot <gobot@golang.org>
Mon, 19 May 2025 16:13:04 +0000 (09:13 -0700)
commit198c3cb785282ee4c199680ec2d05381805a6f66
tree32212e5599bc44e5bba3c178a7ce5be263acf70b
parentda9c5b142c855496222f0ab167c3f1d9e98403c4
std: pass bytes.Buffer and strings.Builder by pointer

This CL fixes a number of (all true positive) findings of vet's
copylock analyzer patched to treat the Bu{ff,uild}er types
as non-copyable after first use.

This does require imposing an additional indirection
between noder.writer and Encoder since the field is
embedded by value but its constructor now returns a pointer.

Updates golang/go#25907
Updates golang/go#47276

Change-Id: I0b4d77ac12bcecadf06a91709e695365da10766c
Reviewed-on: https://go-review.googlesource.com/c/go/+/635339
Reviewed-by: Robert Findley <rfindley@google.com>
Commit-Queue: Alan Donovan <adonovan@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Auto-Submit: Alan Donovan <adonovan@google.com>
src/bytes/buffer_test.go
src/cmd/compile/internal/noder/linker.go
src/cmd/compile/internal/noder/writer.go
src/compress/flate/inflate_test.go
src/internal/pkgbits/encoder.go
src/runtime/pprof/pprof_test.go