diff options
author | Mateusz Poliwczak <mpoliwczak34@gmail.com> | 2022-11-07 14:54:52 +0000 |
---|---|---|
committer | Michael Knyszek <mknyszek@google.com> | 2022-11-11 20:45:57 +0000 |
commit | 0dfdf3262deabc735ad979dc5c3d45e62a160dab (patch) | |
tree | aee905d63699a1ca97fe7ba08615dc9886625a36 | |
parent | ec6510887c2ce7571c78ae497ccf9ad334fa3145 (diff) | |
download | go-0dfdf3262deabc735ad979dc5c3d45e62a160dab.tar.gz go-0dfdf3262deabc735ad979dc5c3d45e62a160dab.zip |
[release-branch.go1.19] sync/atomic: disallow type conversions of atomic.Pointer[T]
For #56603.
Fixes #56638.
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>
(cherry picked from commit 6bead8f77afd2f7317eb011ca019b61ac3d90c17)
Reviewed-on: https://go-review.googlesource.com/c/go/+/448518
Run-TryBot: Michael Knyszek <mknyszek@google.com>
-rw-r--r-- | src/sync/atomic/type.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/sync/atomic/type.go b/src/sync/atomic/type.go index f7b8f5a3b7..2d1e621652 100644 --- a/src/sync/atomic/type.go +++ b/src/sync/atomic/type.go @@ -37,6 +37,10 @@ func b32(b bool) uint32 { // 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 } |