if !(rc.goType.Kind() == reflect.Struct ||
(rc.goType.Kind() == reflect.Pointer && rc.goType.Elem().Kind() == reflect.Struct)) {
return fmt.Errorf("component type %s must be struct or pointer to struct", rc.goType.String())
registry.go
}
if _, ok := r.rcByGoType[rc.goType]; ok {
return fmt.Errorf("component type %s is already registered", rc.goType.String())