On Monday, 2 December 2013 at 21:30:08 UTC, Namespace wrote:
On Monday, 2 December 2013 at 21:10:44 UTC, H. S. Teoh wrote:
On Mon, Dec 02, 2013 at 09:53:09PM +0100, Namespace wrote:
On Monday, 2 December 2013 at 20:46:58 UTC, Adam D. Ruppe wrote: >On Monday, 2 December 2013 at 20:43:23 UTC, Gary Willoughby >wrote:
>>Is anything private by default when declared in a module?
>
>I believe imports only. "import foo;" is private, so you >write >"public import foo;" to expose outside. But other than that, >I'm
>pretty sure everything is public unless you say otherwise.

But sadly named imports aren't private...

/// module foo
private import std.stdio: writeln;

writeln can be used in any module which imports foo. :/

WAT?

That's messed up. Is there a bug for that?


T
I mean yes, but I find nothing.

Short example:

io.d
----
private import std.stdio : writeln;
----

io_use.d
----
import io;

void main() {
        writeln("Hello");
}
----

I have found it
https://github.com/D-Programming-Language/dmd/pull/2256

Reply via email to