phobos dependencies

monarch_dodra monarchdodra at gmail.com
Fri Dec 20 12:38:09 PST 2013


On Friday, 20 December 2013 at 19:51:03 UTC, H. S. Teoh wrote:
> On Fri, Dec 20, 2013 at 02:40:22PM -0500, Michel Fortin wrote:
>> On 2013-12-20 19:36:28 +0000, "Meta" <jared771 at gmail.com> said:
>> 
>> >On Friday, 20 December 2013 at 19:34:10 UTC, Patrick Down 
>> >wrote:
>> >>On Friday, 20 December 2013 at 17:40:08 UTC, H. S. Teoh 
>> >>wrote:
>> >>>in the current import path, then implicitly try to import 
>> >>>x.y and
>> >>>lookup z in that module. Then you could just write:
>> >>>
>> >>>	void f(T)(T t) if (std.range.isInputRange!T) ...
>> >>>
>> >>>and the compiler will automatically import std.range within 
>> >>>that
>> >>>scope.
>> >>
>> >>How about:
>> >>
>> >>scope import std.range;
>> >>// lazy import std.range; ?
>> >>
>> >>void f(T)(T t) if (std.range.isInputRange!T) ...
>> >
>> >I think the best keyword to use in this situation would be
>> >stati... Oh, dammit, not again.
>> 
>> Actually, "static import" already exists. And semantically it's
>> pretty much the same thing as the above: you have to use the
>> symbol's full name. But currently the compiler will import 
>> eagerly.
>> I doubt there'd be any breakage if "static" changed to mean 
>> "lazily
>> imported".
> [...]
>
> Hmm. In that case, looks like we already have the solution. :)
>
>
> T

Yes, that's actually quite smart. I like it.
+1.


More information about the Digitalmars-d mailing list