Browse Source

reflect: improve Value.String()

pull/3533/head
Damian Gryski 2 years ago
committed by Damian Gryski
parent
commit
2a821d2a66
  1. 2
      src/reflect/value.go
  2. 7
      src/reflect/value_test.go

2
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 "<T>"
return "<" + v.typecode.String() + " Value>"
}
}

7
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(), "<map[[4]uint16]string Value>"; got != want {
t.Errorf("Value.String()=%v, want %v", got, want)
}
}
func equal[T comparable](a, b []T) bool {

Loading…
Cancel
Save