Problem with coupling shared object symbol visibility with protection

Dicebot via Digitalmars-d digitalmars-d at puremagic.com
Fri Jan 30 21:11:33 PST 2015


On Friday, 30 January 2015 at 19:10:06 UTC, Martin Nowak wrote:
> On Tuesday, 20 January 2015 at 12:23:32 UTC, Benjamin Thaut 
> wrote:
>> 2) Make export an attribute. If export is no longer an 
>> protection level but instead an attribute this issue can 
>> easily be solved by doing.
>>
>> export public void templateFunc(T)()
>> {
>>  someHelperFunc();
>> }
>>
>> export private void someHelperFunc()
>> {
>>
>> }
>
> Clearly the better solution.
> Export and protection have something in common but are not 
> identical.

It has a serious drawback of increasing attribute noise even more 
though. First approach allows for more automatic inference.

But with D restrictions it seems the least bad option.


More information about the Digitalmars-d mailing list