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 {