DIP10005: Dependency-Carrying Declarations is now available for community feedback

Dominikus Dittes Scherkl via Digitalmars-d digitalmars-d at puremagic.com
Wed Dec 14 05:26:58 PST 2016


On Tuesday, 13 December 2016 at 22:33:24 UTC, Andrei Alexandrescu 
wrote:
> Destroy.
>
> https://github.com/dlang/DIPs/pull/51/files

Why not leave it as it is and only change the compiler to
perform inputs _within_ a function before evaluating the 
declaration, so that the symbols imported can be used in the 
declaration?

e.g.

fun(Range x) if(isInputRange!x)
{
    import std.range;
    auto a = x.front();
}

this is especially more clean if a function needs several imports 
and maybe some of them in the declaration but not all of them. 
This would otherwise split the imports to two different points, 
some within the (already much too long) declaration and some 
within the function. I consider this ugly.


More information about the Digitalmars-d mailing list