in internal/objectstore/objectstore.go [211:223]
func canonicalValue(value reflect.Value) (reflect.Value, error) {
if value.Kind() == reflect.Ptr && value.Elem().Kind() == reflect.Struct {
return value, nil
}
// If this is a pointer to something, de-references it.
result := reflect.ValueOf(reflect.Indirect(value).Interface())
if result.Kind() != reflect.Ptr {
return reflect.Value{}, fmt.Errorf("illegal argument: %v is not a pointer", result.String())
}
return result, nil
}