Вот версия, которая работает:
import std.algorithm, std.array, std.range, std.stdio;
void main() {
writefln("%s", __VERSION__);
int i;
auto dg = delegate float(int) { return i++; };
float[] res = array(map!dg(iota(0, 10)));
float[] res2 = new float[10];
fill(res2, map!dg(iota(0, res2.length)));
writefln("meep");
writefln("%s", res);
writefln("%s", res2);
}
[править] Добавлена версия на основе заливки (res2).
Я проверил его в Ideone (http://www.ideone.com/DFK5A), но он зависает .. друг с текущей версией DMD говорит, что он работает, хотя, так что я предполагаю, что DMD Ideone просто устарела примерно на десять до двадцати версий.