reflect: make sure pointerTo() works for named types
Этот коммит содержится в:
родитель
876f08979f
коммит
229f479a7d
2 изменённых файлов: 12 добавлений и 0 удалений
|
@ -490,6 +490,10 @@ func PointerTo(t Type) Type {
|
||||||
}
|
}
|
||||||
|
|
||||||
func pointerTo(t *rawType) *rawType {
|
func pointerTo(t *rawType) *rawType {
|
||||||
|
if t.isNamed() {
|
||||||
|
return (*elemType)(unsafe.Pointer(t)).ptrTo
|
||||||
|
}
|
||||||
|
|
||||||
switch t.Kind() {
|
switch t.Kind() {
|
||||||
case Pointer:
|
case Pointer:
|
||||||
// TODO(dgryski): This is blocking https://github.com/tinygo-org/tinygo/issues/3131
|
// 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)
|
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) {
|
func TestStruct(t *testing.T) {
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче