From: Keith Randall Date: Tue, 26 Mar 2019 03:29:18 +0000 (-0700) Subject: reflect: initialize ptrdata earlier in StructOf X-Git-Tag: go1.13beta1~900 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=b7b7b4d6d4304758c15de940c36ab7d063249ef2;p=gostls13.git reflect: initialize ptrdata earlier in StructOf It needs to be set before addTypeBits is called. Fixes #31043 Change-Id: I692b4047dc17bd68202d45da41dd55d432383e59 Reviewed-on: https://go-review.googlesource.com/c/go/+/169318 Run-TryBot: Keith Randall TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- diff --git a/src/reflect/type.go b/src/reflect/type.go index 10509ac418..83e59014ed 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -2639,6 +2639,7 @@ func StructOf(fields []StructField) Type { typ.tflag = 0 typ.hash = hash typ.size = size + typ.ptrdata = typeptrdata(typ.common()) typ.align = typalign typ.fieldAlign = typalign typ.ptrToThis = 0 @@ -2709,7 +2710,6 @@ func StructOf(fields []StructField) Type { typ.gcdata = &bv.data[0] } } - typ.ptrdata = typeptrdata(typ.common()) typ.alg = new(typeAlg) if hashable { typ.alg.hash = func(p unsafe.Pointer, seed uintptr) uintptr {