From 4b64c53c034b3a99a8a5dc3e8081342e77048561 Mon Sep 17 00:00:00 2001 From: David Crawshaw Date: Fri, 3 Jun 2016 11:27:33 -0400 Subject: [PATCH] reflect: clear tflag for StructOf type Fixes #15923 Change-Id: I3e56564365086ceb0bfc15db61db6fb446ab7448 Reviewed-on: https://go-review.googlesource.com/23760 Reviewed-by: Sebastien Binet Reviewed-by: Ian Lance Taylor Run-TryBot: Ian Lance Taylor TryBot-Result: Gobot Gobot --- src/reflect/all_test.go | 4 ++++ src/reflect/type.go | 1 + 2 files changed, 5 insertions(+) diff --git a/src/reflect/all_test.go b/src/reflect/all_test.go index f7cf46daec..97086b1852 100644 --- a/src/reflect/all_test.go +++ b/src/reflect/all_test.go @@ -3934,6 +3934,10 @@ func TestStructOf(t *testing.T) { if s != want { t.Errorf("constructed struct = %s, want %s", s, want) } + const stStr = `struct { S string "s"; X uint8 "x"; Y uint64; Z [3]uint16 }` + if got, want := st.String(), stStr; got != want { + t.Errorf("StructOf(fields).String()=%q, want %q", got, want) + } // check the size, alignment and field offsets stt := TypeOf(struct { diff --git a/src/reflect/type.go b/src/reflect/type.go index c9e14707fa..b70887fbba 100644 --- a/src/reflect/type.go +++ b/src/reflect/type.go @@ -2640,6 +2640,7 @@ func StructOf(fields []StructField) Type { } typ.str = resolveReflectName(newName(str, "", "", false)) + typ.tflag = 0 typ.hash = hash typ.size = size typ.align = typalign -- 2.50.0