From 2a821d2a66fda7539ed312f2bcf12d61a8496214 Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Tue, 28 Feb 2023 16:28:09 -0800 Subject: [PATCH] reflect: improve Value.String() --- src/reflect/value.go | 2 +- src/reflect/value_test.go | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/reflect/value.go b/src/reflect/value.go index 73646596..770d1831 100644 --- a/src/reflect/value.go +++ b/src/reflect/value.go @@ -381,7 +381,7 @@ func (v Value) String() string { return *(*string)(v.value) default: // Special case because of the special treatment of .String() in Go. - return "" + return "<" + v.typecode.String() + " Value>" } } diff --git a/src/reflect/value_test.go b/src/reflect/value_test.go index 71b42f47..f0c5cd28 100644 --- a/src/reflect/value_test.go +++ b/src/reflect/value_test.go @@ -221,7 +221,9 @@ func TestNamedTypes(t *testing.T) { t.Errorf("TypeOf.Name()=%v, want %v", got, want) } - if got, want := TypeOf(map[[4]uint16]string{}).String(), "map[[4]uint16]string"; got != want { + m := make(map[[4]uint16]string) + + if got, want := TypeOf(m).String(), "map[[4]uint16]string"; got != want { t.Errorf("Type.String()=%v, want %v", got, want) } @@ -238,6 +240,9 @@ func TestNamedTypes(t *testing.T) { t.Errorf("Type.String()=%v, want %v", got, want) } + if got, want := ValueOf(m).String(), ""; got != want { + t.Errorf("Value.String()=%v, want %v", got, want) + } } func equal[T comparable](a, b []T) bool {