aboutsummaryrefslogtreecommitdiff
path: root/src/sync
diff options
context:
space:
mode:
authorMateusz Poliwczak <mpoliwczak34@gmail.com>2022-11-07 14:54:52 +0000
committerMichael Knyszek <mknyszek@google.com>2022-11-07 21:25:12 +0000
commit6bead8f77afd2f7317eb011ca019b61ac3d90c17 (patch)
treeef165d78fca81e608ec9151918ac7e1e0f7032f1 /src/sync
parentf3d656be502a7cc4e2afbec461983b453665fca5 (diff)
downloadgo-6bead8f77afd2f7317eb011ca019b61ac3d90c17.tar.gz
go-6bead8f77afd2f7317eb011ca019b61ac3d90c17.zip
sync/atomic: disallow type conversions of atomic.Pointer[T]
Fixes #56603 Change-Id: I6af9d80201025ae4028bfaa4a62e5de9ac0c501d GitHub-Last-Rev: e6ed5e14512e1221a3c6cb181406cf00eec07e99 GitHub-Pull-Request: golang/go#56604 Reviewed-on: https://go-review.googlesource.com/c/go/+/448275 Reviewed-by: Michael Knyszek <mknyszek@google.com> Run-TryBot: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/sync')
-rw-r--r--src/sync/atomic/type.go4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/sync/atomic/type.go b/src/sync/atomic/type.go
index 87c98b1e77..4d466232f1 100644
--- a/src/sync/atomic/type.go
+++ b/src/sync/atomic/type.go
@@ -41,6 +41,10 @@ var _ = &Pointer[int]{}
// A Pointer is an atomic pointer of type *T. The zero value is a nil *T.
type Pointer[T any] struct {
+ // Mention T in a field to disallow conversion between Pointer types.
+ // See go.dev/issue/56603 for more details.
+ _ [0]T
+
_ noCopy
v unsafe.Pointer
}