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.