aboutsummaryrefslogtreecommitdiff
path: root/src/reflect
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2022-11-08 14:07:46 +0100
committerGopher Robot <gobot@golang.org>2022-11-08 18:33:21 +0000
commit26b2c9a62043c40f3cdfd294ad2cea11edeea658 (patch)
tree32acc7bc6b963cb8ed51d66310688c4f7e0631dd /src/reflect
parente5d2814576937162ce183d5aab09616ae13d983c (diff)
downloadgo-26b2c9a62043c40f3cdfd294ad2cea11edeea658.tar.xz
reflect: use unsafe.String in name.name and name.tag
Change-Id: I9f54f1463b0682d0d76cd57e5fef318565883a87 Reviewed-on: https://go-review.googlesource.com/c/go/+/448675 Auto-Submit: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Ian Lance Taylor <iant@google.com> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Michael Knyszek <mknyszek@google.com>
Diffstat (limited to 'src/reflect')
-rw-r--r--src/reflect/type.go17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/reflect/type.go b/src/reflect/type.go
index b06b7ffd9e..01d14567c3 100644
--- a/src/reflect/type.go
+++ b/src/reflect/type.go
@@ -17,7 +17,6 @@ package reflect
import (
"internal/goarch"
- "internal/unsafeheader"
"strconv"
"sync"
"unicode"
@@ -525,27 +524,21 @@ func writeVarint(buf []byte, n int) int {
}
}
-func (n name) name() (s string) {
+func (n name) name() string {
if n.bytes == nil {
- return
+ return ""
}
i, l := n.readVarint(1)
- hdr := (*unsafeheader.String)(unsafe.Pointer(&s))
- hdr.Data = unsafe.Pointer(n.data(1+i, "non-empty string"))
- hdr.Len = l
- return
+ return unsafe.String(n.data(1+i, "non-empty string"), l)
}
-func (n name) tag() (s string) {
+func (n name) tag() string {
if !n.hasTag() {
return ""
}
i, l := n.readVarint(1)
i2, l2 := n.readVarint(1 + i + l)
- hdr := (*unsafeheader.String)(unsafe.Pointer(&s))
- hdr.Data = unsafe.Pointer(n.data(1+i+l+i2, "non-empty string"))
- hdr.Len = l2
- return
+ return unsafe.String(n.data(1+i+l+i2, "non-empty string"), l2)
}
func (n name) pkgPath() string {