phobos dependencies

Walter Bright newshound2 at digitalmars.com
Sun Jan 5 22:31:56 PST 2014


On 1/5/2014 9:22 PM, Andrei Alexandrescu wrote:
> On 1/5/14 8:44 PM, Kenji Hara wrote:
>> Honestly, "lazy import" (== defer loading module file and running
>> semantic analysis for symbol search) would improve compilation speed for
>> selective imports and static imports, but it would have no merit for
>> basic imports.
>>
>> So precisely, "all imports lazy would be a net large win." is not correct.
>
> Consider:
>
> import std.stdio;
> void main() { writeln("Hello, world!"); }
>
> Currently std.stdio and all modules transitively imported by it would be opened.
>
> With lazy imports, std.stdio gets opened and then writeln() gets semantically
> analyzed. Only modules required by writeln() itself will actually be opened. Big
> difference.

import bar;
import foo;

Importing foo can never be done lazily if there are unqualified references to 
symbols in bar.



More information about the Digitalmars-d mailing list