Is anything private by default when declared in a module?

Gary Willoughby dev at nomad.so
Mon Dec 2 13:20:04 PST 2013


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

WAT?++


More information about the Digitalmars-d-learn mailing list