Another instance of helper slices in eager code
- Another instance of helper slice types seeping in. Convert the slice when it's found as part of a singular's R struct. - Fix #158
This commit is contained in:
parent
2168a70c4f
commit
9107c9dea1
1 changed files with 9 additions and 2 deletions
|
@ -206,9 +206,16 @@ func (l loadRelationshipState) loadRelationshipsRecurse(depth int, obj reflect.V
|
|||
}
|
||||
|
||||
bkind := kindStruct
|
||||
if reflect.Indirect(loadedObject).Kind() != reflect.Struct {
|
||||
if derefed := reflect.Indirect(loadedObject); derefed.Kind() != reflect.Struct {
|
||||
bkind = kindPtrSliceStruct
|
||||
loadedObject = loadedObject.Addr()
|
||||
|
||||
// Convert away any helper slice types
|
||||
// elemType is *elem (from []*elem or helperSliceType)
|
||||
// sliceType is *[]*elem
|
||||
elemType := derefed.Type().Elem()
|
||||
sliceType := reflect.PtrTo(reflect.SliceOf(elemType))
|
||||
|
||||
loadedObject = loadedObject.Addr().Convert(sliceType)
|
||||
}
|
||||
return l.loadRelationships(depth+1, loadedObject.Interface(), bkind)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue