Effective D book?
Timon Gehr
timon.gehr at gmx.ch
Sat Jun 15 14:34:06 PDT 2013
On 06/15/2013 06:06 PM, Peter Alexander wrote:
> On Saturday, 15 June 2013 at 15:29:23 UTC, Mr. Anonymous wrote:
>> On Saturday, 15 June 2013 at 15:09:55 UTC, Peter Alexander wrote:
>>> On Saturday, 15 June 2013 at 12:20:46 UTC, Timon Gehr wrote:
>>>> One issue with local imports is that they hide local symbols.
>>>
>>> Can you give an example? I can't repro.
>>>
>>> void main()
>>> {
>>> import std.stdio;
>>> void writeln(string) {}
>>> writeln("foo");
>>> std.stdio.writeln("bar");
>>> }
>>>
>>> This writes only "bar".
>>
>> void writeln(string) {}
>> void main()
>> {
>> import std.stdio;
>> writeln("foo");
>> std.stdio.writeln("bar");
>> }
>
> Oh, but that's not a local symbol, that's a module level symbol. The
> import is more local that the module level writeln, so that works as you
> would expect.
>
> It also isn't a problem at all, ...
It sure is, the module system is supposed to provide hijacking protection.
More information about the Digitalmars-d
mailing list