reflect: improve Value.String()

Этот коммит содержится в:
Damian Gryski 2023-02-28 16:28:09 -08:00 коммит произвёл Damian Gryski
родитель 90af41d089
коммит 2a821d2a66
2 изменённых файлов: 7 добавлений и 2 удалений

Просмотреть файл

@ -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>"
}
}

Просмотреть файл

@ -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 {