Jesse Gross 3 місяців тому
батько
коміт
3c95c21ddf
1 змінених файлів з 10 додано та 0 видалено
  1. 10 0
      model/model.go

+ 10 - 0
model/model.go

@@ -152,6 +152,12 @@ func New(s string) (Model, error) {
 }
 
 func populateFields(b ml.Backend, v reflect.Value, tags ...Tag) reflect.Value {
+	var iface bool
+	if v.Kind() == reflect.Interface {
+		iface = true
+		v = v.Elem()
+	}
+
 	t := v.Type()
 	if t.Kind() == reflect.Pointer {
 		t, v = t.Elem(), v.Elem()
@@ -230,6 +236,10 @@ func populateFields(b ml.Backend, v reflect.Value, tags ...Tag) reflect.Value {
 		}
 	}
 
+	if iface {
+		return v.Addr()
+	}
+
 	return v
 }