wire
wire copied to clipboard
unknown pattern
Struct Providers occurs "unknown pattern", Case:
package domain_service
...
func ProvidePRDomainService() ProcurementRequestDomainService {
return ProcurementRequestDomainService{
}
}
...
package main
...
type ProcurementRequestServiceImpl struct {
prDomainService domain_service.ProcurementRequestDomainService
}
func InitializePRService() ProcurementRequestServiceImpl {
panic(wire.Build(domain_service.ProvidePRDomainService(), wire.Struct(new(ProcurementRequestServiceImpl),"*")))
}
...
with version " github.com/google/wire v0.5.0 "
ask for help~!!
Is there a import cycle in your project? occur "unknown pattern" when having a import cycle like:
import cycle not allowed
package .../cmd/task
imports .../sku/intern/impl
imports .../sku
imports .../sku/task
imports .../sku
wire works fine when I fix the import cycle
panic(wire.Build(domain_service.ProvidePRDomainService(), wire.Struct(new(ProcurementRequestServiceImpl),"*")))
should be
panic(wire.Build(domain_service.ProvidePRDomainService, wire.Struct(new(ProcurementRequestServiceImpl),"*")))
Note domain_service.ProvidePRDomainService should not be invoked, wire.Build expects a provider, not the thing returned by the provider :)
@LFernandoC can you confirm if this fixes things for you?
您的邮件已收到!