DIP22 : Private symbol visibility

David Nadlinger see at klickverbot.at
Sat Feb 2 05:08:53 PST 2013


On Thursday, 31 January 2013 at 12:10:29 UTC, Jacob Carlborg 
wrote:
> On 2013-01-31 11:11, Dicebot wrote:
>
>> Ugh, how can you split module into two source/object files? 
>> Naive
>> approach will result in linker error due to multiple 
>> definition of
>> ModuleInfo. I did not know it was possible, would have been 
>> really cool
>> to have.
>
> I'm not 100% sure if it's possible, but it's theoretically 
> possible.

How _exactly_ is it even theoretically possible in D? Sciolism 
rarely helps when discussing technical issues.

The hard part regarding separate compilation in D is to determine 
the object file(s) a template instance is emitted to, and the 
visibility of the symbol. But whether a private symbol is 
»leaked« into the public API of a module or not can always be 
determined by just examining the module in question. So, it 
should be doable, even though the current DMD implementation has 
bugs in this regard.

David


More information about the Digitalmars-d-announce mailing list