check for pointer to pointer value

This commit is contained in:
Alexei Melnic 2022-04-20 13:34:19 +03:00
parent 88c26b62ee
commit bd5ea93897

View File

@ -528,6 +528,9 @@ func (field *Field) setupValuerAndSetter() {
reflectValType := reflectV.Type() reflectValType := reflectV.Type()
if reflectValType.AssignableTo(field.FieldType) { if reflectValType.AssignableTo(field.FieldType) {
if reflectV.Kind() == reflect.Pointer && reflectV.Elem().Kind() == reflect.Pointer {
reflectV = reflect.Indirect(reflectV)
}
field.ReflectValueOf(ctx, value).Set(reflectV) field.ReflectValueOf(ctx, value).Set(reflectV)
return return
} else if reflectValType.ConvertibleTo(field.FieldType) { } else if reflectValType.ConvertibleTo(field.FieldType) {