Skip to content

Commit 26b2c9a

Browse files
tklausergopherbot
authored andcommitted
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 <[email protected]> Run-TryBot: Tobias Klauser <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> TryBot-Result: Gopher Robot <[email protected]> Reviewed-by: Michael Knyszek <[email protected]>
1 parent e5d2814 commit 26b2c9a

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

src/reflect/type.go

+5-12
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ package reflect
1717

1818
import (
1919
"internal/goarch"
20-
"internal/unsafeheader"
2120
"strconv"
2221
"sync"
2322
"unicode"
@@ -525,27 +524,21 @@ func writeVarint(buf []byte, n int) int {
525524
}
526525
}
527526

528-
func (n name) name() (s string) {
527+
func (n name) name() string {
529528
if n.bytes == nil {
530-
return
529+
return ""
531530
}
532531
i, l := n.readVarint(1)
533-
hdr := (*unsafeheader.String)(unsafe.Pointer(&s))
534-
hdr.Data = unsafe.Pointer(n.data(1+i, "non-empty string"))
535-
hdr.Len = l
536-
return
532+
return unsafe.String(n.data(1+i, "non-empty string"), l)
537533
}
538534

539-
func (n name) tag() (s string) {
535+
func (n name) tag() string {
540536
if !n.hasTag() {
541537
return ""
542538
}
543539
i, l := n.readVarint(1)
544540
i2, l2 := n.readVarint(1 + i + l)
545-
hdr := (*unsafeheader.String)(unsafe.Pointer(&s))
546-
hdr.Data = unsafe.Pointer(n.data(1+i+l+i2, "non-empty string"))
547-
hdr.Len = l2
548-
return
541+
return unsafe.String(n.data(1+i+l+i2, "non-empty string"), l2)
549542
}
550543

551544
func (n name) pkgPath() string {

0 commit comments

Comments
 (0)