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