mirror of https://github.com/golang/go.git
reflect: deprecate SliceHeader and StringHeader
As discussed in CL 401434 there are substantial misuses of these in the wild, and they are a potential source of unsafety even for code that does not use them directly. Since proposal #53003 has already been implemented, now is the right time to deprecate reflect.{SliceHeader, StringHeader}. For #53003. Change-Id: I724cf46d4b22d2ed3cbf2b948e6aac5ee4bf0f6e Reviewed-on: https://go-review.googlesource.com/c/go/+/428757 Run-TryBot: hopehook <hopehook@golangcn.org> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Ian Lance Taylor <iant@google.com> Auto-Submit: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
parent
76c94eb706
commit
d734203e39
|
|
@ -2742,6 +2742,8 @@ func (v Value) UnsafePointer() unsafe.Pointer {
|
||||||
// Moreover, the Data field is not sufficient to guarantee the data
|
// Moreover, the Data field is not sufficient to guarantee the data
|
||||||
// it references will not be garbage collected, so programs must keep
|
// it references will not be garbage collected, so programs must keep
|
||||||
// a separate, correctly typed pointer to the underlying data.
|
// a separate, correctly typed pointer to the underlying data.
|
||||||
|
//
|
||||||
|
// Deprecated: Use unsafe.String or unsafe.StringData instead.
|
||||||
type StringHeader struct {
|
type StringHeader struct {
|
||||||
Data uintptr
|
Data uintptr
|
||||||
Len int
|
Len int
|
||||||
|
|
@ -2753,6 +2755,8 @@ type StringHeader struct {
|
||||||
// Moreover, the Data field is not sufficient to guarantee the data
|
// Moreover, the Data field is not sufficient to guarantee the data
|
||||||
// it references will not be garbage collected, so programs must keep
|
// it references will not be garbage collected, so programs must keep
|
||||||
// a separate, correctly typed pointer to the underlying data.
|
// a separate, correctly typed pointer to the underlying data.
|
||||||
|
//
|
||||||
|
// Deprecated: Use unsafe.Slice or unsafe.SliceData instead.
|
||||||
type SliceHeader struct {
|
type SliceHeader struct {
|
||||||
Data uintptr
|
Data uintptr
|
||||||
Len int
|
Len int
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue