Problem with coupling shared object symbol visibility with protection

Benjamin Thaut via Digitalmars-d digitalmars-d at puremagic.com
Sat Jan 31 11:52:27 PST 2015


Am 31.01.2015 um 13:07 schrieb Martin Nowak:
>
> That's probably how it should behave, though an attribute applying only
> to public members unless explicitly added is unprecedented. Still seems
> like the right choice here, but might require some additional compiler
> logic.

Well you don't have to implement it that way with in the compiler. The 
only thing that matters is, that the users sees this transitive behavior 
of export. It is not neccessary that the attribute actually gets applied 
recursivly within the compiler implementation. Only the export behavior 
needs to be implemented recursivly and I already did a implementation 
for that. It currently works for the export protection level and would 
be trivial to adapt for a export attribute. It would also not require 
any additional logic for applying attributes recursivly under certain 
conditions.

@Walter:
Making export a attribute seems to be the preferred choice in this 
discussion. Additionaly this was the result of the last discussion 
around export, a year ago, although for different reasons. The last 
Discussion resulted in DIP 45 which also proposes making export an 
attribute. Before I start with the implementation, would you be ok with 
making export an attribute or would you veto it?

Kind Regards
Benjamin Thaut


More information about the Digitalmars-d mailing list