On Thursday, 18 July 2013 at 10:55:39 UTC, Dicebot wrote:
On Wednesday, 17 July 2013 at 11:33:39 UTC, Jeremy DeHaan wrote:
So I was reading this: http://wiki.dlang.org/Access_specifiers_and_visibility
...

How will it be any different from

module foo.barstuff;

package:

// declarations

This is how I handle this situation currently, and was actually part of the inspiration for this idea. Like Tommi said, it makes a very clear distinction between what the user should and shouldn't be able to interact with.

A regular module can still be imported, even though everything it would contain has package visibility. Trying to import a package module and getting an error because of it is like having the compiler say, "There's nothing in here for you!"

Also, having a way to specify that a module isn't publicly visible could be used for code completion features in IDE's. If foo.barstuff is a package module, typing "import foo." would show "foo.bar" as the onlyoption for modules they can import.

Reply via email to