On 13/01/2017 12:48, Sander Mak wrote:

:
Alternatively, you can view optional dependency usage more like 'if the 
application already uses A, then Lib should also use A as well' in which case 
your suggested setup and the current implementation make total sense. This does 
make the example I described above a bit awkward, but I don't have any data on 
which use case is more prevalent.

For Stephen's example then it would be better to steer people to using services and avoid the reflection guard that Lib would need to cope with A not being resolved.

`requires static A` does have its usages of courses, the main one is where `module A` only exports packages containing annotations and where those annotations may not be present at run time.

-Alan.

Reply via email to