For reducing a D Interface file dependency when generating it with the -H
flag for DMD, you can't import a module on the top level.
Take a look at that example:
module a;
import std.stdio;
void printSomething(string a)
{
writeln(a);
}
If you generate the .di interface file while using dmd, it will pretty much generate:
module a;
import std.stdio;
void printSomething(string a);
Using the import inside the function scope, it will make the work easier for dmd:
module a;
void printSomething(string a)
{
import std.stdio;
writeln(a);
}
Will actually generate only:
module a;
void printSomething(string a);
This will greatly reduce the number of import and dependencies you need if you ever need to distribute a library.