How can I hide implementation details when make a library

Jacob Carlborg doob at me.com
Tue Sep 25 07:24:00 PDT 2012


On 2012-09-25 13:58, Daniel Kozak wrote:
> Yes, it works. Thanks a lot.
>
> However I still dont get it, why dmd generates all sources instead of
> just public symbols and functions declarations

The source code is included to be able to inline the functions. It's 
probably has something to do with the metaprogramming features in D, 
like, static-if, string and template mixin, auto and several other 
features. There has been some discussion about this in the newsgroup 
which you should be able to find.

One problem in particular is with "auto". For some reason the compiler 
won't do a full semantic analyze when generating import files, resulting 
it cannot resolve "auto". You also need to have the source code of a 
function to resolve return types declared as "auto".

-- 
/Jacob Carlborg


More information about the Digitalmars-d-learn mailing list