Don wrote:
Vladimir Panteleev wrote:
On Fri, 20 Nov 2009 18:52:09 +0200, Don <[email protected]> wrote:

module first.second.third.fourth;
 which package is this module part of?
Is it 'third', 'second.third', or 'first.second.third'?

Perhaps you meant: 'first', 'first.second', or 'first.second.third'?



The case you mention presents an immediate ambiguity, but it is clarified by the module declaration or on the first import. If 'first.second.foo' imports 'first.second.third.bar' by 'import third.bar', and 'first.second.third.bar' has a module declaration or is imported from somewhere else using a different package "path", the compiler will generate an error ("Error: module X is in multiple packages Y")

How do you define module fourth so that its 'package' functions are accesssable only to modules in first.second.* and not in first.* ?


You don't. The package in this case should be first.second.third and that's that. That's how it works in Java and is sometimes quite useful.

Reply via email to