reflect: make sure pointerTo() works for named types

Этот коммит содержится в:
Damian Gryski 2023-03-11 23:00:09 -08:00 коммит произвёл Ron Evans
родитель 876f08979f
коммит 229f479a7d
2 изменённых файлов: 12 добавлений и 0 удалений

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

@ -490,6 +490,10 @@ func PointerTo(t Type) Type {
}
func pointerTo(t *rawType) *rawType {
if t.isNamed() {
return (*elemType)(unsafe.Pointer(t)).ptrTo
}
switch t.Kind() {
case Pointer:
// TODO(dgryski): This is blocking https://github.com/tinygo-org/tinygo/issues/3131

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

@ -275,6 +275,14 @@ func TestNamedTypes(t *testing.T) {
t.Errorf("Type.String(base64.Encoding{})=%v, want %v", got, want)
}
type Repository struct {
RoleName *string `json:"role_name,omitempty"`
}
var repo *Repository
v := ValueOf(&repo).Elem()
n := New(v.Type().Elem())
v.Set(n)
}
func TestStruct(t *testing.T) {