On 21/07/2016 00:00, Alex Buckley wrote:

:

A wrinkle in your scenario is that module B requires module A, so B must be compiled with A present. And, A must be compiled with B present, due to 'exports ... to B'. There's no circularity in the 'requires' clauses, but there is effectively a circularity in the module declarations more broadly. A certain amount of incremental craftsmanship will be necessary to allow this pair of modules to flower.
One other general point is that qualified exports are really for scenarios where modules are tightly coupled. In this case then A and B would be the same project and so no issue with the compiler checking the module name. I realize there is a practical issue in the scenario as they are separate projects. The other thing to mention is that a coterie of modules using qualified exports might be expected to use integrity hashes. This means they will need to come together at some point anyway, build time most likely.

-Alan.

Reply via email to