> On 24 Apr 2023, at 10:31, Rob Bygrave <robin.bygr...@gmail.com> wrote: > > > uses x.Plugin > > No it won't. > > The uses x.Plugin is in x. So the application does not have the uses clause. > > Hence the problem hete that it does not 'just work'. >
I’m confused. To use the implementation of the `x.Plugin` service (defined in X) that you want Y to `provides` an implementation of, some module *must* have a `uses x.Plugin`. The runtime has to know that that service is needed by the program. Maybe the application `uses` it, but X itself could also declare that it `uses` an implementation of a service interface that it, itself, declares. So perhaps it is X that `uses X.plugin`, but someone has to actually say they want to use the service. — Ron