fix: 🐛 numeric types in pointer embedded struct test failed (#6293)
This commit is contained in:
parent
aeb298635b
commit
67642abfff
@ -604,6 +604,22 @@ func (field *Field) setupValuerAndSetter() {
|
|||||||
if data != nil && *data != nil {
|
if data != nil && *data != nil {
|
||||||
field.ReflectValueOf(ctx, value).SetInt(**data)
|
field.ReflectValueOf(ctx, value).SetInt(**data)
|
||||||
}
|
}
|
||||||
|
case **int:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetInt(int64(**data))
|
||||||
|
}
|
||||||
|
case **int8:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetInt(int64(**data))
|
||||||
|
}
|
||||||
|
case **int16:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetInt(int64(**data))
|
||||||
|
}
|
||||||
|
case **int32:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetInt(int64(**data))
|
||||||
|
}
|
||||||
case int64:
|
case int64:
|
||||||
field.ReflectValueOf(ctx, value).SetInt(data)
|
field.ReflectValueOf(ctx, value).SetInt(data)
|
||||||
case int:
|
case int:
|
||||||
@ -668,6 +684,22 @@ func (field *Field) setupValuerAndSetter() {
|
|||||||
if data != nil && *data != nil {
|
if data != nil && *data != nil {
|
||||||
field.ReflectValueOf(ctx, value).SetUint(**data)
|
field.ReflectValueOf(ctx, value).SetUint(**data)
|
||||||
}
|
}
|
||||||
|
case **uint:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetUint(uint64(**data))
|
||||||
|
}
|
||||||
|
case **uint8:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetUint(uint64(**data))
|
||||||
|
}
|
||||||
|
case **uint16:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetUint(uint64(**data))
|
||||||
|
}
|
||||||
|
case **uint32:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetUint(uint64(**data))
|
||||||
|
}
|
||||||
case uint64:
|
case uint64:
|
||||||
field.ReflectValueOf(ctx, value).SetUint(data)
|
field.ReflectValueOf(ctx, value).SetUint(data)
|
||||||
case uint:
|
case uint:
|
||||||
@ -720,6 +752,10 @@ func (field *Field) setupValuerAndSetter() {
|
|||||||
if data != nil && *data != nil {
|
if data != nil && *data != nil {
|
||||||
field.ReflectValueOf(ctx, value).SetFloat(**data)
|
field.ReflectValueOf(ctx, value).SetFloat(**data)
|
||||||
}
|
}
|
||||||
|
case **float32:
|
||||||
|
if data != nil && *data != nil {
|
||||||
|
field.ReflectValueOf(ctx, value).SetFloat(float64(**data))
|
||||||
|
}
|
||||||
case float64:
|
case float64:
|
||||||
field.ReflectValueOf(ctx, value).SetFloat(data)
|
field.ReflectValueOf(ctx, value).SetFloat(data)
|
||||||
case float32:
|
case float32:
|
||||||
|
@ -107,6 +107,7 @@ func TestEmbeddedPointerTypeStruct(t *testing.T) {
|
|||||||
ID string
|
ID string
|
||||||
Name string
|
Name string
|
||||||
Email string
|
Email string
|
||||||
|
Age int
|
||||||
}
|
}
|
||||||
|
|
||||||
type HNPost struct {
|
type HNPost struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user