Updated DIP22 - Private symbol visibility

Timon Gehr timon.gehr at gmx.ch
Sat Dec 21 15:05:33 PST 2013


On 12/21/2013 11:56 PM, Martin Nowak wrote:
> On 12/21/2013 11:17 PM, Timon Gehr wrote:
>> ...
>>
>> I see. Then how are you going to handle the following:
>>
>> module a;
>>
>> private auto foo(int x){ }
>> auto foo(double x){ }
>>
>> auto call(alias a){ a(0); }
>>
>> void x(){
>>      call!foo(); // ok
>> }
> This will work.
>
>> module b;
>> import a;
>>
>> void y(){
>>      call!foo(); // _same_ symbol as in module 'a'.
>> }
> This would say, Error: overload auto a.foo(int) is not accessible from
> module b.

How is this going to work? Are you arguing for creating multiple 
instances of 'call'?


More information about the Digitalmars-d mailing list