reflect: deprecate SliceHeader and StringHeader These are replaced by unsafe.String etc, which were added in Go 1.20. Per https://go.dev/wiki/Deprecated, we must wait until Go 1.21 to mark them deprecated. Fixes #56906. Change-Id: I4198c3f3456e9e2031f6c7232842e187e6448892 Reviewed-on: https://go-review.googlesource.com/c/go/+/452762 TryBot-Result: Gopher Robot <gobot@golang.org> Auto-Submit: Russ Cox <rsc@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Reviewed-by: Emmanuel Odeke <emmanuel@orijtech.com> Run-TryBot: Russ Cox <rsc@golang.org>
diff --git a/api/next/56906.txt b/api/next/56906.txt new file mode 100644 index 0000000..aa4424a --- /dev/null +++ b/api/next/56906.txt
@@ -0,0 +1,2 @@ +pkg reflect, type SliceHeader //deprecated #56906 +pkg reflect, type StringHeader //deprecated #56906
diff --git a/src/reflect/value.go b/src/reflect/value.go index 5feca61..22f3eb0 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go
@@ -2743,7 +2743,7 @@ // it references will not be garbage collected, so programs must keep // a separate, correctly typed pointer to the underlying data. // -// In new code, use unsafe.String or unsafe.StringData instead. +// Deprecated: Use unsafe.String or unsafe.StringData instead. type StringHeader struct { Data uintptr Len int @@ -2756,7 +2756,7 @@ // it references will not be garbage collected, so programs must keep // a separate, correctly typed pointer to the underlying data. // -// In new code, use unsafe.Slice or unsafe.SliceData instead. +// Deprecated: Use unsafe.Slice or unsafe.SliceData instead. type SliceHeader struct { Data uintptr Len int