On Mon, 28 Nov 2011 11:01:31 +0200, Maxim Fomin <[email protected]> wrote:

It is true and makes sense until D will stop claiming .di files are
interface files.
I also was curious how should i replace C library style with .h and .c files.
In D, when compiler generate "interface" it effectively dumps
implementation in .di file.
I see no difference (except braces and indentation) between generated
.di code and manually written .d code.

I admit i didn't use auto-generated .di files much. (not sure if i used ever)
Now thinking about it, it is obvious why auto-generation part of it exist.
Because D can afford such a luxury, quite possibly everyone already knows by now.
For i am the bravest of all, i shall state the obvious!

Now when you write a .d file, if you don't want others access it, you would label it private: If you want module access, label it package, otherwise public. Then compiler can pick those that is required to expose.

For a C/C++ header file you can't auto-generate something like that because you don't know the library writers intentions.

Reply via email to