reflect: improve Value.String()

This commit is contained in:
Damian Gryski
2023-02-28 16:28:09 -08:00
committed by Damian Gryski
parent 90af41d089
commit 2a821d2a66
2 changed files with 7 additions and 2 deletions
+1 -1
View File
@@ -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>"
}
}
+6 -1
View File
@@ -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 {