aboutsummaryrefslogtreecommitdiff
path: root/src/bytes
diff options
context:
space:
mode:
authorAlan Donovan <adonovan@google.com>2025-05-19 13:05:24 -0400
committerGopher Robot <gobot@golang.org>2025-05-19 10:38:56 -0700
commita74ae952826fd65006a8190c50bbbee4c4869cf9 (patch)
tree0d432209deb07d0da92cd642e53adbb3b1e515d6 /src/bytes
parentbd299852121f997b8bff3c9de244df27427819f3 (diff)
downloadgo-a74ae952826fd65006a8190c50bbbee4c4869cf9.tar.xz
strings,bytes: add internal docs about perennial noCopy questions
Updates #26462 Updates #25907 Updates #47276 Updates #48398 Change-Id: Ic64fc8d0c284f6e5aa383a8d417fa5768dcd7925 Reviewed-on: https://go-review.googlesource.com/c/go/+/674096 Auto-Submit: Alan Donovan <adonovan@google.com> LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/bytes')
-rw-r--r--src/bytes/buffer.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/bytes/buffer.go b/src/bytes/buffer.go
index f90d9eca0f..9684513942 100644
--- a/src/bytes/buffer.go
+++ b/src/bytes/buffer.go
@@ -21,6 +21,12 @@ type Buffer struct {
buf []byte // contents are the bytes buf[off : len(buf)]
off int // read at &buf[off], write at &buf[len(buf)]
lastRead readOp // last read operation, so that Unread* can work correctly.
+
+ // Copying and modifying a non-zero Buffer is prone to error,
+ // but we cannot employ the noCopy trick used by WaitGroup and Mutex,
+ // which causes vet's copylocks checker to report misuse, as vet
+ // cannot reliably distinguish the zero and non-zero cases.
+ // See #26462, #25907, #47276, #48398 for history.
}
// The readOp constants describe the last action performed on