On 2016-12-14 14:26, Dominikus Dittes Scherkl via Digitalmars-d wrote: > 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.
I like that, +1