I have the following code snippet that does not compile:
func (r *ProviderServer) ListProvider(ctx context.Context, in *emptypb.Empty) (*versioner.ListProvidersResponse, error) {
providers, err := r.store.FindAll()
return &versioner.ListProvidersResponse{Providers: providers}, err
}
the compiler complains:
cannot use providers (type *[]versioner.ProviderResponse) as type []*versioner.ProviderResponse in field value
The ListProviderResponse
is defined as follows:
type ProviderResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
}
type ListProvidersResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Providers []*ProviderResponse `protobuf:"bytes,1,rep,name=providers,proto3" json:"providers,omitempty"`
}
and the r.store.FindAll()
:
type ProviderStore interface {
FindAll() (*[]versioner.ProviderResponse, error)
...
}
What am I doing wrong?